28 |
Double_t fXIN; |
Double_t fXIN; |
29 |
Double_t fYIN; |
Double_t fYIN; |
30 |
Double_t fZIN; |
Double_t fZIN; |
31 |
|
Bool_t fPRIM; //1 if it was a hit from primary particle |
32 |
|
|
33 |
pHitData(): fPOS(0), fPDG(0), fPATH(0.), fTOF(0.), fPIN(0.), fXOUT (0.), |
pHitData(): fPOS(0), fPDG(0), fPATH(0.), fTOF(0.), fPIN(0.), fXOUT (0.), |
34 |
fYOUT (0.), fZOUT (0.), fEREL (0.), |
fYOUT (0.), fZOUT (0.), fEREL (0.), |
35 |
fXIN(0.), fYIN (0.), fZIN (0.) { }; |
fXIN(0.), fYIN (0.), fZIN (0.), fPRIM(kFALSE) { }; |
36 |
|
|
37 |
|
|
38 |
// Kept for back-compatibility |
// Kept for back-compatibility |
41 |
fPATH= fTOF= fPIN= fXOUT = |
fPATH= fTOF= fPIN= fXOUT = |
42 |
fYOUT = fZOUT = fEREL = |
fYOUT = fZOUT = fEREL = |
43 |
fXIN= fYIN = fZIN = 0.; |
fXIN= fYIN = fZIN = 0.; |
44 |
|
fPRIM = kFALSE; |
45 |
} |
} |
46 |
|
|
47 |
// Inherithed from TObject |
// Inherithed from TObject |
62 |
<<"ZOUT: " << fZOUT << " (cm)"<<endl |
<<"ZOUT: " << fZOUT << " (cm)"<<endl |
63 |
<<"PATH: " << fPATH << " (cm)"<<endl |
<<"PATH: " << fPATH << " (cm)"<<endl |
64 |
<<"EREL: " << fEREL*1E6 << " (keV)"<<endl |
<<"EREL: " << fEREL*1E6 << " (keV)"<<endl |
65 |
<<"TOF: " << fTOF << " (s)"<<endl; } |
<<"TOF: " << fTOF << " (s)"<<endl |
66 |
|
<<"PRIMARY: "<<fPRIM<<endl; } |
67 |
|
|
68 |
ClassDef(pHitData,1) |
ClassDef(pHitData,1) |
69 |
|
|
99 |
|
|
100 |
virtual void Print(Option_t* option = "") const; |
virtual void Print(Option_t* option = "") const; |
101 |
|
|
102 |
void FillHit(TVirtualMC *g) { |
void FillHit(TVirtualMC *g, Bool_t is_prim) { |
103 |
fnocall++; |
fnocall++; |
104 |
double x,y,z,e; |
double x,y,z,e; |
105 |
g->TrackPosition(x,y,z); |
g->TrackPosition(x,y,z); |
115 |
AddTOF((g->GetStack()->GetCurrentTrack()->T())/1.0E9 /*TG4G3Units::Time()*/+(g->TrackTime())); |
AddTOF((g->GetStack()->GetCurrentTrack()->T())/1.0E9 /*TG4G3Units::Time()*/+(g->TrackTime())); |
116 |
AddPATH(g->TrackStep()); |
AddPATH(g->TrackStep()); |
117 |
AddEREL(g->Edep()); |
AddEREL(g->Edep()); |
118 |
|
SetPRIM(is_prim); |
119 |
} |
} |
120 |
|
|
121 |
|
|
122 |
void SetHit( const pHitData &phd){ |
void SetHit( const pHitData &phd){ |
123 |
fnocall++; |
fnocall++; |
124 |
SetPOS(phd.fPOS); |
SetPOS(phd.fPOS); |
133 |
SetXOUT( phd.fXOUT ); |
SetXOUT( phd.fXOUT ); |
134 |
SetYOUT( phd.fYOUT ); |
SetYOUT( phd.fYOUT ); |
135 |
SetZOUT( phd.fZOUT ); |
SetZOUT( phd.fZOUT ); |
136 |
|
SetPRIM( phd.fPRIM ); |
137 |
} |
} |
138 |
|
|
139 |
void UpdXIN(Double_t x){ |
void UpdXIN(Double_t x){ |
158 |
void SetXOUT (Double_t xout) { fhitdata.fXOUT = xout; } |
void SetXOUT (Double_t xout) { fhitdata.fXOUT = xout; } |
159 |
void SetYOUT (Double_t yout) { fhitdata.fYOUT = yout; } |
void SetYOUT (Double_t yout) { fhitdata.fYOUT = yout; } |
160 |
void SetZOUT (Double_t zout) { fhitdata.fZOUT = zout; } |
void SetZOUT (Double_t zout) { fhitdata.fZOUT = zout; } |
161 |
|
void SetPRIM (Bool_t prim) { fhitdata.fPRIM = prim; } |
162 |
void Reset(); |
void Reset(); |
163 |
|
|
164 |
// Get methods |
// Get methods |
176 |
Double_t GetXOUT() { return fhitdata.fXOUT; }; |
Double_t GetXOUT() { return fhitdata.fXOUT; }; |
177 |
Double_t GetYOUT() { return fhitdata.fYOUT; }; |
Double_t GetYOUT() { return fhitdata.fYOUT; }; |
178 |
Double_t GetZOUT() { return fhitdata.fZOUT; }; |
Double_t GetZOUT() { return fhitdata.fZOUT; }; |
179 |
|
Bool_t GetPRIM() { return fhitdata.fPRIM; }; |
180 |
|
|
181 |
protected: |
protected: |
182 |
|
|