7 chargeDistributionRMS(cdr),
15 _temp.resize(ion.size());
17 for (
size_t i = 0;
i < ion.size();
i++) {
18 _temp[
i] =
drift(ion[
i], driftDir,
mt, tn);
25 double moduleThickness,
26 double timeNormalisation) {
29 double depth = (moduleThickness / 2. - edu.
z());
30 double thicknessFraction =
depth / moduleThickness;
31 thicknessFraction = thicknessFraction > 0. ? thicknessFraction : 0.;
32 thicknessFraction = thicknessFraction < 1. ? thicknessFraction : 1.;
35 double driftTime = -timeNormalisation * vdt::fast_log(1. - 2 *
depletionVoltage * thicknessFraction /
const double chargeDistributionRMS
SiChargeCollectionDrifter::collection_type drift(const SiChargeCollectionDrifter::ionization_type &, const LocalVector &, double, double) override
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
std::vector< SignalPoint > collection_type
const double depletionVoltage
SiLinearChargeCollectionDrifter(double, double, double, double)
const double diffusionConstant
std::vector< EnergyDepositUnit > ionization_type
const double appliedVoltage