18 fElectronCapture = 0.001;
26 Info(
"Constructor",
"Use default DiffX %g",fDiffX);
32 Info(
"Constructor",
"Use default DiffY %g",fDiffY);
38 Info(
"Constructor",
"Use default DiffZ %g",fDiffZ);
42 Double_t driftVelocity;
44 Info(
"Constructor",
"Use default DriftVelocity %g",fDriftVelocity);
46 fDriftVelocity = driftVelocity;
48 Double_t electronCapture;
50 Info(
"Constructor",
"Use default ElectronCapture %g",fElectronCapture);
52 fElectronCapture = electronCapture;
56 Info(
"Constructor",
"Use default ZReadout %g",fZReadout);
62 Info(
"Constructor",
"Use default ZReadout %g",fLengthTpc);
64 fLengthTpc = lengthTpc;
79 if(z0<fZReadout && fDriftVelocity>=0)
return -1;
89 Double_t r = gRandom->Rndm();
92 Double_t driftDistance = TMath::Abs(z0-
fZReadout);
94 Double_t diffX =
fDiffX*TMath::Sqrt(driftDistance);
95 Double_t diffY =
fDiffY*TMath::Sqrt(driftDistance);
96 Double_t diffZ =
fDiffZ*TMath::Sqrt(driftDistance);
98 xEnd = gRandom->Gaus(x0,diffX);
99 yEnd = gRandom->Gaus(y0,diffY);
100 driftDistance += gRandom->Gaus(0,diffZ);
103 tEnd = t0 + driftTime;
Int_t DriftElectron(Double_t x0, Double_t y0, Double_t z0, Double_t t0, Double_t &xEnd, Double_t &yEnd, Double_t &zEnd, Double_t &tEnd)
virtual ~TpcSimDriftChamber()
Bool_t Lookup(const char *path, Bool_t &val)
Lookup function for scalar values.
Double_t fElectronCapture