HARPO  5.1.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
base/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 SetChamber(TpcSimChamber* c){fChamber = c;}
79  // TpcSimChamber* GetChamber() { return fChamber;}
80 
81  private:
82 
83  Int_t fNpoints;
84  Int_t fMCTrackId;
85  Int_t fEventId;
86  Int_t fRunId;
87  Int_t fParticleId;
88  Double_t fPx;
89  Double_t fPy;
90  Double_t fPz;
91  Double_t fXorig;
92  Double_t fYorig;
93  Double_t fZorig;
94  Double_t fTorig;
95  // TpcSimChamber* fChamber;
96  TClonesArray* fPoints;
97  //TpcSimIonisationPoint** fPoints;
98 
99  static const Int_t fkMaxNpoints = 100000;
100 
102 
103 };
104 
105 
106 
107 #endif
ClassDef(TpcSimIonisationPoint, 1)
void AddPoint(TpcSimIonisationPoint *point)
TpcSimIonisationPoint * GetPoint(Int_t i)
ClassDef(TpcSimIonisationTrack, 1)