LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 > Struct Template Reference

Determinant of a 3x3 submatrix. More...

#include "FastMatrixMathHelper.h"

Inheritance diagram for lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >:
lar::util::details::DeterminantHelperBase< N >

Public Types

template<unsigned int sR1, unsigned int sR2, unsigned int sC1, unsigned int sC2>
using UpHelper = DeterminantHelper< T, N, sR1, sR2, sC1, sC2 >
 

Static Public Member Functions

static T compute (T const *data)
 
static constexpr size_t index (unsigned int row, unsigned int col)
 

Detailed Description

template<typename T, unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
struct lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >

Determinant of a 3x3 submatrix.

Definition at line 194 of file FastMatrixMathHelper.h.

Member Typedef Documentation

template<typename T , unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
template<unsigned int sR1, unsigned int sR2, unsigned int sC1, unsigned int sC2>
using lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >::UpHelper = DeterminantHelper<T, N, sR1, sR2, sC1, sC2>

Definition at line 203 of file FastMatrixMathHelper.h.

Member Function Documentation

template<typename T , unsigned int N, unsigned int R1, unsigned int R2, unsigned int R3, unsigned int C1, unsigned int C2, unsigned int C3>
static T lar::util::details::DeterminantHelper< T, N, R1, R2, R3, C1, C2, C3 >::compute ( T const *  data)
inlinestatic

Definition at line 204 of file FastMatrixMathHelper.h.

205  {
206  return data[index(R1, C1)] * UpHelper<R2, R3, C2, C3>::compute(data) -
207  data[index(R1, C2)] * UpHelper<R2, R3, C1, C3>::compute(data) +
208  data[index(R1, C3)] * UpHelper<R2, R3, C1, C2>::compute(data);
209  }
static constexpr size_t index(unsigned int row, unsigned int col)
template<unsigned int N>
static constexpr size_t lar::util::details::DeterminantHelperBase< N >::index ( unsigned int  row,
unsigned int  col 
)
inlinestaticinherited

Definition at line 132 of file FastMatrixMathHelper.h.

References col.

133  {
134  return MatrixIndex<N>(row, col);
135  }
Int_t col[ntarg]
Definition: Style.C:29

The documentation for this struct was generated from the following file: