EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <EicRoot/blob/master/eic/htc/TrKalmanFilter.h>
Protected Attributes | |
double | mLocationSeparationDistance |
TrKalmanNodeLocation * | mLocationHead |
TrKalmanNodeLocation * | mLocationTail |
Protected Attributes inherited from KalmanFilter | |
std::multimap< double, KalmanNode * > | mKalmanNodePool |
Private Member Functions | |
KalmanNode * | AllocateNode () |
bool | NeedNonLinearTransport (double z) const |
int | AccountIonizationLosses (TrKalmanNode *from, KalmanFilter::Direction fb) |
int | CalculateProcessNoise (TrKalmanNode *from, KalmanFilter::Direction fb) |
int | CalculateMagnetOffTransportMatrices () |
Private Attributes | |
MfieldMode | mFieldMode |
t_particle_group * | mParticleGroup |
bool | mAccountEnergyLosses |
Additional Inherited Members | |
Public Types inherited from KalmanFilter | |
enum | Direction { Undefined = -1, Forward, Backward } |
enum | Verbosity { Never, Error, Warning, Info } |
Definition at line 21 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 21 of file TrKalmanFilter.h
|
inline |
Definition at line 24 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 24 of file TrKalmanFilter.h
|
inline |
Definition at line 66 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 66 of file TrKalmanFilter.h
Referenced by FwdTrackFinder::AccountEnergyLosses().
|
private |
Definition at line 318 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 318 of file TrKalmanFilter.cxx
References KalmanFilter::Backward, KalmanFilter::Forward, MediaSliceArray::GetDE(), TrKalmanNode::GetNext(), TrKalmanNode::GetZ(), KfMatrix::KFV(), mAccountEnergyLosses, mass, t_particle_group::mass, TrKalmanNode::mInversedMomentum, TrKalmanNode::mLocation, TrKalmanNodeLocation::mMediaSliceArray, mParticleGroup, SQR, and KalmanNode::x0.
Referenced by TransportExtra().
|
inlineprivatevirtual |
Reimplemented from KalmanFilter.
Definition at line 85 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 85 of file TrKalmanFilter.h
|
inlinevirtual |
Reimplemented from KalmanFilter.
Definition at line 60 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 60 of file TrKalmanFilter.h
References KalmanFilter::BuildNodeList(), and CalculateMagnetOffTransportMatrices().
Referenced by FwdHoughTree::SetupKalmanFilter().
|
virtual |
Implements KalmanFilter.
Definition at line 428 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 428 of file TrKalmanFilter.cxx
References _drv_steps, _SY_, _X_, KfMatrix::ARR(), TrKalmanNode::GetZ(), KalmanNode::H, ip(), KfMatrix::KFM(), KalmanNode::m, KalmanNode::mDim, TrKalmanNode::mHit, TrKalmanNode::mSensitiveVolume, Acts::UnitConstants::pm, SensitiveVolume::TrackToHitDistance(), and KalmanNode::x0.
|
private |
Definition at line 68 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 68 of file TrKalmanFilter.cxx
References KalmanFilter::Backward, KalmanNode::FF, KalmanFilter::Forward, KalmanFilter::GetHead(), TrKalmanNode::GetNext(), TrKalmanNode::GetZ(), and KfMatrix::KFM().
Referenced by BuildNodeList(), and Configure().
|
private |
Definition at line 369 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 369 of file TrKalmanFilter.cxx
References _SX_, _SY_, _X_, Acts::UnitConstants::e, TrKalmanNode::GetNext(), KalmanNode::GetX0(), TrKalmanNode::GetZ(), KalmanNode::GetZ(), ip(), KfMatrix::KFM(), KfMatrix::KFV(), t_particle_group::mass, ProcessNoise::mCxx, ProcessNoise::mCxy, ProcessNoise::mCyy, TrKalmanNode::mInversedMomentum, TrKalmanNode::mLocation, mParticleGroup, TrKalmanNodeLocation::mProcessNoise, p, KalmanNode::Q, SQR, and KalmanNode::x0.
Referenced by TransportExtra().
int TrKalmanFilter::Configure | ( | MediaBank * | media_bank, |
StringList * | config | ||
) |
Definition at line 169 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 169 of file TrKalmanFilter.cxx
References _RETURN_, CalculateMagnetOffTransportMatrices(), KalmanFilter::Configure(), InitializeMediaSlices(), InitializeRungeKuttaFrames(), mFieldMode, and WithField.
Referenced by EicHtcTask::ConfigureKalmanFilter().
|
inline |
Definition at line 34 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 34 of file TrKalmanFilter.h
References mFieldMode.
Referenced by FwdHoughTree::FinalFit(), EicHtcTask::GetFairTrackParP(), FwdTrackFinder::ResetVtxNode(), FwdTrackFinder::UpdateVtxNode(), and FwdTrackFinder::WithMagneticField().
|
inline |
Definition at line 56 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 56 of file TrKalmanFilter.h
References mLocationHead.
Referenced by FwdTrackFinder::Init().
int TrKalmanFilter::InitializeMediaSlices | ( | MediaBank * | media_bank | ) |
Definition at line 190 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 190 of file TrKalmanFilter.cxx
References KalmanFilter::Backward, KalmanFilter::Forward, TrKalmanNodeLocation::GetNext(), and mLocationHead.
Referenced by Configure().
|
pure virtual |
Implemented in HtcKalmanFilter.
Referenced by InitializeRungeKuttaFrames().
int TrKalmanFilter::InitializeRungeKuttaFrames | ( | ) |
Definition at line 220 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 220 of file TrKalmanFilter.cxx
References RungeKutta::_order, _RK_ORDER_2_, _RK_ORDER_4_, _RK_ORDER_5_, a2, a3, a4, a5, a6, KalmanFilter::Backward, KalmanFilter::Forward, TrKalmanNodeLocation::GetNext(), TrKalmanNodeLocation::GetZ(), Acts::UnitConstants::h, InitializeMgridSlice(), RungeKutta::m1, RungeKutta::m2, RungeKutta::m3, RungeKutta::m4, RungeKutta::m5, RungeKutta::m6, mLocationHead, RK_small_step_limit, and RK_small_step_order.
Referenced by Configure().
|
inlineprivatevirtual |
Reimplemented from KalmanFilter.
Definition at line 89 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 89 of file TrKalmanFilter.h
References mFieldMode, and WithField.
void TrKalmanFilter::ResetNode | ( | TrKalmanNode * | node, |
double | S[], | ||
int | assignmentMode | ||
) |
Definition at line 484 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 484 of file TrKalmanFilter.cxx
References _FLYSUB_COVARIANCE_BLOWUP_CFF_, _FLYSUB_TYPICAL_MOMENTUM_ERROR_, _FLYSUB_TYPICAL_SLOPE_ERROR_, _FLYSUB_TYPICAL_XY_COORD_ERROR_, _QP_, _SX_, _SY_, _USE_00_, _USE_XF_, _X_, _Y_, add(), KalmanNode::CP, ip(), KfMatrix::KFM(), KfMatrix::KFV(), mFieldMode, TrKalmanNode::mInversedMomentum, NoField, KfMatrix::Reset(), SQR, KalmanNode::x0, KalmanNode::xf, KalmanNode::xp, and KalmanNode::xs.
Referenced by EicHtcTask::ConstructLinearTrackApproximation(), and EicHtcTask::Exec().
void TrKalmanFilter::SelectActiveNodes | ( | ) |
Definition at line 17 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 17 of file TrKalmanFilter.cxx
References KalmanFilter::Forward, TrKalmanNodeLocation::GetNext(), KalmanNode::IsFired(), it, KalmanFilter::mKalmanNodePool, mLocationHead, and TrKalmanNode::SetActiveFlag().
Referenced by FwdHoughTree::SetupKalmanFilter().
|
inline |
Definition at line 41 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 41 of file TrKalmanFilter.h
References mLocationSeparationDistance, and value.
Referenced by FwdTrackFinder::SetLocationSeparationDistance().
|
inline |
Definition at line 28 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 28 of file TrKalmanFilter.h
References get_particle_group_by_name(), and mParticleGroup.
Referenced by EicHtcTask::Exec(), and FwdHoughTree::SetupKalmanFilter().
void TrKalmanFilter::SetUpLocations | ( | ) |
Definition at line 98 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 98 of file TrKalmanFilter.cxx
References TrKalmanNodeLocation::AddNode(), TrKalmanNodeLocation::AddSensitiveVolume(), KalmanFilter::Forward, TrKalmanNodeLocation::GetNext(), TrKalmanNode::GetSensitiveVolume(), TrKalmanNode::GetZ(), TrKalmanNodeLocation::GetZ(), it, KalmanFilter::mKalmanNodePool, TrKalmanNode::mLocation, mLocationHead, mLocationSeparationDistance, mLocationTail, TrKalmanNodeLocation::SetNext(), and TrKalmanNodeLocation::SetPrev().
Referenced by EicHtcTask::ConfigureKalmanFilter().
|
virtual |
Implements KalmanFilter.
Definition at line 282 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 282 of file TrKalmanFilter.cxx
References _CALCULATE_DERIVATIVES_, _QP_, _SY_, _X_, KalmanNode::FM, KalmanFilter::Forward, TrKalmanNode::GetNext(), TrKalmanNode::GetPrev(), ip(), KfMatrix::KFM(), KfMatrix::KFV(), and KalmanNode::x0.
|
virtual |
Reimplemented from KalmanFilter.
Definition at line 50 of file TrKalmanFilter.cxx.
View newest version in sPHENIX GitHub at line 50 of file TrKalmanFilter.cxx
References _CALCULATE_PROCESS_NOISE_, _NFUN_FAILURE_, _RETURN_, _XFUN_FAILURE_, AccountIonizationLosses(), and CalculateProcessNoise().
|
private |
Definition at line 80 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 80 of file TrKalmanFilter.h
Referenced by AccountIonizationLosses().
|
private |
Definition at line 73 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 73 of file TrKalmanFilter.h
Referenced by Configure(), GetFieldMode(), NeedNonLinearTransport(), and ResetNode().
|
protected |
Definition at line 70 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 70 of file TrKalmanFilter.h
Referenced by GetLocationHead(), InitializeMediaSlices(), InitializeRungeKuttaFrames(), SelectActiveNodes(), and SetUpLocations().
|
protected |
Definition at line 66 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 66 of file TrKalmanFilter.h
Referenced by SetLocationSeparationDistance(), and SetUpLocations().
|
protected |
Definition at line 70 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 70 of file TrKalmanFilter.h
Referenced by SetUpLocations().
|
private |
Definition at line 78 of file TrKalmanFilter.h.
View newest version in sPHENIX GitHub at line 78 of file TrKalmanFilter.h
Referenced by AccountIonizationLosses(), CalculateProcessNoise(), and SetParticleGroup().