| 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 |
|
|