FairRoot/PandaRoot
PndLmdTrackQ.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // ----- PndLmdTrackQ header file -----
3 // ----- Created 18/06/2013 by A.Karavdina -----
4 // -------------------------------------------------------------------------
5 
6 
14 #ifndef PNDLMDTRACKQ_H
15 #define PNDLMDTRACKQ_H
16 
17 
18 #include "TVector3.h"
19 #include "TString.h"
20 #include "TObject.h"
21 #include "TMatrixTSym.h"
22 #include "TMatrixDSym.h"
23 
24 #include <stdio.h>
25 #include <iostream>
26 
27 //#include "PndTrack.h"
28 
29 class PndLmdTrackQ: public TObject
30 {
31 public:
33  PndLmdTrackQ();
34 
35  PndLmdTrackQ(double Plab);
36 
38  ~PndLmdTrackQ();
39 
40 
47  void SetTrkRecStatus(int st){fTrkRecStatus = st;}
48 
53  int GetTrkRecStatus() const{return fTrkRecStatus;}
54 
56  void SetPDGcode(int pdg){fPDGcode = pdg;}
57 
60  int GetPDGcode() const{return fPDGcode;}
61 
63  void SetLMDpoint(double x, double y, double z){fXrecLMD=x;fYrecLMD=y;fZrecLMD=z;}
64 
66  void GetLMDpoint(TVector3& lmdp){lmdp.SetXYZ(fXrecLMD,fYrecLMD,fZrecLMD);}
67 
69  void SetLMDdir(double theta, double phi){fThetarecLMD = theta; fPhirecLMD = phi;}
70 
72  double GetLMDtheta() const{return fThetarecLMD;}
73 
75  double GetLMDphi() const{return fPhirecLMD;}
76 
78  void SetLMDchi2(double chi2){fchi2LMD = chi2;}
79 
81  double GetLMDchi2() const{return fchi2LMD;}
82 
84  void SetIPpoint(double x, double y, double z){fXrec=x;fYrec=y;fZrec=z;}
85 
87  void GetIPpoint(TVector3& lmdp){lmdp.SetXYZ(fXrec,fYrec,fZrec);}
88 
90  void SetIPmom(double theta, double phi,double mom){fThetarec = theta; fPhirec = phi; fMomrec = mom;}
91 
93  double GetIPtheta() const{return fThetarec;}
94 
96  double GetIPphi() const{return fPhirec;}
97 
99  double GetIPmom() const{return fMomrec;}
100 
102  void SetIPerrpoint(double errx, double erry, double errz){ferrXrec=errx;ferrYrec=erry;ferrZrec=errz;}
103 
105  void GetIPerrpoint(TVector3& lmdp){lmdp.SetXYZ(ferrXrec,ferrYrec,ferrZrec);}
106 
108  void SetIPerrmom(double errtheta, double errphi, double errmom){ferrThetarec = errtheta; ferrPhirec = errphi; ferrMomrec = errmom;}
109 
111  void GetIPerrmom(TVector3& lmerrdp){lmerrdp.SetXYZ(ferrThetarec,ferrPhirec,ferrMomrec);}
112 
114  void SetMCpoint(double x, double y, double z){fXmc=x;fYmc=y;fZmc=z;}
115 
117  void GetMCpoint(TVector3& lmdp){lmdp.SetXYZ(fXmc,fYmc,fZmc);}
118 
120  void SetMCmom(double theta, double phi,double mom){fThetamc = theta; fPhimc = phi; fMommc = mom;}
121 
123  double GetMCtheta() const{return fThetamc;}
124 
126  double GetMCphi() const{return fPhimc;}
127 
129  double GetMCmom() const{return fMommc;}
130 
132  void GetMCpointLMD(TVector3& lmdp){lmdp.SetXYZ(fXmcLMD,fYmcLMD,fZmcLMD);}
133 
135  void SetMCpointLMD(double x, double y, double z){fXmcLMD=x;fYmcLMD=y;fZmcLMD=z;}
136 
138  void SetMCmomLMD(double theta, double phi,double mom){fThetamcLMD = theta; fPhimcLMD = phi; fMommcLMD = mom;}
139 
141  double GetMCthetaLMD() const{return fThetamcLMD;}
142 
144  double GetMCphiLMD() const{return fPhimcLMD;}
145 
147  double GetMCmomLMD() const{return fMommcLMD;}
148 
151  void SetSecondary(int sec){fSecondary = sec;}
152 
155  int GetSecondary() const{return fSecondary;}
156 
159 
161  int GetNumMChits() const{return fnumMChits;}
162 
165 
168 
170  void SetSumEvPDG(int sumid){fsumID=sumid;}
171 
173  int GetSumEvPDG() const{return fsumID;}
174 
175  /* void SetTotEvCharge(int totch){ ftotCharge = totch;} */
176  /* int GetTotEvCharge() const{return ftotCharge;} */
177 
179  void SetEvMCMulti(int tot){ fnumEvparticles = tot;}
180 
182  int GetEvMCMulti() const{return fnumEvparticles;}
183 
185  void SetEvRECMulti(int tot){ fnumEvRECparticles = tot;}
186 
188  int GetEvRECMulti() const{return fnumEvRECparticles;}
189 
191  void SetEvTime(double evtm){ fEvTime = evtm;}
192  void SetTrkTime(double trktm){ fTrkTime = trktm;}
193  double GetEvTime() const{return fEvTime;}
194  double GetTrkTime() const{return fTrkTime;}
195 
197  void SetModule(int mod){fModule = mod;}
198  void SetHalf(int hf){fHalf = hf;}
199  int GetModule() const{return fModule;}
200  int GetHalf() const{return fHalf;}
201  private:
202 
203  // Int_t ftotCharge;
211  int fTrkRecStatus;// 0 = good,
212  int fSecondary;//0=primary, 1=secondary
213  int fPDGcode;// PDG code particle made the main contribution (65 % of hits) to the rec.track, -9999=n/a
214  int fnumMChits;//number of MC hits for MC trk
215  int fnumMCdoublehits;//number of doubled [diff side of one plane] MC hits for MC trk
216  // >0 = ghost: 1 = hit mixture, 2 = doubled trk
217  // <0 = missed: -1=trk-search losses,-2=little amount of hits,-3=no MC hits, -10=trk wasn't back-propag
218  double fEvTime;//global time for event
219  double fTrkTime;//time for 1st hit in the Trk = ToF (flight time from IP to LMD)
220 
221  int fModule; //module number of 1st hit
222  int fHalf;// half of the plane number of 1st hit
224 };
225 
226 #endif
void SetModule(int mod)
Definition: PndLmdTrackQ.h:197
void SetEvRECMulti(int tot)
Definition: PndLmdTrackQ.h:185
int GetNumDoubleMChits() const
Definition: PndLmdTrackQ.h:167
int GetModule() const
Definition: PndLmdTrackQ.h:199
Int_t fnumEvparticles
Definition: PndLmdTrackQ.h:204
Double_t fZrec
Definition: PndLmdTrackQ.h:206
Double_t fThetarec
Definition: PndLmdTrackQ.h:206
Double_t ferrXrec
Definition: PndLmdTrackQ.h:207
Double_t fYmc
Definition: PndLmdTrackQ.h:208
Double_t fPhimc
Definition: PndLmdTrackQ.h:208
int num[96]
Definition: ranlxd.cxx:381
Double_t fZmcLMD
Definition: PndLmdTrackQ.h:209
int GetEvRECMulti() const
Definition: PndLmdTrackQ.h:188
void GetIPerrmom(TVector3 &lmerrdp)
Definition: PndLmdTrackQ.h:111
Double_t ferrZrec
Definition: PndLmdTrackQ.h:207
void SetMCmom(double theta, double phi, double mom)
Definition: PndLmdTrackQ.h:120
double GetMCmom() const
Definition: PndLmdTrackQ.h:129
void SetMCpoint(double x, double y, double z)
Definition: PndLmdTrackQ.h:114
void SetTrkRecStatus(int st)
Definition: PndLmdTrackQ.h:47
double GetEvTime() const
Definition: PndLmdTrackQ.h:193
void SetLMDdir(double theta, double phi)
Definition: PndLmdTrackQ.h:69
double GetTrkTime() const
Definition: PndLmdTrackQ.h:194
Double_t mom
Definition: plot_dirc.C:14
double GetIPtheta() const
Definition: PndLmdTrackQ.h:93
double GetLMDtheta() const
Definition: PndLmdTrackQ.h:72
int GetSecondary() const
Definition: PndLmdTrackQ.h:155
Double_t fThetamc
Definition: PndLmdTrackQ.h:208
int GetHalf() const
Definition: PndLmdTrackQ.h:200
void GetMCpoint(TVector3 &lmdp)
Definition: PndLmdTrackQ.h:117
void GetIPerrpoint(TVector3 &lmdp)
Definition: PndLmdTrackQ.h:105
void SetIPpoint(double x, double y, double z)
Definition: PndLmdTrackQ.h:84
void SetMCpointLMD(double x, double y, double z)
Definition: PndLmdTrackQ.h:135
int GetNumMChits() const
Definition: PndLmdTrackQ.h:161
int GetEvMCMulti() const
Definition: PndLmdTrackQ.h:182
int fnumMCdoublehits
Definition: PndLmdTrackQ.h:215
void SetIPerrpoint(double errx, double erry, double errz)
Definition: PndLmdTrackQ.h:102
Double_t fXrecLMD
Definition: PndLmdTrackQ.h:205
int GetSumEvPDG() const
Definition: PndLmdTrackQ.h:173
void SetMCmomLMD(double theta, double phi, double mom)
Definition: PndLmdTrackQ.h:138
Double_t fZrecLMD
Definition: PndLmdTrackQ.h:205
double GetMCphi() const
Definition: PndLmdTrackQ.h:126
Double_t fZmc
Definition: PndLmdTrackQ.h:208
void SetPDGcode(int pdg)
Definition: PndLmdTrackQ.h:56
Double_t
ClassDef(PndLmdTrackQ, 11)
Double_t fXmcLMD
Definition: PndLmdTrackQ.h:209
void SetSecondary(int sec)
Definition: PndLmdTrackQ.h:151
int GetPDGcode() const
Definition: PndLmdTrackQ.h:60
void SetIPerrmom(double errtheta, double errphi, double errmom)
Definition: PndLmdTrackQ.h:108
Double_t fMommcLMD
Definition: PndLmdTrackQ.h:209
Double_t fMommc
Definition: PndLmdTrackQ.h:208
Double_t fPhirecLMD
Definition: PndLmdTrackQ.h:205
Double_t fXmc
Definition: PndLmdTrackQ.h:208
double GetMCphiLMD() const
Definition: PndLmdTrackQ.h:144
Double_t z
void SetEvTime(double evtm)
Definition: PndLmdTrackQ.h:191
Double_t fchi2LMD
Definition: PndLmdTrackQ.h:210
void SetTrkTime(double trktm)
Definition: PndLmdTrackQ.h:192
void SetSumEvPDG(int sumid)
Definition: PndLmdTrackQ.h:170
void SetLMDchi2(double chi2)
Definition: PndLmdTrackQ.h:78
void SetLMDpoint(double x, double y, double z)
Definition: PndLmdTrackQ.h:63
double GetLMDchi2() const
Definition: PndLmdTrackQ.h:81
double GetMCmomLMD() const
Definition: PndLmdTrackQ.h:147
double GetMCthetaLMD() const
Definition: PndLmdTrackQ.h:141
Double_t fPhimcLMD
Definition: PndLmdTrackQ.h:209
Int_t fnumEvRECparticles
Definition: PndLmdTrackQ.h:204
Double_t x
void SetNumMChits(int num)
Definition: PndLmdTrackQ.h:158
double fTrkTime
Definition: PndLmdTrackQ.h:219
void SetNumDoubleMChits(int num)
Definition: PndLmdTrackQ.h:164
void GetLMDpoint(TVector3 &lmdp)
Definition: PndLmdTrackQ.h:66
Double_t fMomrec
Definition: PndLmdTrackQ.h:206
Double_t fYrecLMD
Definition: PndLmdTrackQ.h:205
Double_t fPhirec
Definition: PndLmdTrackQ.h:206
Double_t fYmcLMD
Definition: PndLmdTrackQ.h:209
void GetMCpointLMD(TVector3 &lmdp)
Definition: PndLmdTrackQ.h:132
Double_t fYrec
Definition: PndLmdTrackQ.h:206
double GetLMDphi() const
Definition: PndLmdTrackQ.h:75
Double_t fThetamcLMD
Definition: PndLmdTrackQ.h:209
Double_t ferrThetarec
Definition: PndLmdTrackQ.h:207
double GetIPphi() const
Definition: PndLmdTrackQ.h:96
void SetEvMCMulti(int tot)
Definition: PndLmdTrackQ.h:179
Double_t y
Double_t fXrec
Definition: PndLmdTrackQ.h:206
Double_t ferrPhirec
Definition: PndLmdTrackQ.h:207
Double_t ferrYrec
Definition: PndLmdTrackQ.h:207
int GetTrkRecStatus() const
Definition: PndLmdTrackQ.h:53
void GetIPpoint(TVector3 &lmdp)
Definition: PndLmdTrackQ.h:87
double GetIPmom() const
Definition: PndLmdTrackQ.h:99
void SetIPmom(double theta, double phi, double mom)
Definition: PndLmdTrackQ.h:90
Double_t ferrMomrec
Definition: PndLmdTrackQ.h:207
Double_t fThetarecLMD
Definition: PndLmdTrackQ.h:205
void SetHalf(int hf)
Definition: PndLmdTrackQ.h:198
double GetMCtheta() const
Definition: PndLmdTrackQ.h:123
double fEvTime
Definition: PndLmdTrackQ.h:218