BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmEcalTrackExtrapolationKF.cxx
Go to the documentation of this file.
1
3
4#include "CbmEcalInf.h"
5#include "CbmEcalStructure.h"
6#include "CbmGlobalTrack.h"
7#include "CbmKFTrack.h"
8#include "CbmMCTrack.h"
10#include "CbmStsTrack.h"
11#include "FairRootManager.h"
12#include "FairTrackParam.h"
13#include "TClonesArray.h"
14
15#include <iostream>
16
17using namespace std;
18
19// ----- Default constructor -------------------------------------------
28// -------------------------------------------------------------------------
29
30// ----- Standard constructor ------------------------------------------
39// -------------------------------------------------------------------------
40
41// ----- Destructor ----------------------------------------------------
46// -------------------------------------------------------------------------
47
48// ----- Public method Init --------------------------------------------
50{
51 CbmEcalTrackExtrapolation::Init();
52 // Get and check FairRootManager
53 FairRootManager* ioman = FairRootManager::Instance();
54 if (!ioman)
55 Fatal("CbmEcalTrackExtrapolationKF::Init()", "Can't instantise Rootmanager");
56
57 // Get STS track array
58 fSTSArray = (TClonesArray*)ioman->GetObject("StsTrack");
59 if (!fSTSArray)
60 cout << "-W- CbmEcalTrackExtrapolationKF::Init: No sts track array!" << endl;
61}
62// -------------------------------------------------------------------------
63
64// ----- Public method DoExtrapolate ------------------------------------------
66{
67 if (!fTrackParamArray_) {
68 cout << "-E- CbmEcalTrackExtrapolationKF::DoExtrapolate: ";
69 cout << "TrackParamArray missing! " << endl;
70 return -1;
71 }
72
73 if (!gTrackArray) {
74 cout << "-E- CbmEcalTrackExtrapolationKF::DoExtrapolate: ";
75 cout << "Track Array missing! " << endl;
76 return -1;
77 }
78 Int_t nTr = 0;
79 Int_t i = 0;
80 Int_t n = gTrackArray->GetEntriesFast();
82 CbmKFTrack kfTr;
83 FairTrackParam trpar;
84 for (; i < n; i++) {
85 Map()[nTr] = -1111;
86 tr = (CbmGlobalTrack*)gTrackArray->At(i);
87 if (!tr)
88 continue;
89 if (tr->GetStsTrackIndex() < 0 || tr->GetTrdTrackIndex() < 0)
90 continue;
91 kfTr.SetTrackParam(*(const_cast<FairTrackParam*>(tr->GetParamLast())));
92 kfTr.Extrapolate(Str()->GetEcalInf()->GetZPos());
93 kfTr.GetTrackParam(trpar);
94 Map()[nTr] = i;
95 new ((*fTrackParamArray_)[nTr++]) FairTrackParam(trpar);
96 }
97
98 return nTr;
99}
100// -------------------------------------------------------------------------
101
102// ----- Public method Finish ------------------------------------------
107//-----------------------------------------------------------------------------------
int i
Definition P4_F32vec4.h:22
int Int_t
void Fatal(const char *location, const char *msgfmt,...)
virtual Int_t DoExtrapolate(TClonesArray *gTrackArray, TClonesArray *fTrackParamArray)
Method DoExtrapolate.
CbmEcalTrackExtrapolationKF()
Default constructor.
virtual void Init()
Initialisation.
CbmGlobalTrack.h.
const FairTrackParam * GetParamLast() const
Int_t GetTrdTrackIndex() const
Int_t GetStsTrackIndex() const
Accessors.
Int_t Extrapolate(Double_t z, Double_t *QP0=0, Bool_t line=false)
Access to i-th hit.
void SetTrackParam(FairTrackParam &track)
void GetTrackParam(FairTrackParam &track)
Int_t GetEntriesFast() const
TObject * At(Int_t idx) const override
*brief user defined string literal for JSON values *sa std::size_t n
Definition json.hpp:20362
Definition json.hpp:4446