BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnKalmanFilter Class Reference

#include <BmnKalmanFilter.h>

Collaboration diagram for BmnKalmanFilter:

Public Member Functions

 BmnKalmanFilter ()
virtual ~BmnKalmanFilter ()
BmnStatus Update (FairTrackParam *par, const BmnHit *hit, Double_t &chiSq)
BmnStatus Smooth (BmnFitNode *thisNode, BmnFitNode *prevNode)
BmnStatus TGeoTrackPropagate (FairTrackParam *par, Double_t zOut, Int_t pdg, vector< Double_t > *F, Double_t *length, Bool_t isField)
BmnStatus TGeoTrackPropagate (FairTrackParam *par, Double_t zOut, Int_t pdg, vector< Double_t > *F, Double_t *length)
BmnStatus ComputeResiduals (CbmStsTrack *track, BmnHit **hitsArray, Int_t nHits, Int_t pdg, Double_t *resX, Double_t *resY, Int_t *station, Int_t &nRes)
BmnStatus GetResidual (CbmStsTrack *track, BmnHit **hitsArray, Int_t nHits, Int_t station, Int_t pdg, Double_t &resX, Double_t &resY)

Static Public Attributes

static const Int_t kMaxHits = 11

Private Member Functions

void RK4Order (const Double_t *xIn, Double_t zIn, Double_t *xOut, Double_t zOut, Double_t *derivs, FairField *field)
void UpdateF (Double_t *F, const Double_t *newF)
void TransportC (const Double_t *cIn, const Double_t *F, Double_t *cOut)
Double_t CalcOut (Double_t in, const Double_t k[4])
BmnStatus RK4TrackExtrapolate (FairTrackParam *par, Double_t zOut, Double_t *F)
void UpdateF (vector< Double_t > &F, const vector< Double_t > &newF)

Private Attributes

BmnGeoNavigator * fNavigator
BmnMaterialEffects * fMaterial

Detailed Description

Definition at line 27 of file BmnKalmanFilter.h.

Constructor & Destructor Documentation

◆ BmnKalmanFilter()

BmnKalmanFilter::BmnKalmanFilter ( )

Definition at line 8 of file BmnKalmanFilter.cxx.

References fMaterial, and fNavigator.

◆ ~BmnKalmanFilter()

BmnKalmanFilter::~BmnKalmanFilter ( )
virtual

Definition at line 14 of file BmnKalmanFilter.cxx.

References fMaterial, and fNavigator.

Member Function Documentation

◆ CalcOut()

Double_t BmnKalmanFilter::CalcOut ( Double_t in,
const Double_t k[4] )
inlineprivate

Definition at line 138 of file BmnKalmanFilter.h.

Referenced by RK4Order().

Here is the caller graph for this function:

◆ ComputeResiduals()

BmnStatus BmnKalmanFilter::ComputeResiduals ( CbmStsTrack * track,
BmnHit ** hitsArray,
Int_t nHits,
Int_t pdg,
Double_t * resX,
Double_t * resY,
Int_t * station,
Int_t & nRes )

Definition at line 452 of file BmnKalmanFilter.cxx.

References CbmStsTrack::GetParamFirst(), CbmStsTrack::GetParamLast(), BmnHit::GetStation(), kBMNERROR, kBMNSUCCESS, kMaxHits, TGeoTrackPropagate(), and Update().

Referenced by GetResidual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetResidual()

BmnStatus BmnKalmanFilter::GetResidual ( CbmStsTrack * track,
BmnHit ** hitsArray,
Int_t nHits,
Int_t station,
Int_t pdg,
Double_t & resX,
Double_t & resY )

Definition at line 524 of file BmnKalmanFilter.cxx.

References ComputeResiduals(), kBMNERROR, kBMNSUCCESS, and kMaxHits.

Here is the call graph for this function:

◆ RK4Order()

void BmnKalmanFilter::RK4Order ( const Double_t * xIn,
Double_t zIn,
Double_t * xOut,
Double_t zOut,
Double_t * derivs,
FairField * field )
private

Definition at line 234 of file BmnKalmanFilter.cxx.

References CalcOut(), i, TMath::Sqrt(), and x.

Referenced by RK4TrackExtrapolate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RK4TrackExtrapolate()

