|  | 
								EIC Software
							 
								Reference for 
								EIC 
								simulation and reconstruction software on GitHub
							 | 
#include <EicRoot/blob/master/eic/htc/TrKalmanFilter.h>
 Inheritance diagram for TrKalmanFilter:
 Inheritance diagram for TrKalmanFilter: Collaboration diagram for TrKalmanFilter:
 Collaboration diagram for TrKalmanFilter:| 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | pure virtual | 
Implemented in HtcKalmanFilter.
Referenced by InitializeRungeKuttaFrames().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | 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.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | 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().