BmnRoot
Loading...
Searching...
No Matches
CbmStsTrack.cxx
Go to the documentation of this file.
1// -------------------------------------------------------------------------
2// ----- CbmStsTrack source file -----
3// ----- Created 26/01/05 by V. Friese -----
4// -------------------------------------------------------------------------
5
6#include "CbmStsTrack.h"
7
8#include "FairHit.h"
9
10#include <iostream>
11#include <map>
12
13using std::cout;
14using std::endl;
15using std::map;
16
17// ----- Default constructor -------------------------------------------
19 : TObject(),
20 fStsHits(),
21 fMvdHits(),
22 fPidHypo(0),
23 fParamFirst(),
24 fParamLast(),
25 fFlag(0),
26 fChi2(0.),
27 fNDF(0),
28 fB(0.),
29 fStsHitMap(),
30 fMvdHitMap(),
31 fnEv(),
32 fHitsArr("CbmStsHit", 10)
33{
34}
35// -------------------------------------------------------------------------
36
37
38
39// ----- Destructor ----------------------------------------------------
41 fStsHitMap.clear();
42 fMvdHitMap.clear();
43}
44// -------------------------------------------------------------------------
45
46
47
48// ----- Public method AddStsHit ---------------------------------------
49void CbmStsTrack::AddStsHit(Int_t hitIndex, FairHit* hit) {
50 fStsHitMap[hit->GetZ()] = hitIndex;
51}
52// -------------------------------------------------------------------------
53
54// ----- SM -------------------------------------------------------------
55void CbmStsTrack::AddPixelHit(Int_t hitIndex, CbmBaseHit* hit) {
56 fStsHitMap[hit->GetZ()] = hitIndex;
57}
58// -------------------------------------------------------------------------
59
60
61// ----- Public method AddMvdHit ---------------------------------------
62void CbmStsTrack::AddMvdHit(Int_t hitIndex, FairHit* hit) {
63 fMvdHitMap[hit->GetZ()] = hitIndex;
64}
65// -------------------------------------------------------------------------
66
67
68
69// ----- Public method Print -------------------------------------------
71 cout << " Number of attached STS hits : "
72 << fStsHits.GetSize() << endl;
73 cout << " Number of attached MVD hits : "
74 << fMvdHits.GetSize() << endl;
75 fParamFirst.Print();
76 cout << " Chi2: " << fChi2 << ", Quality flag " << fFlag << endl;
77}
78// -------------------------------------------------------------------------
79
80
81
82// ----- Public method SortHits ----------------------------------------
84
85 Int_t index=0;
86 map<Double_t, Int_t>::iterator it;
87
88 fStsHits.Reset();
89 fStsHits.Set(fStsHitMap.size());
90 index = 0;
91 for (it = fStsHitMap.begin(); it != fStsHitMap.end(); it++) {
92 fStsHits[index] = it->second;
93 index++;
94 }
95
96 fMvdHits.Reset();
97 fMvdHits.Set(fMvdHitMap.size());
98 index = 0;
99 for (it = fMvdHitMap.begin(); it != fMvdHitMap.end(); it++) {
100 fMvdHits[index] = it->second;
101 index++;
102 }
103
104}
105// -------------------------------------------------------------------------
106
107// ----- Public method SortMvdHits ----------------------------------------
109
110 Int_t index=0;
111 map<Double_t, Int_t>::iterator it;
112
113 fMvdHits.Reset();
114 fMvdHits.Set(fMvdHitMap.size());
115 for (it = fMvdHitMap.begin(); it != fMvdHitMap.end(); it++) {
116 fMvdHits[index] = it->second;
117 index++;
118 }
119
120}
121// -------------------------------------------------------------------------
122
123Double_t CbmStsTrack::GetPt() const
124{
125 //AZ-260124 - compute Pt at first point
126
127 Double_t tx = fParamFirst.GetTx();
128 Double_t ty = fParamFirst.GetTy();
129 Double_t txy2 = tx*tx + ty*ty;
130 Double_t pz = TMath::Abs(1/fParamFirst.GetQp()) / TMath::Sqrt(1+txy2);
131 Double_t pt = pz * TMath::Sqrt(txy2);
132 return pt;
133}
134// -------------------------------------------------------------------------
135
136Double_t CbmStsTrack::GetEta() const
137{
138 //AZ-260124 - compute Eta at first point
139
140 Double_t tx = fParamFirst.GetTx();
141 Double_t ty = fParamFirst.GetTy();
142 Double_t txy2 = tx*tx + ty*ty;
143 Double_t pz = TMath::Abs(1/fParamFirst.GetQp()) / TMath::Sqrt(1+txy2);
144 Double_t pt = pz * TMath::Sqrt(txy2);
145 TVector3 mom (pt, 0.0, pz);
146 return mom.Eta();
147}
Double_t GetZ() const
Definition CbmBaseHit.h:48
virtual ~CbmStsTrack()
void SortHits()
void AddStsHit(Int_t hitIndex, FairHit *hit)
void AddMvdHit(Int_t hitIndex, FairHit *mvdHit)
Double_t GetEta() const
void SortMvdHits()
void AddPixelHit(Int_t hitIndex, CbmBaseHit *hit)
Double_t GetPt() const