|
BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
|
The CbmKF Kalman Filter algorithm. More...
#include <CbmKF.h>
Public Member Functions | |
| CbmKF (const char *name="KF", Int_t iVerbose=1) | |
| ~CbmKF () | |
| void | SetParContainers () |
| InitStatus | ReInit () |
| InitStatus | Init () |
| Int_t | GetMaterialIndex (Int_t uid) |
| Int_t | Propagate (Double_t *T, Double_t *C, Double_t z_out, Double_t QP0, Bool_t line=false) |
| Propagation of (T, C) to z_out without material, using linearisation at qp0. | |
| Int_t | PassMaterial (CbmKFTrackInterface &track, Double_t &QP0, Int_t ifst, Int_t ilst) |
| Int_t | PassMaterialBetween (CbmKFTrackInterface &track, Double_t &QP0, Int_t ifst, Int_t ilst) |
| Int_t | PassMaterialBetween (CbmKFTrackInterface &track, Double_t &QP0, CbmKFHit *fst, CbmKFHit *lst) |
| BmnNewFieldMap * | GetMagneticField () |
| Int_t | GetMethod () |
| void | SetMethod (Int_t fm) |
| int | GetNMvdStations () const |
| int | GetNStsStations () const |
| virtual void | SetField (const std::unique_ptr< FairField > &magneticField) |
| CbmKF (const char *name="KF", Int_t iVerbose=1) | |
| ~CbmKF () | |
| void | SetParContainers () |
| InitStatus | ReInit () |
| InitStatus | Init () |
| Int_t | GetMaterialIndex (Int_t uid) |
| Int_t | Propagate (Double_t *T, Double_t *C, Double_t z_out, Double_t QP0, Bool_t line=false) |
| Propagation of (T, C) to z_out without material, using linearisation at qp0. | |
| Int_t | PassMaterial (CbmKFTrackInterface &track, Double_t &QP0, Int_t ifst, Int_t ilst) |
| Int_t | PassMaterialBetween (CbmKFTrackInterface &track, Double_t &QP0, Int_t ifst, Int_t ilst) |
| Int_t | PassMaterialBetween (CbmKFTrackInterface &track, Double_t &QP0, CbmKFHit *fst, CbmKFHit *lst) |
| BmnNewFieldMap * | GetMagneticField () |
| Int_t | GetMethod () |
| void | SetMethod (Int_t fm) |
| int | GetNMvdStations () const |
| int | GetNStsStations () const |
| virtual void | SetField (const std::unique_ptr< FairField > &magneticField) |
| Public Member Functions inherited from BmnTask | |
| BmnTask () | |
| Default constructor. | |
| BmnTask (const char *name, Int_t iVerbose=1) | |
| Standard constructor. | |
| virtual | ~BmnTask () |
| Destroy the BmnTask object. | |
| virtual void | OnlineWrite (const std::unique_ptr< TTree > &resultTree) |
| Write task resul to tree. | |
| BmnTask (const BmnTask &)=delete | |
| BmnTask & | operator= (const BmnTask &)=delete |
| BmnTask () | |
| Default constructor. | |
| BmnTask (const char *name, Int_t iVerbose=1) | |
| Standard constructor. | |
| virtual | ~BmnTask () |
| Destroy the BmnTask object. | |
| virtual void | OnlineWrite (const std::unique_ptr< TTree > &resultTree) |
| Write task resul to tree. | |
| BmnTask (const BmnTask &)=delete | |
| BmnTask & | operator= (const BmnTask &)=delete |
Static Public Member Functions | |
| static CbmKF * | Instance () |
| static CbmKF * | Instance () |
Public Attributes | |
| std::vector< CbmKFMaterial * > | vMaterial |
| std::vector< CbmKFTube > | vMvdMaterial |
| std::vector< CbmKFTube > | vStsMaterial |
| std::vector< CbmKFWall > | vSttMaterial |
| std::vector< CbmKFTube > | vTargets |
| std::vector< CbmKFCone > | vPipe |
| std::vector< CbmKFTube > | vPassiveTube |
| std::vector< CbmKFWall > | vPassiveWall |
| std::vector< CbmKFBox > | vPassiveBox |
| std::map< Int_t, Int_t > | MvdStationIDMap |
| std::map< Int_t, Int_t > | StsStationIDMap |
| std::map< Int_t, Int_t > | SttStationIDMap |
| CbmStsDigiScheme * | StsDigi |
Private Member Functions | |
| Int_t | ReadTube (CbmKFTube &tube, FairGeoNode *node) |
| Int_t | ReadTube (CbmKFTube &tube, TGeoVolume *vol) |
| CbmKFMaterial * | ReadPassive (FairGeoNode *node) |
| CbmKF (const CbmKF &) | |
| void | operator= (const CbmKF &) |
| Int_t | ReadTube (CbmKFTube &tube, FairGeoNode *node) |
| Int_t | ReadTube (CbmKFTube &tube, TGeoVolume *vol) |
| CbmKFMaterial * | ReadPassive (FairGeoNode *node) |
| CbmKF (const CbmKF &) | |
| void | operator= (const CbmKF &) |
Private Attributes | |
| BmnNewFieldMap * | fMagneticField |
| Int_t | fMethod |
| std::map< Int_t, Int_t > | fMaterialID2IndexMap |
Static Private Attributes | |
| static CbmKF * | fInstance = 0 |
Description will be here
To be used by high-level utilites like StsTrackFitter
| CbmKF::CbmKF | ( | const char * | name = "KF", |
| Int_t | iVerbose = 1 ) |
Definition at line 25 of file CbmKF.cxx.
References BmnTask::BmnTask(), fInstance, fMagneticField, fMaterialID2IndexMap, fMethod, CbmStsDigiScheme::Instance(), MvdStationIDMap, StsDigi, StsStationIDMap, SttStationIDMap, vMaterial, vMvdMaterial, vPassiveBox, vPassiveTube, vPassiveWall, vPipe, vStsMaterial, vSttMaterial, and vTargets.
Referenced by CbmKF(), Instance(), and operator=().
|
private |
| CbmKF::CbmKF | ( | const char * | name = "KF", |
| Int_t | iVerbose = 1 ) |
| CbmKF::~CbmKF | ( | ) |
|
private |
|
inline |
Definition at line 72 of file CbmKF.h.
References fMagneticField.
Referenced by CbmKFParticle::Construct(), CbmKFParticle::ConstructFromKFParticle(), CbmKFParticle::Convert(), CbmKFParticle::Extrapolate(), CbmL1::FieldApproxCheck(), CbmL1::FieldIntegralCheck(), CbmKFParticle::GetDStoPoint(), KFParticle::GetFieldValue(), CbmL1::Init(), and CbmL1::WriteSIMDKFData().
|
inline |
Definition at line 459 of file CbmKF.cxx.
References fMaterialID2IndexMap, and i.
Referenced by BmnKFStsHit::Create(), CbmKFStsHit::Create(), and CbmKFStsHit::Create().
|
inline |
Definition at line 78 of file CbmKF.h.
References fMethod.
Referenced by CbmKFTrackInterface::Fit(), BmnStsKFTrackFitter::FitWithMat(), and CbmKFTrackInterface::Smooth().
|
inline |
Definition at line 85 of file CbmKF.h.
References Instance(), and vMvdMaterial.
|
inline |
Definition at line 85 of file CbmKF.h.
References Instance(), and vMvdMaterial.
|
inline |
Definition at line 87 of file CbmKF.h.
References CbmStsDigiScheme::GetNStations(), and CbmStsDigiScheme::Instance().
Referenced by BmnStsVectorFinder::Exec(), and BmnStsVectorFinderV9::Exec().
|
inline |
Definition at line 87 of file CbmKF.h.
References CbmStsDigiScheme::GetNStations(), and CbmStsDigiScheme::Instance().
| InitStatus CbmKF::Init | ( | ) |
Definition at line 85 of file CbmKF.cxx.
References TArrayD::At(), TObjArray::At(), CbmKFMaterial::comparePDown(), TString::Contains(), dist(), CbmKFTube::dz, CbmKFMaterial::F, TObjArray::FindObject(), fMagneticField, fMaterialID2IndexMap, CbmStsStation::GetD(), TObjArray::GetEntries(), BmnTOF1GeoPar::GetGeoPassiveNodes(), FairGeoPassivePar::GetGeoPassiveNodes(), BmnTOF1GeoPar::GetGeoSensitiveNodes(), CbmGeoSttPar::GetGeoSensitiveNodes(), CbmMvdGeoPar::GetGeoSensitiveNodes(), CbmStsStation::GetRadLength(), CbmStsStation::GetRmax(), CbmStsStation::GetRmin(), CbmStsStation::GetStationNr(), CbmStsStation::GetZ(), i, CbmKFMaterial::ID, CbmKFMaterial::Info(), CbmKFTube::Info(), MvdStationIDMap, NStations, CbmKFTube::R, CbmKFTube::r, CbmKFCone::R1, CbmKFCone::r1, CbmKFCone::R2, CbmKFCone::r2, CbmKFMaterial::RadLength, ReadPassive(), ReadTube(), CbmKFTube::RR, CbmKFTube::rr, TMath::Sqrt(), StsDigi, StsStationIDMap, SttStationIDMap, vMaterial, vMvdMaterial, vPassiveBox, vPassiveTube, vPassiveWall, vPipe, vStsMaterial, vSttMaterial, vTargets, CbmKFTube::z, z, CbmKFCone::z1, CbmKFCone::z2, CbmKFMaterial::ZReference, and CbmKFMaterial::ZThickness.
Referenced by ReInit().
| InitStatus CbmKF::Init | ( | ) |
|
inlinestatic |
Definition at line 34 of file CbmKF.h.
References CbmKF(), and fInstance.
Referenced by BmnMotherFitterPart::BmnMotherFitterPart(), BmnMotherFitterPart::BmnMotherFitterPart(), BmnParticle::BmnParticle(), CbmKFParticle::Construct(), CbmKFParticle::ConstructFromKFParticle(), CbmKFParticle::Convert(), BmnKFStsHit::Create(), CbmKFStsHit::Create(), CbmKFStsHit::Create(), L1AlgoDraw::DrawMCTracks(), BmnKFPrimaryVertexFinder::EvalVertex(), BmnStsVectorFinder::Exec(), BmnStsVectorFinderV9::Exec(), CbmKFParticlesFinderQA::Exec(), CbmKFTrackFitQA::Exec(), CbmL1SttTrackFinder::Exec(), CbmStsFitPerformanceTask::Exec(), CbmKFParticle::Extrapolate(), CbmKFTrackInterface::Extrapolate(), CbmL1::FieldApproxCheck(), CbmL1::FieldIntegralCheck(), CbmKFTrackFitQA::FillHitHistos(), BmnStsVectorFinder::FilterHit(), BmnStsVectorFinderV9::FilterHit(), BmnKFPrimaryVertexFinder::Fit(), CbmKFPrimaryVertexFinder::Fit(), CbmKFSecondaryVertexFinder::Fit(), CbmKFTrackInterface::Fit(), BmnStsKFTrackFitter::FitWithMat(), CbmKFParticle::GetDStoPoint(), KFParticle::GetFieldValue(), CbmKFTrErrMCPoints::GetNConsHitStations(), CbmKFTrErrMCPoints::GetNConsMCStations(), CbmKFTrErrMCPoints::GetNHitStations(), CbmKFTrErrMCPoints::GetNMaxMCPointsOnStation(), GetNMvdStations(), CbmKFParticlesFinderQA::Init(), CbmKFTrackFitQA::Init(), CbmL1::Init(), CbmKFCone::Pass(), CbmKFMaterial::Pass(), CbmKFTrackInterface::Propagate(), CbmL1::ReadEvent(), CbmKFTrackInterface::Smooth(), BmnParticle::Track2Part(), and CbmL1::WriteSIMDKFData().
|
inlinestatic |
|
private |
|
private |
| Int_t CbmKF::PassMaterial | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| Int_t | ifst, | ||
| Int_t | ilst ) |
| Int_t CbmKF::PassMaterial | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| Int_t | ifst, | ||
| Int_t | ilst ) |
| Int_t CbmKF::PassMaterialBetween | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| CbmKFHit * | fst, | ||
| CbmKFHit * | lst ) |
Definition at line 862 of file CbmKF.cxx.
References CbmKFHit::MaterialIndex, and PassMaterialBetween().
| Int_t CbmKF::PassMaterialBetween | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| CbmKFHit * | fst, | ||
| CbmKFHit * | lst ) |
References vMaterial, vMvdMaterial, vPassiveBox, vPassiveTube, vPassiveWall, vPipe, vStsMaterial, vSttMaterial, and vTargets.
| Int_t CbmKF::PassMaterialBetween | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| Int_t | ifst, | ||
| Int_t | ilst ) |
Definition at line 851 of file CbmKF.cxx.
Referenced by PassMaterialBetween().
| Int_t CbmKF::PassMaterialBetween | ( | CbmKFTrackInterface & | track, |
| Double_t & | QP0, | ||
| Int_t | ifst, | ||
| Int_t | ilst ) |
| Int_t CbmKF::Propagate | ( | Double_t * | T, |
| Double_t * | C, | ||
| Double_t | z_out, | ||
| Double_t | QP0, | ||
| Bool_t | line = false ) |
Definition at line 747 of file CbmKF.cxx.
References CbmKFFieldMath::ExtrapolateALight(), CbmKFFieldMath::ExtrapolateLine(), CbmKFFieldMath::ExtrapolateRK4(), fabs(), fMagneticField, fMethod, BmnFieldMap::GetPositionZ(), and BmnFieldMap::GetZmax().
Referenced by L1AlgoDraw::DrawMCTracks(), CbmKFCone::Pass(), CbmKFMaterial::Pass(), CbmKFTrackInterface::Propagate(), and CbmKFTrackInterface::Smooth().
| Int_t CbmKF::Propagate | ( | Double_t * | T, |
| Double_t * | C, | ||
| Double_t | z_out, | ||
| Double_t | QP0, | ||
| Bool_t | line = false ) |
|
private |
Definition at line 631 of file CbmKF.cxx.
References TArrayD::At(), i, v, vPassiveBox, vPassiveTube, z, and z0.
Referenced by Init().
|
private |
Definition at line 517 of file CbmKF.cxx.
References TArrayD::At(), CbmKFTube::dz, CbmKFMaterial::F, CbmKFMaterial::Fe, i, CbmKFMaterial::ID, CbmKFTube::R, CbmKFTube::r, CbmKFMaterial::RadLength, CbmKFTube::RR, CbmKFTube::rr, TMath::Sqrt(), CbmKFTube::x, CbmKFTube::y, CbmKFTube::z, z, CbmKFMaterial::ZReference, and CbmKFMaterial::ZThickness.
Referenced by Init().
|
private |
Definition at line 470 of file CbmKF.cxx.
References CbmKFTube::dz, CbmKFMaterial::F, CbmKFMaterial::Fe, TGeoNode::GetDaughter(), TGeoTube::GetDz(), TGeoMedium::GetMaterial(), TGeoNode::GetMatrix(), TGeoVolume::GetMedium(), TNamed::GetName(), TGeoNode::GetNdaughters(), TGeoMaterial::GetRadLen(), TGeoTube::GetRmax(), TGeoTube::GetRmin(), TGeoVolume::GetShape(), TGeoMatrix::GetTranslation(), i, CbmKFMaterial::ID, CbmKFTube::R, CbmKFTube::r, CbmKFMaterial::RadLength, CbmKFTube::RR, CbmKFTube::rr, CbmKFTube::x, CbmKFTube::y, CbmKFTube::z, CbmKFMaterial::ZReference, and CbmKFMaterial::ZThickness.
|
private |
| InitStatus CbmKF::ReInit | ( | ) |
| InitStatus CbmKF::ReInit | ( | ) |
|
inlinevirtual |
Definition at line 89 of file CbmKF.h.
References fMagneticField.
|
inlinevirtual |
Definition at line 89 of file CbmKF.h.
References fMagneticField.
|
inline |
Definition at line 80 of file CbmKF.h.
References fMethod.
Referenced by CbmKFTrackInterface::Fit().
| void CbmKF::SetParContainers | ( | ) |
|
staticprivate |
Definition at line 95 of file CbmKF.h.
Referenced by CbmKF(), ~CbmKF(), and Instance().
|
private |
Definition at line 99 of file CbmKF.h.
Referenced by CbmKF(), GetMagneticField(), Init(), Propagate(), and SetField().
Definition at line 106 of file CbmKF.h.
Referenced by CbmKF(), GetMaterialIndex(), and Init().
|
private |
Definition at line 101 of file CbmKF.h.
Referenced by CbmKF(), GetMethod(), Propagate(), and SetMethod().
Definition at line 74 of file CbmKF.h.
Referenced by CbmKF(), CbmStsFitPerformanceTask::Exec(), and Init().
| CbmStsDigiScheme * CbmKF::StsDigi |
Definition at line 75 of file CbmKF.h.
Referenced by CbmKF(), CbmStsFitPerformanceTask::Exec(), and Init().
Definition at line 76 of file CbmKF.h.
Referenced by CbmKF(), CbmL1SttTrackFinder::Exec(), and Init().
| std::vector< CbmKFMaterial * > CbmKF::vMaterial |
Definition at line 57 of file CbmKF.h.
Referenced by CbmKF(), BmnKFStsHit::Create(), CbmKFStsHit::Create(), CbmKFStsHit::Create(), CbmKFTrackInterface::Extrapolate(), CbmKFTrackInterface::Fit(), BmnStsKFTrackFitter::FitWithMat(), Init(), PassMaterial(), PassMaterialBetween(), PassMaterialBetween(), and CbmKFTrackInterface::Smooth().
| std::vector< CbmKFTube > CbmKF::vMvdMaterial |
Definition at line 59 of file CbmKF.h.
Referenced by CbmKF(), CbmL1::FieldApproxCheck(), GetNMvdStations(), Init(), CbmL1::Init(), PassMaterialBetween(), CbmL1::ReadEvent(), and CbmL1::WriteSIMDKFData().
| std::vector< CbmKFBox > CbmKF::vPassiveBox |
Definition at line 67 of file CbmKF.h.
Referenced by CbmKF(), Init(), PassMaterialBetween(), and ReadPassive().
| std::vector< CbmKFTube > CbmKF::vPassiveTube |
Definition at line 65 of file CbmKF.h.
Referenced by CbmKF(), Init(), PassMaterialBetween(), and ReadPassive().
| std::vector< CbmKFWall > CbmKF::vPassiveWall |
Definition at line 66 of file CbmKF.h.
Referenced by CbmKF(), Init(), and PassMaterialBetween().
| std::vector< CbmKFCone > CbmKF::vPipe |
Definition at line 63 of file CbmKF.h.
Referenced by CbmKF(), Init(), and PassMaterialBetween().
| std::vector< CbmKFTube > CbmKF::vStsMaterial |
Definition at line 60 of file CbmKF.h.
Referenced by CbmKF(), Init(), and PassMaterialBetween().
| std::vector< CbmKFWall > CbmKF::vSttMaterial |
Definition at line 61 of file CbmKF.h.
Referenced by CbmKF(), CbmL1SttTrackFinder::Exec(), Init(), and PassMaterialBetween().
| std::vector< CbmKFTube > CbmKF::vTargets |
Definition at line 62 of file CbmKF.h.
Referenced by CbmKF(), CbmKFParticle::Construct(), CbmKFParticle::ConstructFromKFParticle(), BmnKFPrimaryVertexFinder::EvalVertex(), BmnKFPrimaryVertexFinder::Fit(), CbmKFPrimaryVertexFinder::Fit(), CbmKFSecondaryVertexFinder::Fit(), Init(), and PassMaterialBetween().