1 #ifndef Tracker_SiLinearChargeDivider_H
2 #define Tracker_SiLinearChargeDivider_H
17 class HepRandomEngine;
55 std::unique_ptr<SiG4UniversalFluctuation>
fluctuate;
58 return pos.
x() + (thickness / 2. - pos.
z()) * drift.
x() / drift.
z();
65 int NumberOfSegmentation,
67 CLHEP::HepRandomEngine*);
const ParticleDataTable * theParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
void setParticleDataTable(const ParticleDataTable *pdt) override
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
float TimeResponse(const PSimHit *hit, const StripGeomDetUnit &det)
SiLinearChargeDivider(const edm::ParameterSet &conf)
float driftXPos(const Local3DPoint &pos, const LocalVector &drift, double thickness)
void fluctuateEloss(double const particleMass, float momentum, float eloss, float length, int NumberOfSegmentation, float elossVector[], CLHEP::HepRandomEngine *)
const bool fluctuateCharge
~SiLinearChargeDivider() override
std::unique_ptr< SiG4UniversalFluctuation > fluctuate
void readPulseShape(const std::string &pulseShapeFileName)
const int chargedivisionsPerStrip
std::vector< EnergyDepositUnit > ionization_type
SiChargeDivider::ionization_type divide(const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det, CLHEP::HepRandomEngine *) override
std::vector< double > pulseValues