BmnStatus BmnKalmanFilter::RK4TrackExtrapolate ( FairTrackParam * par,
Double_t zOut,
Double_t * F )
private

Definition at line 195 of file BmnKalmanFilter.cxx.

References i, kBMNSUCCESS, RK4Order(), and TransportC().

Referenced by TGeoTrackPropagate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Smooth()

BmnStatus BmnKalmanFilter::Smooth ( BmnFitNode * thisNode,
BmnFitNode * prevNode )

Definition at line 109 of file BmnKalmanFilter.cxx.

References BmnFitNode::GetF(), BmnFitNode::GetPredictedParam(), BmnFitNode::GetSmoothedParam(), BmnFitNode::GetUpdatedParam(), i, InvSym15(), kBMNERROR, kBMNSUCCESS, Mult15On25(), Mult25On15(), Mult25On5(), BmnFitNode::SetSmoothedParam(), Similarity(), Subtract(), and Transpose25().

Here is the call graph for this function:

◆ TGeoTrackPropagate() [1/2]

BmnStatus BmnKalmanFilter::TGeoTrackPropagate ( FairTrackParam * par,
Double_t zOut,
Int_t pdg,
vector< Double_t > * F,
Double_t * length )

Definition at line 360 of file BmnKalmanFilter.cxx.

References fMaterial, fNavigator, BmnMaterialInfo::GetLength(), BmnMaterialInfo::GetZpos(), BmnFieldMap::IsFieldOff(), IsParCorrect(), kBMNERROR, kBMNSUCCESS, RK4TrackExtrapolate(), TMath::Sq(), TMath::Sqrt(), UpdateF(), z, and z0.

Here is the call graph for this function:

◆ TGeoTrackPropagate() [2/2]

BmnStatus BmnKalmanFilter::TGeoTrackPropagate ( FairTrackParam * par,
Double_t zOut,
Int_t pdg,
vector< Double_t > * F,
Double_t * length,
Bool_t isField )

Definition at line 438 of file BmnKalmanFilter.cxx.

References TGeoTrackPropagate().

Referenced by ComputeResiduals(), BmnQaOffline::doResidualsPullsAnal(), BmnLambdaEmbeddingQa::DrawFoundTracks(), drawTracks(), BmnResiduals::Exec(), BmnQaOffline::MatchDetector(), MatchDetector(), and TGeoTrackPropagate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TransportC()

void BmnKalmanFilter::TransportC ( const Double_t * cIn,
const Double_t * F,
Double_t * cOut )
inlineprivate

Definition at line 99 of file BmnKalmanFilter.h.

Referenced by RK4TrackExtrapolate().

Here is the caller graph for this function:

◆ Update()

BmnStatus BmnKalmanFilter::Update ( FairTrackParam * par,
const BmnHit * hit,
Double_t & chiSq )

Definition at line 20 of file BmnKalmanFilter.cxx.

References i, kBMNERROR, and kBMNSUCCESS.

Referenced by ComputeResiduals(), BmnQaOffline::MatchDetector(), and MatchDetector().

Here is the caller graph for this function:

◆ UpdateF() [1/2]

void BmnKalmanFilter::UpdateF ( Double_t * F,
const Double_t * newF )
inlineprivate

Definition at line 66 of file BmnKalmanFilter.h.

References i.

Referenced by TGeoTrackPropagate().

Here is the caller graph for this function:

◆ UpdateF() [2/2]

void BmnKalmanFilter::UpdateF ( vector< Double_t > & F,
const vector< Double_t > & newF )
private

Member Data Documentation

◆ fMaterial

BmnMaterialEffects* BmnKalmanFilter::fMaterial
private

Definition at line 145 of file BmnKalmanFilter.h.

Referenced by BmnKalmanFilter(), ~BmnKalmanFilter(), and TGeoTrackPropagate().

◆ fNavigator

BmnGeoNavigator* BmnKalmanFilter::fNavigator
private

Definition at line 144 of file BmnKalmanFilter.h.

Referenced by BmnKalmanFilter(), ~BmnKalmanFilter(), and TGeoTrackPropagate().

◆ kMaxHits

const Int_t BmnKalmanFilter::kMaxHits = 11
static

Definition at line 33 of file BmnKalmanFilter.h.

Referenced by ComputeResiduals(), and GetResidual().


The documentation for this class was generated from the following files: