BmnRoot
Loading...
Searching...
No Matches
BmnKalmanFilter.h
Go to the documentation of this file.
1/*
2 * File: BmnKalmanFilter.h
3 *
4 * Created on July 29, 2015, 9:48 AM
5 */
6
7#ifndef BmnKalmanFilter_H
8#define BmnKalmanFilter_H
9
10#include "BmnEnums.h"
11#include "BmnGeoNavigator.h"
12#include "BmnMaterialEffects.h"
13#include "BmnHit.h"
14#include "BmnFitNode.h"
15#include "BmnMath.h"
16#include "BmnMatrixMath.h"
17
18#include "FairTrackParam.h"
19#include "FairRunAna.h"
20#include "FairField.h"
21
22#include "TClonesArray.h"
23#include "TMath.h"
24#include "TMatrixD.h"
25
26#include <vector>
27
29{
30 public:
31 /* Constructor */
33 /* Destructor */
34 virtual ~BmnKalmanFilter();
35
36 void RK4Order(const vector<Double_t>& xIn, Double_t zIn, vector<Double_t>& xOut, Double_t zOut, vector<Double_t>& derivs);
37 BmnStatus RK4TrackExtrapolate(FairTrackParam* par, Double_t zOut, vector<Double_t>* F);
38 Double_t CalcOut(Double_t in, const Double_t k[4]);
39 void TransportC(const vector<Double_t>& cIn, const vector<Double_t>& F, vector<Double_t>& cOut);
40 BmnStatus Update(FairTrackParam* par, const BmnHit* hit, Double_t& chiSq);
41 void UpdateF(vector<Double_t>& F, const vector<Double_t>& newF);
42
43 BmnStatus Smooth(BmnFitNode* thisNode, BmnFitNode* prevNode);
44
45 BmnStatus TGeoTrackPropagate(FairTrackParam* par, Double_t zOut, Int_t pdg, vector<Double_t>* F, Double_t* length, Bool_t isField);
46 BmnStatus TGeoTrackPropagate(FairTrackParam* par, Double_t zOut, Int_t pdg, vector<Double_t>* F, Double_t* length);
47
48 private:
49 FairField* fField;
50 BmnGeoNavigator* fNavigator;
51 BmnMaterialEffects* fMaterial;
52};
53
54#endif /* BmnKalmanFilter_H */
BmnStatus
Definition BmnEnums.h:24
void RK4Order(const vector< Double_t > &xIn, Double_t zIn, vector< Double_t > &xOut, Double_t zOut, vector< Double_t > &derivs)
BmnStatus RK4TrackExtrapolate(FairTrackParam *par, Double_t zOut, vector< Double_t > *F)
void TransportC(const vector< Double_t > &cIn, const vector< Double_t > &F, vector< Double_t > &cOut)
void UpdateF(vector< Double_t > &F, const vector< Double_t > &newF)
BmnStatus TGeoTrackPropagate(FairTrackParam *par, Double_t zOut, Int_t pdg, vector< Double_t > *F, Double_t *length, Bool_t isField)
BmnStatus Update(FairTrackParam *par, const BmnHit *hit, Double_t &chiSq)
BmnStatus Smooth(BmnFitNode *thisNode, BmnFitNode *prevNode)
virtual ~BmnKalmanFilter()
Double_t CalcOut(Double_t in, const Double_t k[4])
Interface for material effects calculation algorithm.
Interface for material effects calculation algorithm.