LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lar::util::details Namespace Reference

LArSoft utility implementation details. More...

Classes

class  DataTracker
 Class tracking sums of variables up to a specified power. More...
 
class  DataTracker2
 Class tracking sums of variables up to power 2. More...
 
class  DataTracker3
 Class tracking sums of variables up to power 2. More...
 
struct  dereference_class
 Functor returning the dereferenced value of the argument. More...
 
struct  dereference_class< T, true >
 
struct  dereferenced_type
 Class holding the type dereferenced from an object of type T. More...
 
struct  dereferenced_type< T, true >
 
struct  DeterminantHelper
 
struct  DeterminantHelper< T, N, R, C >
 Determinant of a 1x1 submatrix. More...
 
struct  DeterminantHelper< T, N, R1, R2, C1, C2 >
 Determinant of a 2x2 submatrix. More...
 
struct  DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >
 Determinant of a 3x3 submatrix. More...
 
struct  DeterminantHelper< T, N, R1, R2, R3, R4, C1, C2, C3, C4 >
 Determinant of a 4x4 submatrix. More...
 
struct  DeterminantHelperBase
 
struct  FastMatrixOperations
 Provides "fast" matrix operations. More...
 
struct  FastMatrixOperations< T, 2 >
 Routines for 2x2 matrices. More...
 
struct  FastMatrixOperations< T, 3 >
 Routines for 3x3 matrices. More...
 
struct  FastMatrixOperations< T, 4 >
 Routines for 4x4 matrices. More...
 
struct  FastMatrixOperationsBase
 Base class with common definitions for "fast" matrix operations. More...
 
class  FindAllP
 Query object reading all the associations between two classes. More...
 
class  FitDataCollector
 Class providing data collection for the simple polynomial fitters. More...
 
struct  has_dereference_class
 Class defining whether the specified type can be dereferenced. More...
 
struct  has_dereference_class< T, typename std::enable_if< is_type< decltype(*(T()))>::value, void >::type >
 
struct  hash
 Hash functions for art and larsoft objects. More...
 
struct  is_type
 Class compiling only if type T exists (then, it's std::true_type) More...
 
struct  make_pointer_class
 Functor returning the pointer to a value in the argument. More...
 
struct  make_pointer_class< T, true >
 
struct  node_of
 
struct  node_of< art::Assns< L, R, D > >
 
struct  node_of< art::Assns< L, R, void > >
 
class  SimpleFitterInterface
 Simple fitter abstract interface. More...
 
class  SimplePolyFitterBase
 Base class providing virtual fitting interface for polynomial fitters. More...
 
class  SimplePolyFitterDataBase
 Base class providing data collection for the simple polynomial fitters. More...
 
class  UniqueAssociationCache
 A class holding many associations between objects. More...
 
class  WeightTracker
 

Typedefs

template<typename T >
using isAssnMetadata = ::util::is_not_same< T, void >
 
template<typename Assns >
using node_of_t = typename node_of< Assns >::type
 

Functions

template<typename T >
void ResizeToPower2 (std::vector< T > &v, size_t min_size)
 Resizes a vector to a size power of 2, with a minimum size. More...
 
template<unsigned int NCols>
constexpr size_t MatrixIndex (unsigned int row, unsigned int col)
 
template<typename T , unsigned int D>
std::ostream & operator<< (std::ostream &out, FitDataCollector< T, D > const &stats)
 

Detailed Description

LArSoft utility implementation details.

Implementation of utility details.

Typedef Documentation

template<typename T >
using lar::util::details::isAssnMetadata = typedef ::util::is_not_same<T, void>

Definition at line 120 of file AssnsTraits.h.

template<typename Assns >
using lar::util::details::node_of_t = typedef typename node_of<Assns>::type

Definition at line 126 of file AssnsTraits.h.

Function Documentation

template<unsigned int NCols>
constexpr size_t lar::util::details::MatrixIndex ( unsigned int  row,
unsigned int  col 
)

Definition at line 125 of file FastMatrixMathHelper.h.

References col.

126  {
127  return row * NCols + col;
128  }
Int_t col[ntarg]
Definition: Style.C:29
template<typename T , unsigned int D>
std::ostream& lar::util::details::operator<< ( std::ostream &  out,
FitDataCollector< T, D > const &  stats 
)
inline

Definition at line 334 of file SimpleFits.h.

335  {
336  stats.Print(out);
337  return out;
338  }
template<typename T >
void lar::util::details::ResizeToPower2 ( std::vector< T > &  v,
size_t  min_size 
)

Resizes a vector to a size power of 2, with a minimum size.


Parameters
vthe vector to be resized
min_sizethe minimal size of the vector

The vector v is resized, any new element is default-initialized. The target size is the smallest power of 2 not smaller than min_size, or 0 if min_size is 0.

Definition at line 361 of file FindAllP.h.

Referenced by lar::util::details::FindAllP< Source, Dest >::Merge().

362  {
363  if (min_size == 0) {
364  v.clear();
365  return;
366  }
367  size_t new_size = 1;
368  while (new_size < min_size)
369  new_size *= 2;
370 
371  v.resize(new_size);
372  } // ResizeToPower2()