FairRoot/PandaRoot
PndTrkTrack.h
Go to the documentation of this file.
1 
6 #ifndef PNDTRKTRACK_H
7 #define PNDTRKTRACK_H 1
8 
9 #include "TVector3.h"
10 #include "TVector2.h"
11 #include "PndTrkCluster.h"
12 #include "PndTrackCand.h"
13 #include "PndTrack.h"
14 #include "PndTrkHit.h"
15 #include "PndTrkTools.h"
16 
17 class PndTrkTrack : public TObject
18 {
19 
20  public:
21 
22  PndTrkTrack();
23  PndTrkTrack(PndTrkCluster *cluster);
24  PndTrkTrack(PndTrkCluster *cluster, double x, double y, double radius);
25  PndTrkTrack(PndTrkHit *hit, PndTrkCluster *cluster, double x, double y, double radius);
26  PndTrkTrack(double x, double y, double radius);
29 
30  ~PndTrkTrack();
31 
32  PndTrkTrack& operator=(const PndTrkTrack& track);
33 
34  Bool_t operator==( PndTrkTrack track) ; // CHECK this needs to be changed
35 
36  void SetRadius(double radius) { fRadius = radius; }
37  void SetCenter(double x, double y) { fCenterX = x; fCenterY = y; }
38  void SetCenter(TVector3 center) { fCenterX = center.X(); fCenterY = center.Y(); }
39  void SetTanL(double tanl) { fTanL = tanl; }
40  void SetZ0(double z0) { fZ0 = z0;}
41  void SetCluster(PndTrkCluster *cluster) { fCluster = *cluster; }
42  void SetRefHit(PndTrkHit *hit) { fRefHit = hit; }
43  Double_t GetRadius() { return fRadius; }
44  TVector2 GetCenter() { return TVector2(fCenterX, fCenterY); }
45  Double_t GetTanL() { return fTanL; }
46  Double_t GetZ0() { return fZ0; }
47 
49 
50  Double_t ComputePhi(TVector3 hit);
51  Double_t ComputePhiFrom(TVector3 hit, TVector3 from);
52 
53  TVector3 ComputeMomentumAtPosition(TVector3 position, TVector3 &newposition);
54  void ComputeCharge();
57  Int_t GetCharge() { return fCharge; }
58 
59 
60  void Draw(Color_t color = kBlack);
61  void LightUp();
62 
63  void Clear(Option_t* opt = "");
64 
65  protected:
69  int fCharge;
70  double fPhiMin;
71  double fPhiMax;
72  // parameters:
73  // pT = p cos(lam)
74  // pL = p sin(lam)
75  // ==> pL = pT * tan(lam)
76  // z = z0 + s sin(lam) = z0 + tan(lam) [s cos(lam)]
77  // with s cos(lam) = proj track length = -q phi_rad* R
78  // ==> z = z0 - q tanl phi_rad R
79  // If I have z = z0 + k phi_deg ==> k 180/pi = -q tanl R ==> tanl = -q k (180/pi) /R
80 
81 
83 };
84 
85 
86 #endif
double fPhiMax
Definition: PndTrkTrack.h:71
Double_t tanl
Definition: checkhelixhit.C:63
Double_t z0
Definition: checkhelixhit.C:62
Double_t GetRadius()
Definition: PndTrkTrack.h:43
void Clear(Option_t *opt="")
PndTrack ConvertToPndTrack()
Bool_t operator==(PndTrkTrack track)
Definition: PndTrkTrack.cxx:97
PndTrackCand ConvertToPndTrackCand()
double fRadius
Definition: PndTrkTrack.h:68
void SetRefHit(PndTrkHit *hit)
Definition: PndTrkTrack.h:42
PndTrkCluster GetCluster()
Definition: PndTrkTrack.h:48
void SetTanL(double tanl)
Definition: PndTrkTrack.h:39
Double_t GetZ0()
Definition: PndTrkTrack.h:46
void SetCluster(PndTrkCluster *cluster)
Definition: PndTrkTrack.h:41
TVector2 GetCenter()
Definition: PndTrkTrack.h:44
double fPhiMin
Definition: PndTrkTrack.h:70
double fZ0
Definition: PndTrkTrack.h:68
Double_t ComputePhi(TVector3 hit)
void ComputeCharge()
Int_t GetCharge()
Definition: PndTrkTrack.h:57
TVector3 ComputeMomentumAtPosition(TVector3 position, TVector3 &newposition)
void SetCenter(double x, double y)
Definition: PndTrkTrack.h:37
double fCenterY
Definition: PndTrkTrack.h:68
Double_t
PndTrkTrack & operator=(const PndTrkTrack &track)
Definition: PndTrkTrack.cxx:83
void SetRadius(double radius)
Definition: PndTrkTrack.h:36
void SetCenter(TVector3 center)
Definition: PndTrkTrack.h:38
PndMCTrack * track
Definition: anaLmdCluster.C:89
void Draw(Color_t color=kBlack)
GFTrack * trk
Definition: checkgenfit.C:13
PndTrkHit * fRefHit
Definition: PndTrkTrack.h:67
Double_t x
void LightUp()
void SetZ0(double z0)
Definition: PndTrkTrack.h:40
ClassDef(PndTrkTrack, 1)
PndSdsMCPoint * hit
Definition: anasim.C:70
Double_t y
double fTanL
Definition: PndTrkTrack.h:68
double fCenterX
Definition: PndTrkTrack.h:68
Double_t GetTanL()
Definition: PndTrkTrack.h:45
PndTrkCluster fCluster
Definition: PndTrkTrack.h:66
Double_t ComputePhiFrom(TVector3 hit, TVector3 from)