15 #ifndef PNDDRCTIMEDIGITASK_H 16 #define PNDDRCTIMEDIGITASK_H 19 #include "FairTimeStamp.h" 20 #include "TClonesArray.h" 24 #include "FairBaseParSet.h" 37 #ifndef ROOT_TParticlePDG 38 #include "TParticlePDG.h" 40 #ifndef ROOT_TDatabasePDG 41 #include "TDatabasePDG.h" 61 virtual InitStatus
Init();
64 virtual void Exec(Option_t *option);
75 PndDrcDigi *
AddDrcDigi(Int_t index, Int_t iDetectorId, Double_t charge, Double_t TimeStamp, Int_t csflag);
80 std::cerr <<
"WARNNING PndDrcTimeDigiTask::FindDrcHitPosition() not properly implemented." << std::endl;
88 Double_t
FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t);
90 void SetActiveTime(Double_t ActiveTime = 10) { fActiveTime = ActiveTime; }
96 void SetTilt(Double_t tilt = 0.) { ftilt = tilt; }
97 void SetTimeOrdered(Bool_t TimeOrderedDigi = kFALSE) { fTimeOrderedDigi = TimeOrderedDigi; }
108 TClonesArray *fHitArray;
110 void ProcessPhotonPoint();
111 void Smear(Double_t &time, Double_t sigt);
112 void ActivatePixel(Int_t
DetectorId, Int_t sensorId, Double_t signalTime, Int_t k, Int_t csflag);
113 Double_t FuncD1(Double_t x);
114 Double_t FuncD3(Double_t x, Double_t y);
117 Double_t fPDTimeStamp;
123 Double_t fpipehAngle;
131 Double_t fMcpActiveArea;
136 Double_t fPixelSigma;
139 Double_t fTimeGranularity;
143 Bool_t fisTransportEff;
145 Bool_t fTimeSmearing;
146 Bool_t fChargeSharing;
152 Double_t fThetaC, fErrThetaC;
156 Double_t fTimeOfFlight;
161 TVector3 fTrackIniVertex;
167 Double_t fActiveTime;
169 TClonesArray *fDigis;
173 std::map<Int_t, Int_t> fPixelMap;
174 std::map<Int_t, Double_t> fTimeMap;
176 TClonesArray *fBarPointArray;
178 TClonesArray *fPDPointArray;
181 Bool_t fTimeOrderedDigi;
182 TClonesArray *fDrcDigiArray;
183 TClonesArray *fMCArray;
199 Double_t fCollectionEff;
200 Double_t fPackingFraction;
206 Double_t flambda_min, flambda_max, flambda_step;
207 Double_t fDetEfficiency[800];
208 Double_t fTranspEfficiency[798];
209 Double_t flambda_min_tr, flambda_max_tr, flambda_step_tr, fangle_step_tr;
210 Int_t flambda_points_tr;
217 void SetParameters();
void SetTimeSmearing(Bool_t ct=0)
void SetChargeSharing(Bool_t ct=0)
void SetTimeResolution(Double_t Sigmat=0.1)
void FindDrcHitPosition(Double_t, Double_t, Double_t, Double_t &, Double_t &, Double_t &, Int_t)
virtual ~PndDrcTimeDigiTask()
void DrawDetEfficiency(Bool_t dr=kFALSE)
Double_t FindPhiRot(Double_t, Double_t)
Double_t FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t)
virtual InitStatus Init()
Class to access the naming information of the MVD.
PndDrcDigi * AddDrcDigi(Int_t index, Int_t iDetectorId, Double_t charge, Double_t TimeStamp, Int_t csflag)
void SetTilt(Double_t tilt=0.)
void SetActiveTime(Double_t ActiveTime=10)
TVector3 GetSensorDimensions(Int_t sensorID)
void SetTimeOrdered(Bool_t TimeOrderedDigi=kFALSE)
virtual void Exec(Option_t *option)