73 double sliX = (edu).
x();
74 double sliY = (edu).
y();
75 double sliZ = (edu).
z();
81 double pathFraction=0., pathValue=0.;
82 double tanShiftAngleX=0.,tanShiftAngleY=0.,tanShiftAngleZ=0.;
83 double xDriftDueToField=0.,yDriftDueToField=0.,zDriftDueToField=0.;
85 std::cout <<
"=================================================================== " << std::endl;
86 std::cout <<
"ChargeDrifterFP420: xytype= " << xytype << std::endl;
88 std::cout <<
"1currX = " << currX <<
" 1currY = " << currY <<
" 1currZ = " << currZ << std::endl;
89 std::cout <<
"drift.x() = " <<
drift.x() <<
" drift.y() = " <<
drift.y() <<
" drift.z() = " <<
drift.z() << std::endl;
103 pathValue = fabs(pathValue);
106 std::cout <<
"==================================" << std::endl;
110 std::cout <<
"pathValue= " << pathValue << std::endl;
111 std::cout <<
"pathFraction= " << pathFraction << std::endl;
112 std::cout <<
"==================================" << std::endl;
115 pathFraction = pathFraction>0. ? pathFraction : 0. ;
116 pathFraction = pathFraction<1. ? pathFraction : 1. ;
119 = pathValue*tanShiftAngleY;
121 = pathValue*tanShiftAngleZ;
123 currY = sliY + yDriftDueToField;
124 currZ = sliZ + zDriftDueToField;
129 else if(xytype == 1) {
135 pathValue = fabs(pathValue);
141 std::cout <<
"==================================" << std::endl;
145 std::cout <<
"pathValue= " << pathValue << std::endl;
146 std::cout <<
"pathFraction= " << pathFraction << std::endl;
147 std::cout <<
"==================================" << std::endl;
150 if(pathFraction<0. || pathFraction>1.)
std::cout <<
"ChargeDrifterFP420: ERROR:pathFraction=" << pathFraction << std::endl;
151 pathFraction = pathFraction>0. ? pathFraction : 0. ;
152 pathFraction = pathFraction<1. ? pathFraction : 1. ;
154 = pathValue*tanShiftAngleX;
157 = pathValue*tanShiftAngleZ;
159 currX = sliX + xDriftDueToField;
160 currZ = sliZ + zDriftDueToField;
179 if(bbb<0.)
std::cout <<
"ChargeDrifterFP420:ERROR: check your Voltage for log(bbb) bbb=" << bbb << std::endl;
187 std::cout <<
"ChargeDrifterFP420: drift: xytype=" << xytype <<
"pathFraction=" << pathFraction << std::endl;
188 std::cout <<
" constTe= " <<
constTe <<
" driftTime = " << driftTime <<
" startT0 = " << startT0 << std::endl;
193 std::cout <<
"ChargeDrifterFP420: drift: xytype=" << xytype <<
"pathValue=" << pathValue << std::endl;
194 std::cout <<
" tanShiftAngleX = " << tanShiftAngleX <<
" tanShiftAngleY = " << tanShiftAngleY <<
" tanShiftAngleZ = " << tanShiftAngleZ << std::endl;
195 std::cout <<
"sliX = " << sliX <<
" sliY = " << sliY <<
" sliZ = " << sliZ << std::endl;
196 std::cout <<
"pathFraction = " << pathFraction <<
" driftTime = " << driftTime << std::endl;
197 std::cout <<
"sigma = " << sigma << std::endl;
198 std::cout <<
"xDriftDueToField = " << xDriftDueToField <<
" yDriftDueToField = " << yDriftDueToField <<
" zDriftDueToField = " << zDriftDueToField << std::endl;
199 std::cout <<
"2currX = " << currX <<
" 2currY = " << currY <<
" 2currZ = " << currZ << std::endl;
200 std::cout <<
"ChargeDrifterFP420: drift; finally, rETURN AmplitudeSlimentFP420" << std::endl;
201 std::cout <<
"===================================================================" << std::endl;
202 std::cout <<
" (edu).energy()= " << (edu).energy() << std::endl;
CDrifterFP420::collection_type drift(const CDrifterFP420::ionization_type &, const G4ThreeVector &, const int &) override