21 #include "TClonesArray.h" 23 #include "TLorentzVector.h" 24 #include "FairDetector.h" 36 class PndHypSecTarPoint;
50 PndHyp(
const char *name, Bool_t active);
58 virtual void Initialize();
67 virtual Bool_t ProcessHits(FairVolume *vol = 0);
69 virtual void SetSpecialPhysicsCuts();
75 virtual void EndOfEvent();
77 virtual void BeginEvent();
82 virtual void Register();
85 virtual TClonesArray *GetCollection(Int_t iColl)
const;
91 virtual void Print()
const;
106 virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset);
111 virtual void ConstructGeometry();
113 virtual void FinishRun();
115 PndHypPoint *AddHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
118 Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout);
120 PndHypPoint *AddSecTarHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
123 Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout);
125 PndHypPoint *AddSTMatBudHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
128 Double_t tof, Double_t length, Double_t eLoss, Double_t charge, Double_t mass, Int_t pdgCode, Double_t dist, Double_t PLin, Double_t PLout);
134 fUseRAZHOption = onf;
135 fUseFileOption = val;
150 cout <<
" starting value for EvId " << fStartEvID << endl;
155 void SetAbsMat(TString abmat =
"HYPdiamond") { fAbsMat = abmat; }
157 void SetBPipeMat(TString bpmat =
"HYPcarbon") { fBPipeMat = bpmat; }
162 fListOfMaterials.push_back(mat.Data());
166 std::vector<std::string> fListOfSensitives;
167 std::vector<TString> fListOfMaterials;
169 bool CheckIfSensitive(std::string name);
171 TString fVolNamSi, fVolNamAb, fVers, fAbsMat, fSiMat, fBPipeMat;
172 Bool_t fRootSensVol, fListMat, fStandard, fCurrent;
178 TLorentzVector fPosIn;
179 TLorentzVector fMomIn;
180 TLorentzVector fPosOut;
181 TLorentzVector fMomOut;
184 Double_t fPLout, fPLin;
200 Int_t SiId, CId, alId, beId, CpipeId;
203 Double_t fmass, fdist;
205 const Char_t *fFileName;
212 TClonesArray *fHypCollection;
213 TClonesArray *fHypSecTarCollection;
214 TClonesArray *fHypSTMatBudCollection;
217 void ResetParameters();
218 Bool_t fTrackStopNxtStep;
219 Bool_t fUseFileOption;
220 Bool_t fUseRAZHOption;
221 Bool_t fUseGamOption;
223 void SetHypStatDecay(
bool cal,
bool active);
228 inline void PndHyp::ResetParameters()
230 fTrackID = fVolumeID = fEventID = -1;
231 fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
232 fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
233 fMomIn.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
234 fMomOut.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
237 fTime = fLength = fELoss = 0;
void SetListMat(TString mat="carbon")
Class to access the naming information of the MVD.
void SetSensorVol(TString VolSi)
void SetMatbud(bool mbud)
void SetHypSDtoFile(bool onf, bool val)
void SetHypGamFEm(bool gam)
void SetAbsorberVol(TString VolAb)
void SetTreeFName(const Char_t *Name)
void SetStartEvID(Int_t EvID=0)
void SetGeoVersion(TString vers="standard")
void SetAbsMat(TString abmat="HYPdiamond")
void SetBPipeMat(TString bpmat="HYPcarbon")