FairRoot/PandaRoot
PndSttTrack.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndSttTrack header file -----
3 // ----- Created 28/03/06 by R. Castelijns -----
4 // -------------------------------------------------------------------------
5 
6 
15 #ifndef PNDSTTTRACK_H
16 #define PNDSTTTRACK_H
17 
18 
19 #include <map>
20 #include "TArrayI.h"
21 #include "TObject.h"
22 #include "FairTrackParam.h"
23 #include "FairMultiLinkedData_Interface.h"
24 #include "TClonesArray.h"
25 
26 class PndSttHit;
27 
28 class PndSttTrack : public FairMultiLinkedData_Interface
29 {
30  public:
31 
33  PndSttTrack();
34 
35 
37  virtual ~PndSttTrack();
38 
42  void Print();
43 
46 
48  Int_t GetNofHelixHits() const { return fHelixHits.GetSize(); };
49  Int_t GetHelixHitIndex(Int_t iHit) const { return fHelixHits.At(iHit); };
50  Int_t GetPidHypo() const { return fPidHypo; };
51  Int_t GetFlag() const { return fFlag; };
52  Double_t GetChi2Long() const { return fChi2Long; };
53  Double_t GetChi2Rad() const { return fChi2Rad; };
54  Int_t GetNDF() const { return fNDF; };
55 
57  Double_t GetDist() {return fDist; };
58  Double_t GetPhi() {return fPhi; };
59  Double_t GetRad() {return fRad; };
60  Double_t GetTanL() {return fTanL; };
61  Double_t GetZ() {return fZ; };
62 
63  Int_t GetCharge() {return fH; };
64 
65  // Momentum, but where?? // CHECK
66  /* Double_t GetMomentum(); */
67  /* Double_t GetPlong(); */
68  /* Double_t GetPtot(); */
69 
70  // track length calculation
72  // find the tri-momentum in the PCA to a point
73  TVector3* MomentumAtPoint(TVector3 *point);
74  // find the PCA to a point
75  TVector3* PCAToPoint(TVector3 *point);
76 
78  void SetTrackCandIndex(Int_t trackCandID){ fTrackCandIndex = trackCandID; };
79  void SetPidHypo(Int_t pid) { fPidHypo = pid; };
81  fDist = d;
82  fPhi = phi;
83  fRad = r;
84  fTanL = tanl;
85  fZ = z; };
86 
87  void SetDist(Double_t dist) {fDist = dist;}
88  void SetPhi(Double_t phi) {fPhi = phi;}
89  void SetRad(Double_t r) {fRad = r;}
91  void SetZ(Double_t z) {fZ = z;}
92  void SetCharge(Int_t charge) {fH = charge;}
93 
94 
95  void SetFlag(Int_t flag) { fFlag = flag; };
96  void SetChi2Long(Double_t chi2) { fChi2Long = chi2; };
97  void SetChi2Rad(Double_t chi2) { fChi2Rad = chi2; };
98  void SetNDF(Int_t ndf) { fNDF = ndf; };
99 
100  void AddHelixHit(Int_t size, Int_t index, Int_t helixhitindex);
101 
102  private:
104  TArrayI fHelixHits;
105 
107  Int_t fPidHypo;
108 
111  Int_t fH;
112 
114  Int_t fFlag;
115 
118  Int_t fNDF;
120 
123 
124 
126 };
127 
128 
129 
130 
131 
132 #endif
Double_t tanl
Definition: checkhelixhit.C:63
TVector3 * MomentumAtPoint(TVector3 *point)
Definition: PndSttTrack.cxx:90
void SetChi2Rad(Double_t chi2)
Definition: PndSttTrack.h:97
Double_t GetTanL()
Definition: PndSttTrack.h:60
Int_t fTrackCandIndex
// CHECK not for now, maybe in future if needed
Definition: PndSttTrack.h:122
Int_t GetNofHelixHits() const
Definition: PndSttTrack.h:48
double r
Definition: RiemannTest.C:14
TObjArray * d
Double_t GetZ()
Definition: PndSttTrack.h:61
Double_t fPhi
Definition: PndSttTrack.h:110
void SetNDF(Int_t ndf)
Definition: PndSttTrack.h:98
Int_t GetTrackCandIndex()
Definition: PndSttTrack.h:45
Int_t fNDF
// CHECK not for now, maybe in future if needed
Definition: PndSttTrack.h:118
Int_t fPidHypo
Definition: PndSttTrack.h:107
void Print()
Definition: PndSttTrack.cxx:31
int pid()
Double_t fChi2Rad
// CHECK not for now, maybe in future if needed
Definition: PndSttTrack.h:119
Double_t fTanL
Definition: PndSttTrack.h:110
Double_t fChi2Long
Definition: PndSttTrack.h:117
void AddHelixHit(Int_t size, Int_t index, Int_t helixhitindex)
Definition: PndSttTrack.cxx:42
TVector3 * PCAToPoint(TVector3 *point)
Definition: PndSttTrack.cxx:52
Double_t fDist
// CHECK not for now, maybe in future if needed
Definition: PndSttTrack.h:110
Double_t GetDist()
Definition: PndSttTrack.h:57
TArrayI fHelixHits
Definition: PndSttTrack.h:104
virtual ~PndSttTrack()
Definition: PndSttTrack.cxx:26
Int_t GetNDF() const
Definition: PndSttTrack.h:54
void SetCharge(Int_t charge)
Definition: PndSttTrack.h:92
Double_t GetRad()
Definition: PndSttTrack.h:59
void SetZ(Double_t z)
Definition: PndSttTrack.h:91
Double_t GetPhi()
Definition: PndSttTrack.h:58
void SetPhi(Double_t phi)
Definition: PndSttTrack.h:88
void SetDist(Double_t dist)
Definition: PndSttTrack.h:87
void SetTrackCandIndex(Int_t trackCandID)
Definition: PndSttTrack.h:78
Double_t
Int_t GetPidHypo() const
Definition: PndSttTrack.h:50
void SetRad(Double_t r)
Definition: PndSttTrack.h:89
Int_t GetCharge()
Definition: PndSttTrack.h:63
Double_t z
void SetPidHypo(Int_t pid)
Definition: PndSttTrack.h:79
Double_t GetChi2Long() const
Definition: PndSttTrack.h:52
Double_t x
Int_t GetHelixHitIndex(Int_t iHit) const
Definition: PndSttTrack.h:49
void SetParameters(Double_t d, Double_t phi, Double_t r, Double_t tanl, Double_t z)
Definition: PndSttTrack.h:80
Double_t CalculateScosl(Double_t x, Double_t y)
Double_t fRad
Definition: PndSttTrack.h:110
ClassDef(PndSttTrack, 1)
void SetChi2Long(Double_t chi2)
Definition: PndSttTrack.h:96
Double_t y
Int_t GetFlag() const
Definition: PndSttTrack.h:51
void SetFlag(Int_t flag)
Definition: PndSttTrack.h:95
Double_t GetChi2Rad() const
Definition: PndSttTrack.h:53
Double_t fZ
Definition: PndSttTrack.h:110
PndSdsMCPoint * point
Definition: anaLmdCluster.C:72
void SetTanL(Double_t tanl)
Definition: PndSttTrack.h:90