EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <EicRoot/blob/master/eic/ayk/KfMatrix.h>
Public Types | |
enum | MtxType { Symmetric, Arbitrary } |
Public Member Functions | |
KfMatrix (unsigned dim1, unsigned dim2=1) | |
~KfMatrix () | |
int | GetDim1 () const |
int | GetDim2 () const |
double & | KFV (int ip) |
double & | KFM (int ip, int iq) |
double * | ARR () |
int | Unity () |
void | Reset () |
int | Invert (MtxType type=Arbitrary) |
int | ForceSymmetric () |
int | CheckPositivity () |
int | FixPositivity (double maxFixablePositivityScrewup, double positivityCorrelationFix) |
void | Print (const char *fmt=_PRINTOUT_FORMAT_DEFAULT_) |
int | CorrelationPrint (const char *fmt=_PRINTOUT_FORMAT_DEFAULT_) |
int | CopyFrom (KfMatrix *in) |
int | Add (KfMatrix *in) |
int | Subtract (KfMatrix *in) |
int | SetToSum (KfMatrix *in1, KfMatrix *in2) |
int | SetToDifference (KfMatrix *in1, KfMatrix *in2) |
int | SetToProduct (double cff, KfMatrix *in) |
int | SetToProduct (KfMatrix *in1, KfMatrix *in2, unsigned mode=0x0000) |
int | SetToProduct (KfMatrix *in1, KfMatrix *in2, KfMatrix *in3, unsigned mode=0x0000) |
int | VectorLengthSquare (KfMatrix *metric, double *lsqr) |
Static Public Member Functions | |
static void | SetDimensionCheckFlag (bool what) |
static bool | GetDimensionCheckFlag () |
Private Member Functions | |
void | AssignTrueDimensions (int trans, int dim[2]) |
int | AddCore (KfMatrix *in1, KfMatrix *in2, int what) |
int | SetToProductCore (KfMatrix *in1, KfMatrix *in2, KfMatrix *in3, unsigned mode=0x0000) |
int | DimensionMatchCheck (KfMatrix *kfm2) |
int | DimensionChainCheck (KfMatrix *in1, KfMatrix *in2, unsigned mode) |
KfMatrix * | Bufferize () |
Static Private Member Functions | |
static int | KfmReturn (int ret) |
Private Attributes | |
int | mDim1 |
int | mDim2 |
int | mDim |
double * | mArr |
Static Private Attributes | |
static bool | mDimensionCheckFlag = true |
Definition at line 21 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 21 of file KfMatrix.h
enum KfMatrix::MtxType |
Definition at line 60 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 60 of file KfMatrix.h
KfMatrix::KfMatrix | ( | unsigned | dim1, |
unsigned | dim2 = 1 |
||
) |
Definition at line 71 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 71 of file KfMatrix.cxx
KfMatrix::~KfMatrix | ( | ) |
Definition at line 92 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 92 of file KfMatrix.cxx
References mArr.
int KfMatrix::Add | ( | KfMatrix * | in | ) |
Definition at line 308 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 308 of file KfMatrix.cxx
References _KF_MATRIX_ADD_, and AddCore().
Definition at line 262 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 262 of file KfMatrix.cxx
References _KF_MATRIX_ADD_, DimensionMatchCheck(), GetDimensionCheckFlag(), KFM(), KfmReturn(), mDim1, and mDim2.
Referenced by Add(), SetToDifference(), SetToSum(), and Subtract().
|
inline |
Definition at line 52 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 52 of file KfMatrix.h
References mArr.
Referenced by TrKalmanFilter::CalculateHMatrix(), Invert(), and TrKalmanNode::PerformRungeKuttaStep().
|
private |
Definition at line 116 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 116 of file KfMatrix.cxx
Referenced by DimensionChainCheck().
|
private |
Definition at line 195 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 195 of file KfMatrix.cxx
References buffer, CopyFrom(), GetBufferMatrix(), GetDim1(), and GetDim2().
Referenced by SetToProduct().
int KfMatrix::CheckPositivity | ( | ) |
Definition at line 595 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 595 of file KfMatrix.cxx
References ip(), KFM(), KfmReturn(), mDim1, mDim2, and SQR.
Referenced by FixPositivity().
int KfMatrix::CopyFrom | ( | KfMatrix * | in | ) |
Definition at line 235 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 235 of file KfMatrix.cxx
References DimensionMatchCheck(), GetDimensionCheckFlag(), KFM(), KfmReturn(), mDim1, and mDim2.
Referenced by Bufferize(), KalmanFilter::Calculate_x0_FR_Q(), and TrKalmanNode::SetMeasurementNoise().
int KfMatrix::CorrelationPrint | ( | const char * | fmt = _PRINTOUT_FORMAT_DEFAULT_ | ) |
Definition at line 555 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 555 of file KfMatrix.cxx
References ip(), KFM(), KfmReturn(), mDim1, mDim2, and printf().
Definition at line 133 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 133 of file KfMatrix.cxx
References _TRANSPOSE_IN1_, _TRANSPOSE_IN2_, AssignTrueDimensions(), mDim1, and mDim2.
Referenced by SetToProduct().
|
private |
Definition at line 104 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 104 of file KfMatrix.cxx
References GetDim1(), and GetDim2().
Referenced by AddCore(), CopyFrom(), and SetToProduct().
int KfMatrix::FixPositivity | ( | double | maxFixablePositivityScrewup, |
double | positivityCorrelationFix | ||
) |
Definition at line 614 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 614 of file KfMatrix.cxx
References CheckPositivity(), GetDim1(), ip(), KFM(), and SQR.
int KfMatrix::ForceSymmetric | ( | ) |
Definition at line 578 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 578 of file KfMatrix.cxx
References ip(), KFM(), KfmReturn(), mDim1, and mDim2.
|
inline |
Definition at line 31 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 31 of file KfMatrix.h
References mDim1.
Referenced by Bufferize(), DimensionMatchCheck(), FixPositivity(), and GetBufferMatrix().
|
inline |
Definition at line 32 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 32 of file KfMatrix.h
References mDim2.
Referenced by Bufferize(), DimensionMatchCheck(), and GetBufferMatrix().
|
inlinestatic |
Definition at line 28 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 28 of file KfMatrix.h
References mDimensionCheckFlag.
Referenced by AddCore(), CopyFrom(), and SetToProduct().
int KfMatrix::Invert | ( | KfMatrix::MtxType | type = Arbitrary | ) |
Definition at line 478 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 478 of file KfMatrix.cxx
References ARR(), ip(), KFM(), KfmReturn(), mDim1, mDim2, and Symmetric.
|
inline |
Definition at line 48 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 48 of file KfMatrix.h
Referenced by AddCore(), TrKalmanFilter::CalculateHMatrix(), TrKalmanFilter::CalculateMagnetOffTransportMatrices(), TrKalmanFilter::CalculateProcessNoise(), CheckPositivity(), CopyFrom(), CorrelationPrint(), EicHtcTask::Exec(), FixPositivity(), ForceSymmetric(), KalmanNode::GetCF(), KalmanNode::GetCP(), KalmanNode::GetCS(), EicKfNodeTemplate1D::GetMeasurementNoise(), EicKfNodeTemplateOrth2D::GetMeasurementNoise(), EicKfNodeTemplateOrth3D::GetMeasurementNoise(), KalmanNode::GetRM(), KalmanNode::GetRS(), KalmanNode::GetV(), EicKfNodeTemplate::IncrementLinearTrackFitMatrices(), TrKalmanNode::InflateMeasurementNoise(), Invert(), Print(), Reset(), TrKalmanFilter::ResetNode(), FwdTrackFinder::ResetVtxNode(), SetToProduct(), TrKalmanFilter::Transport(), Unity(), FwdTrackFinder::UpdateVtxNode(), and VectorLengthSquare().
|
staticprivate |
Definition at line 56 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 56 of file KfMatrix.cxx
References mDimensionCheckFlag.
Referenced by AddCore(), CheckPositivity(), CopyFrom(), CorrelationPrint(), ForceSymmetric(), Invert(), SetToProduct(), SetToProductCore(), and Unity().
|
inline |
Definition at line 47 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 47 of file KfMatrix.h
Referenced by TrKalmanFilter::AccountIonizationLosses(), TrKalmanFilter::CalculateProcessNoise(), EicHtcTask::ConstructLinearTrackApproximation(), KalmanNode::Getm(), KalmanNode::GetRm(), KalmanNode::GetRs(), KalmanNode::GetX0(), KalmanNode::GetXf(), KalmanNode::GetXm(), KalmanNode::GetXs(), EicKfNodeTemplate::IncrementLinearTrackFitMatrices(), TrKalmanFilter::ResetNode(), FwdTrackFinder::ResetVtxNode(), TrKalmanFilter::Transport(), and FwdTrackFinder::UpdateVtxNode().
void KfMatrix::Print | ( | const char * | fmt = _PRINTOUT_FORMAT_DEFAULT_ | ) |
Definition at line 543 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 543 of file KfMatrix.cxx
References ip(), KFM(), mDim1, mDim2, and printf().
void KfMatrix::Reset | ( | ) |
Definition at line 209 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 209 of file KfMatrix.cxx
References KFM(), mDim1, and mDim2.
Referenced by EicHtcTask::Exec(), TrKalmanFilter::ResetNode(), FwdTrackFinder::ResetVtxNode(), SetToProduct(), and FwdTrackFinder::UpdateVtxNode().
|
inlinestatic |
Definition at line 27 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 27 of file KfMatrix.h
References mDimensionCheckFlag.
Definition at line 297 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 297 of file KfMatrix.cxx
References _KF_MATRIX_SUBTRACT_, and AddCore().
int KfMatrix::SetToProduct | ( | double | cff, |
KfMatrix * | in | ||
) |
Definition at line 323 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 323 of file KfMatrix.cxx
References DimensionMatchCheck(), GetDimensionCheckFlag(), KFM(), KfmReturn(), mDim1, and mDim2.
Referenced by KalmanFilter::Calculate_x0_FR_Q(), KalmanFilter::DoFilterAlgebra(), SetToProductCore(), and KalmanFilter::SmootherPass().
Definition at line 343 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 343 of file KfMatrix.cxx
References _TRANSPOSE_IN1_, _TRANSPOSE_IN2_, Bufferize(), DimensionChainCheck(), GetDimensionCheckFlag(), ip(), KFM(), KfmReturn(), mDim1, mDim2, Reset(), ResetBusyFlags(), and val2.
int KfMatrix::SetToProduct | ( | KfMatrix * | in1, |
KfMatrix * | in2, | ||
KfMatrix * | in3, | ||
unsigned | mode = 0x0000 |
||
) |
Definition at line 450 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 450 of file KfMatrix.cxx
References ResetBusyFlags(), and SetToProductCore().
|
private |
Definition at line 397 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 397 of file KfMatrix.cxx
References _TRANSPOSE_IN1_, _TRANSPOSE_IN2_, _TRANSPOSE_IN3_, buffer, GetBufferMatrix(), KfmReturn(), mDim1, mDim2, and SetToProduct().
Referenced by SetToProduct(), and VectorLengthSquare().
Definition at line 290 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 290 of file KfMatrix.cxx
References _KF_MATRIX_ADD_, and AddCore().
int KfMatrix::Subtract | ( | KfMatrix * | in | ) |
Definition at line 315 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 315 of file KfMatrix.cxx
References _KF_MATRIX_SUBTRACT_, and AddCore().
Referenced by KalmanFilter::SmootherPass().
int KfMatrix::Unity | ( | ) |
Definition at line 222 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 222 of file KfMatrix.cxx
References KFM(), KfmReturn(), mDim1, and mDim2.
Referenced by KalmanNode::AllocateKfMatrices(), and KalmanFilter::KalmanFilter().
int KfMatrix::VectorLengthSquare | ( | KfMatrix * | metric, |
double * | lsqr | ||
) |
Definition at line 461 of file KfMatrix.cxx.
View newest version in sPHENIX GitHub at line 461 of file KfMatrix.cxx
References _TRANSPOSE_IN1_, GetBufferMatrix(), KFM(), ResetBusyFlags(), SetToProductCore(), and value.
|
private |
Definition at line 99 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 99 of file KfMatrix.h
Referenced by ARR(), KFM(), KfMatrix(), KFV(), and ~KfMatrix().
|
private |
Definition at line 93 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 93 of file KfMatrix.h
Referenced by KfMatrix().
|
private |
Definition at line 93 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 93 of file KfMatrix.h
Referenced by AddCore(), AssignTrueDimensions(), CheckPositivity(), CopyFrom(), CorrelationPrint(), DimensionChainCheck(), ForceSymmetric(), GetDim1(), Invert(), KfMatrix(), Print(), Reset(), SetToProduct(), SetToProductCore(), and Unity().
|
private |
Definition at line 93 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 93 of file KfMatrix.h
Referenced by AddCore(), AssignTrueDimensions(), CheckPositivity(), CopyFrom(), CorrelationPrint(), DimensionChainCheck(), ForceSymmetric(), GetDim2(), Invert(), KFM(), KfMatrix(), Print(), Reset(), SetToProduct(), SetToProductCore(), and Unity().
|
staticprivate |
Definition at line 102 of file KfMatrix.h.
View newest version in sPHENIX GitHub at line 102 of file KfMatrix.h
Referenced by GetDimensionCheckFlag(), KfmReturn(), and SetDimensionCheckFlag().