BmnRoot
Loading...
Searching...
No Matches
BmnTrack.h
Go to the documentation of this file.
1/*
2 * Base class to store BMN tracks
3 * Author: Sergei Merts
4 */
5
6#ifndef BMNTRACK_H
7#define BMNTRACK_H
8
9#include "FairTrackParam.h"
10#include "TArrayI.h"
11#include "TObject.h"
12#include "FairHit.h"
13#include <TClonesArray.h>
14#include <map>
15
16using namespace std;
17
18class BmnTrack : public TObject {
19public:
20
22 BmnTrack();
23
25 virtual ~BmnTrack();
26
28 void AddHit(Int_t hitIndex, FairHit* Hit);
29
33 void Print();
34
39 void SortHits();
40 void DeleteHits() {fHitMap.clear(); fNhits=0;};
41
44 Int_t GetNHits() const {
45 return fNhits;
46 }
47
48 Int_t GetHitIndex(Int_t iHit) const {
49 return fHits.At(iHit);
50 }
51
52 Int_t GetFlag() const {
53 return fFlag;
54 }
55
56 Float_t GetChi2() const {
57 return fChi2;
58 }
59
60 Int_t GetNDF() const {
61 return fNDF;
62 }
63
64 Float_t GetB() const {
65 return fB;
66 }
67
68 Float_t GetLength() const {
69 return fLength;
70 }
71
72 FairTrackParam* GetParamFirst() {
73 return &fParamFirst;
74 }
75
76 FairTrackParam* GetParamLast() {
77 return &fParamLast;
78 }
79
80 Double_t GetP() {
81 return 1.0 / fParamFirst.GetQp();
82 }
83
85 void SetParamFirst(FairTrackParam& par) {
86 fParamFirst = par;
87 }
88
89 void SetParamLast(FairTrackParam& par) {
90 fParamLast = par;
91 }
92
93 void SetFlag(Int_t flag) {
94 fFlag = flag;
95 }
96
97 void SetChi2(Double_t chi2) {
98 fChi2 = chi2;
99 }
100
101 void SetNDF(Int_t ndf) {
102 fNDF = ndf;
103 }
104
105 void SetNHits(Int_t n) {
106 fNhits = n;
107 }
108
109 void SetB(Double_t b) {
110 fB = b;
111 }
112
113 void SetLength(Double_t length) {
114 fLength = length;
115 }
116
117 Bool_t IsUsed() {
118 return fUsing;
119 }
120
121 void SetUsing(Bool_t flag) {
122 fUsing = flag;
123 }
124
125private:
126
128 TArrayI fHits;
129
131 FairTrackParam fParamFirst;
132 FairTrackParam fParamLast;
133
135 Int_t fFlag; // 13 for tracks not used in vertex finder
136
138 Float_t fChi2;
139 Int_t fNDF;
140
142 Float_t fB;
143
145 Float_t fLength;
146
148 Int_t fNhits;
149
154 map<Float_t, Int_t> fHitMap;
155
156 Bool_t fUsing;
157
158 ClassDef(BmnTrack, 2);
159
160};
161
162#endif /* BMNTRACK_H */
163
Int_t GetNDF() const
Definition BmnTrack.h:60
void SetChi2(Double_t chi2)
Definition BmnTrack.h:97
Float_t GetLength() const
Definition BmnTrack.h:68
void SetParamLast(FairTrackParam &par)
Definition BmnTrack.h:89
void Print()
Definition BmnTrack.cxx:31
void SetFlag(Int_t flag)
Definition BmnTrack.h:93
FairTrackParam * GetParamFirst()
Definition BmnTrack.h:72
Float_t GetChi2() const
Definition BmnTrack.h:56
Int_t GetNHits() const
Definition BmnTrack.h:44
Int_t GetHitIndex(Int_t iHit) const
Definition BmnTrack.h:48
virtual ~BmnTrack()
Definition BmnTrack.cxx:21
Bool_t IsUsed()
Definition BmnTrack.h:117
void AddHit(Int_t hitIndex, FairHit *Hit)
Definition BmnTrack.cxx:26
void DeleteHits()
Definition BmnTrack.h:40
Float_t GetB() const
Definition BmnTrack.h:64
Double_t GetP()
Definition BmnTrack.h:80
void SetNHits(Int_t n)
Definition BmnTrack.h:105
void SetUsing(Bool_t flag)
Definition BmnTrack.h:121
void SetB(Double_t b)
Definition BmnTrack.h:109
void SetParamFirst(FairTrackParam &par)
Definition BmnTrack.h:85
FairTrackParam * GetParamLast()
Definition BmnTrack.h:76
void SetLength(Double_t length)
Definition BmnTrack.h:113
Int_t GetFlag() const
Definition BmnTrack.h:52
void SortHits()
Definition BmnTrack.cxx:41
void SetNDF(Int_t ndf)
Definition BmnTrack.h:101
STL namespace.