12 #include "TLorentzVector.h" 13 #include "FairDetector.h" 37 PndDrc(
const char *name, Bool_t active);
98 if (fPhoMaxTime > 0.) {
101 if (fPhoMaxTime <= 0.) {
147 virtual void Print()
const;
153 virtual void Reset();
162 virtual void CopyClones(TClonesArray *clPD1, TClonesArray *clPD2, TClonesArray *clBar1, TClonesArray *clBar2,
179 void NumberOfBounces(TVector3, TVector3, Int_t, Int_t *, Int_t *, Double_t *, Double_t *);
180 Double_t
FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t);
183 AddHit(Int_t trackID, Int_t copyNo, Int_t mcpId, TVector3 pos, TVector3 mom, TVector3 momAtEV, Double_t timeAtEV, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID);
185 PndDrcEVPoint *
AddEVHit(Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID, Double_t timestart,
186 Double_t timestartEV, Double_t VeloPhoton, TVector3 normal);
189 AddBarHit(Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Double_t thetaC, Int_t nBar, Int_t eventID, Double_t mass);
202 Double_t fpipehAngle;
213 Bool_t fRunCherenkov;
220 Double32_t fLengthEV;
226 TLorentzVector fMomAtEV;
227 TLorentzVector fAna_point;
229 Double_t fTimeAtEVEntrance;
231 Double_t fVeloPhoton;
232 Int_t fEVreflections;
234 std::array<TGraph, 2> fDetEff;
236 Bool_t fDetEffAtProduction;
237 Bool_t fTransportEffAtProduction;
240 Double_t fPhoMaxTime;
241 Bool_t fTakeRealReflectivity;
242 Bool_t fStopSecondaries;
243 Bool_t fStopChargedTrackAfterDIRC;
244 Bool_t fSetBlackLens;
245 Bool_t fOptionForLUT;
252 TClonesArray *fDrcPDCollection;
253 TClonesArray *fDrcEVCollection;
254 TClonesArray *fDrcBarCollection;
virtual void EndOfEvent()
void SetStopTime(Double_t ti=-1.)
Set time after which photons are killed.
void SetBlackLensSides(Bool_t lesi=kFALSE)
virtual void FinishPrimary()
virtual void ConstructOpGeometry()
void SetPersistency(Bool_t v=kTRUE)
void NumberOfBounces(TVector3, TVector3, Int_t, Int_t *, Int_t *, Double_t *, Double_t *)
void StopChargedTrackAfterDIRC(Bool_t sctad=kTRUE)
Kill charged track by exiting the DIRC to avoid it hitting the large EV.
virtual void Print() const
void SetTransportEffAtProduction(Bool_t tra=kFALSE)
Kill photons at production point according to the transport efficiency distribution.
Class to access the naming information of the MVD.
void SetDetEffId(Int_t val=2)
Set MCP-Pmt's quantum effeciency.
PndDrcPDPoint * AddHit(Int_t trackID, Int_t copyNo, Int_t mcpId, TVector3 pos, TVector3 mom, TVector3 momAtEV, Double_t timeAtEV, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID)
virtual Bool_t ProcessHits(FairVolume *vol=0)
void SetDetEffAtProduction(Bool_t dep=kFALSE)
Kill photons at production point according to the detector efficiency distribution.
Double_t FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t)
virtual TClonesArray * GetCollection(Int_t iColl) const
PndDrcEVPoint * AddEVHit(Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Int_t eventID, Double_t timestart, Double_t timestartEV, Double_t VeloPhoton, TVector3 normal)
void SetRunCherenkov(Bool_t ch)
void StopSecondaries(Bool_t ss=kFALSE)
Kill secondaries at its production point.
void SetOptionForLUT(Bool_t oplu=kFALSE)
std::vector< std::string > fListOfSensitives
virtual void BeginEvent()
void SetMirrorReal(Bool_t mir=kTRUE)
Choose between ideal and real mirror:
virtual void ConstructGeometry()
virtual void Initialize()
virtual void CopyClones(TClonesArray *clPD1, TClonesArray *clPD2, TClonesArray *clBar1, TClonesArray *clBar2, Int_t offset)
PndDrcBarPoint * AddBarHit(Int_t trackID, Int_t copyNo, TVector3 pos, TVector3 mom, Double_t time, Double_t length, Int_t pdgCode, Double_t thetaC, Int_t nBar, Int_t eventID, Double_t mass)
bool CheckIfSensitive(std::string name)