AMSDST
myTrTrack.h
Go to the documentation of this file.
1 // Authors: M.Duranti - INFN di Perugia
2 #ifndef myTrTrack_h
3 #define myTrTrack_h
4 
5 #include "myTrTrackBase.h"
6 #include "myPoint.h"
7 #include "TMath.h"
8 
9 class myTrTrack: public myTrTrackBase {
10  public:
12  myTrTrack();
14  ~myTrTrack();
15 
16  // Int_t BitPatternJ;
18  Short_t Nhits;
19  Short_t NhitsX;
20  Short_t NhitsY;
21  Short_t NhitsXY;
22  // Int_t kDef;
23  Double32_t Rigidity;
24  Double32_t ErrRinv;
25  Double32_t Chisq;
26  Double32_t NormChisqX;
27  Double32_t NormChisqY;
28  Double32_t Theta;
29  Double32_t Phi;
30 
31  Float_t Q;
32  Float_t InnerQ;
33  Float_t LayerJQ[9];
34 
35  inline virtual Double_t costheta() { return TMath::Cos(Theta); }
36  inline virtual Double_t cossqtheta() { return TMath::Power(costheta(), 2.0); }
37  inline virtual Double_t sintheta() { return TMath::Sin(Theta); }
38  inline virtual Double_t sinphi() { return TMath::Sin(Phi); }
39 
41  inline virtual Float_t GetQ() { return Q; }
43  inline virtual Float_t GetInnerQ() { return InnerQ; }
45  inline virtual Float_t GetLayerJQ(int i_layer){ return LayerJQ[i_layer]; }
47  inline virtual Int_t GetBitPatternJ() { return BitPatternJ; }
48 
50  inline int HasExtLayers (){ int aa=0;if(BitPatternJ&0x001) aa|=1;if(BitPatternJ&0x100) aa|=2;return aa;}
51 
53  inline bool TestHitLayerJ(int layJ) {
54  if(BitPatternJ&(1<<(layJ-1))) return true;
55  else return false;
56  }
57 
58  Double32_t TrackXOnLayer[9];
59  Double32_t TrackYOnLayer[9];
60 
61  Double_t TkBeta(Double_t MASS);
62 
63  Short_t span();
64 
65  public:
66  virtual void Clear(Option_t* option="");
67  private:
68  virtual void init();
69 
70  public:
72 };
73 
74 #ifdef _WITHGBATCH_
75 
76 #include "gbatch.h"
77 class myTrTrackFiller: public myTrTrack
78 {
79  public:
81  myTrTrackFiller();
83  ~myTrTrackFiller();
84 
85  void Fill(TrTrackR* _track);
86 
87  TrTrackR* track;
88 
89  virtual void Clear(Option_t* option="");
90  private:
91  virtual void init();
92 
93  public:
94  ClassDef(myTrTrackFiller,1);
95 };
96 
97 #endif //#ifdef _WITHGBATCH_
98 
99 #endif