HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
simbase/TpcSimIonisationTrack.h
Go to the documentation of this file.
1 #ifndef TPCSIMIONISATIONTRACK_H
2 #define TPCSIMIONISATIONTRACK_H
3 
4 
6 //
7 // TpcSimIonisationTrack
8 //
9 // Simulated track in the gas volume: ionisation points + MC info
10 //
12 
13 #include "TObject.h"
14 #include "TClonesArray.h"
15 
16 //#include "TpcSimIonisationChamber.h"
17 
18 class TpcSimIonisationPoint : public TObject {
19 
20  public:
23  TpcSimIonisationPoint(Int_t Ne, Double_t X, Double_t Y, Double_t Z, Double_t T, Double_t Eloss, Double_t Eleft);
25 
26  Int_t GetNe() {return fNe;}
27  Double_t GetX() {return fX;}
28  Double_t GetY() {return fY;}
29  Double_t GetZ() {return fZ;}
30  Double_t GetT() {return fT;}
31  Double_t GetEloss() {return fEloss;}
32  Double_t GetEleft() {return fEleft;}
33 
34  void SetNe(Int_t value) {fNe = value;}
35  void SetX(Double_t value) {fX = value;}
36  void SetY(Double_t value) {fY = value;}
37  void SetZ(Double_t value) {fZ = value;}
38  void SetEloss(Double_t value) {fEloss = value;}
39  void SetEleft(Double_t value) {fEleft = value;}
40 
41  private:
42 
43  Int_t fNe;
44  Double_t fX;
45  Double_t fY;
46  Double_t fZ;
47  Double_t fT;
48  Double_t fEloss;
49  Double_t fEleft;
50 
52 };
53 
54 
55 
56 
57 class TpcSimIonisationTrack : public TObject {
58 
59  public:
62  TpcSimIonisationTrack(Double_t Xorig, Double_t Yorig, Double_t Zorig, Double_t Torig,
63  Double_t Px, Double_t Py, Double_t Pz,
64  Int_t pID,
65  Int_t runId, Int_t eId, Int_t tId);
66  virtual ~TpcSimIonisationTrack();
67 
68  // void GenerateTrack(Int_t seed = 0);
70  if(i<0 || i>=fkMaxNpoints) return 0;
71  return (TpcSimIonisationPoint*)fPoints->At(i);
72  //return fPoints[i];
73  }
74  Int_t GetNpoints() {return fNpoints;}
75 
76  void AddPoint(TpcSimIonisationPoint* point);
77 
78  /* void SetMCTrackId( Int_t val){fMCTrackId = val;} */
79  /* void SetEventId( Int_t val){fEventId = val;} */
80  /* void SetRunId( Int_t val){fRunId = val;} */
81  /* void SetParticleId( Int_t val){fParticleId = val;} */
82  /* void SetPx( Double_t val){fPx = val;} */
83  /* void SetPy( Double_t val){fPy = val;} */
84  /* void SetPz( Double_t val){fPz = val;} */
85  /* void SetXorig( Double_t val){fXorig = val;} */
86  /* void SetYorig( Double_t val){fYorig = val;} */
87  /* void SetZorig( Double_t val){fZorig = val;} */
88  /* void SetTorig( Double_t val){fTorig = val;} */
89 
90  /* Int_t GetMCTrackId() {return fMCTrackId;} */
91  /* Int_t GetEventId() {return fEventId;} */
92  /* Int_t GetRunId() {return fRunId;} */
93  /* Int_t GetParticleId(){return fParticleId;} */
94  /* Double_t GetPx() {return fPx;} */
95  /* Double_t GetPy() {return fPy;} */
96  /* Double_t GetPz() {return fPz;} */
97  /* Double_t GetXorig() {return fXorig;} */
98  /* Double_t GetYorig() {return fYorig;} */
99  /* Double_t GetZorig() {return fZorig;} */
100  /* Double_t GetTorig() {return fTorig;} */
101 
102 
103  // void SetChamber(TpcSimChamber* c){fChamber = c;}
104  // TpcSimChamber* GetChamber() { return fChamber;}
105 
106  friend class TpcSimMCEvent;
107 
108  private:
109 
110  static const Int_t fkMaxNpoints = 100000;
111 
112  Int_t fNpoints;
113  Int_t fMCTrackId;
114  Int_t fEventId;
115  Int_t fRunId;
116  Int_t fParticleId;
117  Double_t fPx;
118  Double_t fPy;
119  Double_t fPz;
120  Double_t fXorig;
121  Double_t fYorig;
122  Double_t fZorig;
123  Double_t fTorig;
124  // TpcSimChamber* fChamber;
125  TClonesArray* fPoints;
126  //TpcSimIonisationPoint** fPoints;
127 
129 
130 };
131 
132 
133 
134 #endif
ClassDef(TpcSimIonisationPoint, 1)
void AddPoint(TpcSimIonisationPoint *point)
TpcSimIonisationPoint * GetPoint(Int_t i)
ClassDef(TpcSimIonisationTrack, 1)