27 #ifndef PNDDRCTIMEDIGITASK_H 28 #define PNDDRCTIMEDIGITASK_H 31 #include "FairTimeStamp.h" 32 #include "TClonesArray.h" 36 #include "FairBaseParSet.h" 49 #ifndef ROOT_TParticlePDG 50 #include "TParticlePDG.h" 52 #ifndef ROOT_TDatabasePDG 53 #include "TDatabasePDG.h" 73 virtual InitStatus
Init();
76 virtual void Exec(Option_t *option);
87 PndDrcDigi *
AddDrcDigi(Int_t index, Int_t iDetectorId, Double_t charge, Double_t TimeStamp, Int_t csflag);
92 std::cerr <<
"WARNNING PndDrcTimeDigiTask::FindDrcHitPosition() not properly implemented." << std::endl;
100 Double_t
FindOutPoint(Double_t, Double_t, Double_t, Double_t *, Bool_t);
108 void SetTilt(Double_t tilt = 0.) { ftilt = tilt; }
109 void SetTimeOrdered(Bool_t TimeOrderedDigi = kFALSE) { fTimeOrderedDigi = TimeOrderedDigi; }
120 TClonesArray *fHitArray;
122 void ProcessPhotonPoint();
123 void Smear(Double_t &time, Double_t sigt);
124 void ActivatePixel(Int_t
DetectorId, Int_t sensorId, Double_t signalTime, Int_t k, Int_t csflag);
125 Double_t FuncD1(Double_t x);
126 Double_t FuncD3(Double_t x, Double_t y);
129 Double_t fPDTimeStamp;
135 Double_t fpipehAngle;
143 Double_t fMcpActiveArea;
148 Double_t fPixelSigma;
151 Double_t fTimeGranularity;
155 Bool_t fisTransportEff;
157 Bool_t fTimeSmearing;
158 Bool_t fChargeSharing;
164 Double_t fThetaC, fErrThetaC;
168 Double_t fTimeOfFlight;
173 TVector3 fTrackIniVertex;
179 Double_t fActiveTime;
181 TClonesArray *fDigis;
185 std::map<Int_t, Int_t> fPixelMap;
186 std::map<Int_t, Double_t> fTimeMap;
188 TClonesArray *fBarPointArray;
190 TClonesArray *fPDPointArray;
193 Bool_t fTimeOrderedDigi;
194 TClonesArray *fDrcDigiArray;
195 TClonesArray *fMCArray;
211 Double_t fCollectionEff;
212 Double_t fPackingFraction;
218 Double_t flambda_min, flambda_max, flambda_step;
219 Double_t fDetEfficiency[800];
220 Double_t fTranspEfficiency[798];
221 Double_t flambda_min_tr, flambda_max_tr, flambda_step_tr, fangle_step_tr;
222 Int_t flambda_points_tr;
229 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)