All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions
lar::util::details Namespace Reference

LArSoft utility implementation details. More...

Classes

struct  hash
 Hash functions for art and larsoft objects. More...
 
class  UniqueAssociationCache
 A class holding many associations between objects. More...
 
class  FindAllP
 Query object reading all the associations between two classes. More...
 
struct  node_of
 
struct  node_of< art::Assns< L, R, D > >
 
struct  node_of< art::Assns< L, R, void > >
 
struct  is_type
 Class compiling only if type T exists (then, it's std::true_type) 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  dereferenced_type
 Class holding the type dereferenced from an object of type T. More...
 
struct  dereferenced_type< T, true >
 
struct  dereference_class
 Functor returning the dereferenced value of the argument. More...
 
struct  dereference_class< T, true >
 
struct  make_pointer_class
 Functor returning the pointer to a value in the argument. More...
 
struct  make_pointer_class< T, true >
 
struct  FastMatrixOperationsBase
 Base class with common definitions for "fast" matrix operations. More...
 
struct  FastMatrixOperations
 Provides "fast" matrix operations. More...
 
struct  DeterminantHelperBase
 
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  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...
 
class  FitDataCollector
 Class providing data collection for the simple polynomial fitters. More...
 
class  SimplePolyFitterDataBase
 Base class providing data collection for the simple polynomial fitters. More...
 
class  SimpleFitterInterface
 Simple fitter abstract interface. More...
 
class  SimplePolyFitterBase
 Base class providing virtual fitting interface for polynomial fitters. More...
 
class  WeightTracker
 
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...
 

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 127 of file AssnsTraits.h.

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

Definition at line 134 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 127 of file FastMatrixMathHelper.h.

128  { return row * NCols + col; }
template<typename T , unsigned int D>
std::ostream& lar::util::details::operator<< ( std::ostream &  out,
FitDataCollector< T, D > const &  stats 
)
inline

Definition at line 338 of file SimpleFits.h.

339  { stats.Print(out); return out; }
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 394 of file FindAllP.h.

394  {
395  if (min_size == 0) {
396  v.clear();
397  return;
398  }
399  size_t new_size = 1;
400  while (new_size < min_size) new_size *= 2;
401 
402  v.resize(new_size);
403  } // ResizeToPower2()