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 
14 #ifndef PNDSTTTRACK_H
15 #define PNDSTTTRACK_H
16 
17 #include <map>
18 #include "TArrayI.h"
19 #include "TObject.h"
20 #include "FairTrackParam.h"
21 #include "FairMultiLinkedData_Interface.h"
22 #include "TClonesArray.h"
23 
24 class PndSttHit;
25 
26 class PndSttTrack : public FairMultiLinkedData_Interface {
27  public:
29  PndSttTrack();
30 
32  virtual ~PndSttTrack();
33 
37  void Print();
38 
40  Int_t GetTrackCandIndex() { return fTrackCandIndex; }
41 
43  Int_t GetNofHelixHits() const { return fHelixHits.GetSize(); };
44  Int_t GetHelixHitIndex(Int_t iHit) const { return fHelixHits.At(iHit); };
45  Int_t GetPidHypo() const { return fPidHypo; };
46  Int_t GetFlag() const { return fFlag; };
47  Double_t GetChi2Long() const { return fChi2Long; };
48  Double_t GetChi2Rad() const { return fChi2Rad; };
49  Int_t GetNDF() const { return fNDF; };
50 
52  Double_t GetDist() { return fDist; };
53  Double_t GetPhi() { return fPhi; };
54  Double_t GetRad() { return fRad; };
55  Double_t GetTanL() { return fTanL; };
56  Double_t GetZ() { return fZ; };
57 
58  Int_t GetCharge() { return fH; };
59 
60  // Momentum, but where?? // CHECK
61  /* Double_t GetMomentum(); */
62  /* Double_t GetPlong(); */
63  /* Double_t GetPtot(); */
64 
65  // track length calculation
66  Double_t CalculateScosl(Double_t x, Double_t y);
67  // find the tri-momentum in the PCA to a point
68  TVector3 *MomentumAtPoint(TVector3 *point);
69  // find the PCA to a point
70  TVector3 *PCAToPoint(TVector3 *point);
71 
73  void SetTrackCandIndex(Int_t trackCandID) { fTrackCandIndex = trackCandID; };
74  void SetPidHypo(Int_t pid) { fPidHypo = pid; };
75  void SetParameters(Double_t d, Double_t phi, Double_t r, Double_t tanl, Double_t z)
76  {
77  fDist = d;
78  fPhi = phi;
79  fRad = r;
80  fTanL = tanl;
81  fZ = z;
82  };
83 
84  void SetDist(Double_t dist) { fDist = dist; }
85  void SetPhi(Double_t phi) { fPhi = phi; }
86  void SetRad(Double_t r) { fRad = r; }
87  void SetTanL(Double_t tanl) { fTanL = tanl; }
88  void SetZ(Double_t z) { fZ = z; }
89  void SetCharge(Int_t charge) { fH = charge; }
90 
91  void SetFlag(Int_t flag) { fFlag = flag; };
92  void SetChi2Long(Double_t chi2) { fChi2Long = chi2; };
93  void SetChi2Rad(Double_t chi2) { fChi2Rad = chi2; };
94  void SetNDF(Int_t ndf) { fNDF = ndf; };
95 
96  void AddHelixHit(Int_t size, Int_t index, Int_t helixhitindex);
97 
98  private:
100  TArrayI fHelixHits;
101 
103  Int_t fPidHypo;
104 
106  Double_t fDist, fPhi, fRad, fTanL, fZ;
107  Int_t fH;
108 
110  Int_t fFlag;
111 
113  Double_t fChi2Long;
114  Int_t fNDF;
115  Double_t fChi2Rad;
116 
118  Int_t fTrackCandIndex;
119 
120  ClassDef(PndSttTrack, 1);
121 };
122 
123 #endif
void SetChi2Rad(Double_t chi2)
Definition: PndSttTrack.h:93
Int_t GetNDF() const
Definition: PndSttTrack.h:49
Double_t GetTanL()
Definition: PndSttTrack.h:55
Double_t GetZ()
Definition: PndSttTrack.h:56
Double_t GetChi2Long() const
Definition: PndSttTrack.h:47
void SetNDF(Int_t ndf)
Definition: PndSttTrack.h:94
Int_t GetTrackCandIndex()
Definition: PndSttTrack.h:40
Double_t GetChi2Rad() const
Definition: PndSttTrack.h:48
TVector3 * PCAToPoint(TVector3 *point)
void Print()
void AddHelixHit(Int_t size, Int_t index, Int_t helixhitindex)
Double_t GetDist()
Definition: PndSttTrack.h:52
void SetCharge(Int_t charge)
Definition: PndSttTrack.h:89
Double_t GetRad()
Definition: PndSttTrack.h:54
TVector3 * MomentumAtPoint(TVector3 *point)
virtual ~PndSttTrack()
void SetZ(Double_t z)
Definition: PndSttTrack.h:88
Double_t GetPhi()
Definition: PndSttTrack.h:53
void SetPhi(Double_t phi)
Definition: PndSttTrack.h:85
void SetDist(Double_t dist)
Definition: PndSttTrack.h:84
void SetTrackCandIndex(Int_t trackCandID)
Definition: PndSttTrack.h:73
void SetRad(Double_t r)
Definition: PndSttTrack.h:86
Int_t GetCharge()
Definition: PndSttTrack.h:58
void SetPidHypo(Int_t pid)
Definition: PndSttTrack.h:74
Int_t GetNofHelixHits() const
Definition: PndSttTrack.h:43
void SetParameters(Double_t d, Double_t phi, Double_t r, Double_t tanl, Double_t z)
Definition: PndSttTrack.h:75
Double_t CalculateScosl(Double_t x, Double_t y)
void SetChi2Long(Double_t chi2)
Definition: PndSttTrack.h:92
Int_t GetHelixHitIndex(Int_t iHit) const
Definition: PndSttTrack.h:44
Int_t GetPidHypo() const
Definition: PndSttTrack.h:45
void SetFlag(Int_t flag)
Definition: PndSttTrack.h:91
Int_t GetFlag() const
Definition: PndSttTrack.h:46
void SetTanL(Double_t tanl)
Definition: PndSttTrack.h:87