21 _temp.resize(ion.size());
23 for (
size_t i=0;
i<ion.size();
i++){
24 _temp[
i] =
drift(ion[
i], driftDir);
33 double depth = (moduleThickness/2.-edu.
z());
34 double thicknessFraction = depth/moduleThickness ;
35 thicknessFraction = thicknessFraction>0. ? thicknessFraction : 0. ;
36 thicknessFraction = thicknessFraction<1. ? thicknessFraction : 1. ;
39 double driftTime = -timeNormalisation*
40 log(1.-2*depletionVoltage*thicknessFraction/
41 (depletionVoltage+appliedVoltage))
42 +chargeDistributionRMS;
46 edu.
y() + depth*drift.
y()/drift.
z(),
47 sqrt(2.*diffusionConstant*driftTime),
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
std::vector< SignalPoint > collection_type
SiChargeCollectionDrifter::collection_type drift(const SiChargeCollectionDrifter::ionization_type, const LocalVector &, double, double)
SiLinearChargeCollectionDrifter(double, double, double, double)
double chargeDistributionRMS
std::vector< EnergyDepositUnit > ionization_type
Log< T >::type log(const T &t)