27 #ifndef PNDDRCHITPRODUCERREAL_H 28 #define PNDDRCHITPRODUCERREAL_H 31 #include "TClonesArray.h" 36 #include "FairBaseParSet.h" 44 #ifndef ROOT_TParticlePDG 45 #include "TParticlePDG.h" 47 #ifndef ROOT_TDatabasePDG 48 #include "TDatabasePDG.h" 65 virtual InitStatus
Init();
68 virtual void Exec(Option_t *option);
77 PndDrcHit *
AddHit(Int_t detID, TVector3 posHit, TVector3 dPosHit, Double_t thetaC, Double_t errThetaC, Int_t index);
83 PndDrcPDHit *
AddPDHit(Int_t detID, TVector3 posPDHit, TVector3 dPosPDHit, Double_t time, Double_t timeThreshold, Int_t index1);
86 void FindDrcHitPosition(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID);
87 void FindDrcHitPositionTilt(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID);
90 void SetPhotonDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
91 void SetFakeDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
92 void SetPhotonDetEffOld(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
93 void SetPhotonDetEffNew(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
96 void SetPhotonTransportEff(Double_t &, Double_t &, Double_t &, Double_t &, Int_t &, Double_t fEfficiency[]);
98 void NumberOfBounces(TVector3, TVector3, Int_t *, Int_t *, Double_t *, Double_t *);
100 Double_t
FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t);
107 void SetTilt(Double_t tilt = 0.) { ftilt = tilt; }
115 void ProcessPhotonPoint();
116 void ProcessBarPoint();
117 void Smear(Double_t &time, Double_t sigt);
125 Double_t fpipehAngle;
136 Bool_t fisTransportEff;
144 Double_t fThetaC, fErrThetaC;
145 Double_t fTime, fTimeThreshold;
149 TClonesArray *fBarPointArray;
150 TClonesArray *fPDPointArray;
151 TClonesArray *fHitArray;
152 TClonesArray *fPDHitArray;
153 TClonesArray *fMCArray;
171 Double_t fCollectionEff;
172 Double_t fPackingFraction;
178 void SetParameters();
virtual ~PndDrcHitProducerReal()
void SetPhotonDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[])
void SetTilt(Double_t tilt=0.)
virtual InitStatus Init()
void SetPhotonDetEffNew(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[])
PndDrcPDHit * AddPDHit(Int_t detID, TVector3 posPDHit, TVector3 dPosPDHit, Double_t time, Double_t timeThreshold, Int_t index1)
void FindDrcHitPosition(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID)
virtual void Exec(Option_t *option)
void SetPhotonTransportEff(Double_t &, Double_t &, Double_t &, Double_t &, Int_t &, Double_t fEfficiency[])
void SetPhotonDetEffOld(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[])
void DrawDetEfficiency(Bool_t dr=kFALSE)
void SetTransportEfficiency(Bool_t isTran=0)
void SetIsDetEfficiency(Bool_t isDetEff)
void SetFakeDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[])
void NumberOfBounces(TVector3, TVector3, Int_t *, Int_t *, Double_t *, Double_t *)
Double_t FindPhiRot(Double_t, Double_t)
void SetIsPixelization(Bool_t isPixel)
PndDrcHit * AddHit(Int_t detID, TVector3 posHit, TVector3 dPosHit, Double_t thetaC, Double_t errThetaC, Int_t index)
Double_t FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t)
void FindDrcHitPositionTilt(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID)