21 #include "TLorentzVector.h" 26 #include "FairDetector.h" 44 PndDsk(
const char *name, Bool_t active);
85 virtual void Print()
const;
100 virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset);
125 PndDskCerenkov *
AddCerenkov(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t energy, Double_t wavelength, Int_t motherTrackID,
126 Int_t motherPdgCode, TString motherPdgName);
128 PndDskFLGHit *
AddHit(Int_t trackID, Int_t detectorID, TVector3 position_store, TVector3 momentum_store, Double_t time, Double_t angIn, Double_t thetaC_store,
129 TVector3 Cherenkov_photon, Int_t light_guide, Int_t
pixel);
135 PndDskParticle *
AddParticle(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Int_t pdgCode, TString pdgName, Double_t energy,
136 Int_t motherTrackID, Int_t motherPdgCode, TString motherPdgName, Double_t mass, Double_t angIn, Double_t thetaC, Int_t nPhot);
142 PndDskTrackPoint *
AddTrackPoint(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t length, Double_t eLoss);
147 void SetPDE(Double_t pde) { fPDE = pde; }
161 Bool_t ProcessHitsCerenkov(FairVolume *vol = 0);
162 Bool_t ProcessHitsCerenkov_FLG(FairVolume *vol = 0);
170 Bool_t ProcessHitsParticle(FairVolume *vol = 0);
176 Bool_t DoNotTrackCerenkov();
184 TClonesArray *fDskCerenkovCollection;
185 TClonesArray *fDskParticleCollection;
186 TClonesArray *fDskTrackPointCollection;
188 TClonesArray *fDskFLGHitArray;
190 Bool_t fStoreCerenkovs;
191 Bool_t fStoreParticles;
192 Bool_t fStoreTrackPoints;
193 Bool_t fStoreFLGHits;
195 Bool_t fMeasureTotalRefAngle;
208 Double_t fWavelength;
210 Int_t fMotherTrackID;
211 Int_t fMotherPdgCode;
212 TString fMotherPdgName;
217 TVector3 fDetMomentum;
219 Double_t fPrimaryAngleToCerenkov;
220 Double_t fPrimaryHitAngle;
221 TVector3 fPrimaryHitMomentum;
224 TVector3 fEndPosition;
226 TVector3 fEndMomentum;
232 TLorentzVector tmpLVec;
virtual void CopyClones(TClonesArray *cl1, TClonesArray *cl2, Int_t offset)
PndDskFLGHit * AddHit(Int_t trackID, Int_t detectorID, TVector3 position_store, TVector3 momentum_store, Double_t time, Double_t angIn, Double_t thetaC_store, TVector3 Cherenkov_photon, Int_t light_guide, Int_t pixel)
virtual Bool_t ProcessHits(FairVolume *vol=0)
virtual TClonesArray * GetCollection(Int_t iColl) const
void SetTrapFraction(std::string name)
virtual Bool_t CheckIfSensitive(std::string name)
virtual void ConstructGeometry()
void SetDebugLevel(Int_t debugLevel)
virtual void EndOfEvent()
void SetStoreTrackPoints(Bool_t storeTrackPoints)
virtual void Print() const
void SetStoreCerenkovs(Bool_t storeCerenkovs)
void SetStoreParticles(Bool_t storeParticles)
PndDskParticle * AddParticle(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Int_t pdgCode, TString pdgName, Double_t energy, Int_t motherTrackID, Int_t motherPdgCode, TString motherPdgName, Double_t mass, Double_t angIn, Double_t thetaC, Int_t nPhot)
PndDskTrackPoint * AddTrackPoint(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t length, Double_t eLoss)
Bool_t DichroicMirrorTransmitted(Double_t wavelength, Int_t detector_type)
void SetPDE(Double_t pde)
virtual void Initialize()
PndDskCerenkov * AddCerenkov(Int_t trackID, Int_t detectorID, TVector3 position, TVector3 momentum, Double_t time, Double_t energy, Double_t wavelength, Int_t motherTrackID, Int_t motherPdgCode, TString motherPdgName)