LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
FastMatrixMathHelper.h File Reference

Classes with hard-coded (hence "fast") matrix math. More...

#include <cmath>
#include <tuple>
#include <array>
#include <iterator>
#include <algorithm>
#include <stdexcept>
#include "StatCollector.h"

Go to the source code of this file.

Classes

struct  lar::util::details::FastMatrixOperationsBase< T, DIM >
 Base class with common definitions for "fast" matrix operations. More...
 
struct  lar::util::details::FastMatrixOperations< T, DIM >
 Provides "fast" matrix operations. More...
 
struct  lar::util::details::DeterminantHelperBase< N >
 
struct  lar::util::details::DeterminantHelper< T, N, RnC >
 
struct  lar::util::details::DeterminantHelper< T, N, R, C >
 Determinant of a 1x1 submatrix. More...
 
struct  lar::util::details::DeterminantHelper< T, N, R1, R2, C1, C2 >
 Determinant of a 2x2 submatrix. More...
 
struct  lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >
 Determinant of a 3x3 submatrix. More...
 
struct  lar::util::details::DeterminantHelper< T, N, R1, R2, R3, R4, C1, C2, C3, C4 >
 Determinant of a 4x4 submatrix. More...
 
struct  lar::util::details::FastMatrixOperations< T, 2 >
 Routines for 2x2 matrices. More...
 
struct  lar::util::details::FastMatrixOperations< T, 3 >
 Routines for 3x3 matrices. More...
 
struct  lar::util::details::FastMatrixOperations< T, 4 >
 Routines for 4x4 matrices. More...
 

Namespaces

 lar
 LArSoft-specific namespace.
 
 lar::util
 LArSoft utility namespace.
 
 lar::util::details
 LArSoft utility implementation details.
 

Functions

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

Detailed Description

Classes with hard-coded (hence "fast") matrix math.

Author
Gianluca Petrillo (petri.nosp@m.llo@.nosp@m.fnal..nosp@m.gov)
Date
March 31st, 2015

Currently includes:

  • determinant (2x2, 3x3, 4x4)
  • inversion (2x2, 3x3, 4x4)

Definition in file FastMatrixMathHelper.h.