15 #ifndef PNDDRCHITPRODUCERREAL_H 16 #define PNDDRCHITPRODUCERREAL_H 19 #include "TClonesArray.h" 24 #include "FairBaseParSet.h" 32 #ifndef ROOT_TParticlePDG 33 #include "TParticlePDG.h" 35 #ifndef ROOT_TDatabasePDG 36 #include "TDatabasePDG.h" 53 virtual InitStatus
Init();
56 virtual void Exec(Option_t *option);
65 PndDrcHit *
AddHit(Int_t detID, TVector3 posHit, TVector3 dPosHit, Double_t thetaC, Double_t errThetaC, Int_t index);
71 PndDrcPDHit *
AddPDHit(Int_t detID, TVector3 posPDHit, TVector3 dPosPDHit, Double_t time, Double_t timeThreshold, Int_t index1);
74 void FindDrcHitPosition(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID);
75 void FindDrcHitPositionTilt(Double_t xPoint, Double_t yPoint, Double_t &xHit, Double_t &yHit, Int_t &pmtID);
78 void SetPhotonDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
79 void SetFakeDetEff(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
80 void SetPhotonDetEffOld(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
81 void SetPhotonDetEffNew(Double_t &lambda_min, Double_t &lambda_max, Double_t &lambda_step, Double_t efficiency[]);
84 void SetPhotonTransportEff(Double_t &, Double_t &, Double_t &, Double_t &, Int_t &, Double_t fEfficiency[]);
86 void NumberOfBounces(TVector3, TVector3, Int_t *, Int_t *, Double_t *, Double_t *);
88 Double_t
FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t);
95 void SetTilt(Double_t tilt = 0.) { ftilt = tilt; }
103 void ProcessPhotonPoint();
104 void ProcessBarPoint();
105 void Smear(Double_t &time, Double_t sigt);
113 Double_t fpipehAngle;
124 Bool_t fisTransportEff;
132 Double_t fThetaC, fErrThetaC;
133 Double_t fTime, fTimeThreshold;
137 TClonesArray *fBarPointArray;
138 TClonesArray *fPDPointArray;
139 TClonesArray *fHitArray;
140 TClonesArray *fPDHitArray;
141 TClonesArray *fMCArray;
159 Double_t fCollectionEff;
160 Double_t fPackingFraction;
166 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)