9 #include "TClonesArray.h" 11 #include "TLorentzVector.h" 12 #include "FairDetector.h" 24 class PndHypSecTarPoint;
38 PndHyp(
const char *name, Bool_t active);
46 virtual void Initialize();
55 virtual Bool_t ProcessHits(FairVolume *vol = 0);
57 virtual void SetSpecialPhysicsCuts();
63 virtual void EndOfEvent();
65 virtual void BeginEvent();
70 virtual void Register();
73 virtual TClonesArray *GetCollection(Int_t iColl)
const;
79 virtual void Print()
const;
94 virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset);
99 virtual void ConstructGeometry();
101 virtual void FinishRun();
103 PndHypPoint *AddHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
106 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);
108 PndHypPoint *AddSecTarHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
111 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);
113 PndHypPoint *AddSTMatBudHit(Int_t trackID, Int_t evtID, Int_t detID, TString detName, TVector3 posin, TVector3 momin, TVector3 posout, TVector3 momout,
116 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);
122 fUseRAZHOption = onf;
123 fUseFileOption = val;
138 cout <<
" starting value for EvId " << fStartEvID << endl;
143 void SetAbsMat(TString abmat =
"HYPdiamond") { fAbsMat = abmat; }
145 void SetBPipeMat(TString bpmat =
"HYPcarbon") { fBPipeMat = bpmat; }
150 fListOfMaterials.push_back(mat.Data());
154 std::vector<std::string> fListOfSensitives;
155 std::vector<TString> fListOfMaterials;
157 bool CheckIfSensitive(std::string name);
159 TString fVolNamSi, fVolNamAb, fVers, fAbsMat, fSiMat, fBPipeMat;
160 Bool_t fRootSensVol, fListMat, fStandard, fCurrent;
166 TLorentzVector fPosIn;
167 TLorentzVector fMomIn;
168 TLorentzVector fPosOut;
169 TLorentzVector fMomOut;
172 Double_t fPLout, fPLin;
188 Int_t SiId, CId, alId, beId, CpipeId;
191 Double_t fmass, fdist;
193 const Char_t *fFileName;
200 TClonesArray *fHypCollection;
201 TClonesArray *fHypSecTarCollection;
202 TClonesArray *fHypSTMatBudCollection;
205 void ResetParameters();
206 Bool_t fTrackStopNxtStep;
207 Bool_t fUseFileOption;
208 Bool_t fUseRAZHOption;
209 Bool_t fUseGamOption;
211 void SetHypStatDecay(
bool cal,
bool active);
216 inline void PndHyp::ResetParameters()
218 fTrackID = fVolumeID = fEventID = -1;
219 fPosIn.SetXYZM(0.0, 0.0, 0.0, 0.0);
220 fPosOut.SetXYZM(0.0, 0.0, 0.0, 0.0);
221 fMomIn.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
222 fMomOut.SetPxPyPzE(0.0, 0.0, 0.0, 0.0);
225 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")