1 #ifndef Tracker_SiLinearChargeDivider_H
2 #define Tracker_SiLinearChargeDivider_H
17 class HepRandomEngine;
53 std::unique_ptr<SiG4UniversalFluctuation>
fluctuate;
56 return pos.
x()+(thickness/2.-pos.
z())*drift.
x()/drift.
z();
59 void fluctuateEloss(
double const particleMass,
float momentum,
float eloss,
float length,
int NumberOfSegmentation,
float elossVector[], CLHEP::HepRandomEngine*);
const ParticleDataTable * theParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
float PeakShape(const PSimHit *, const StripGeomDetUnit &det)
LocalVector drift(const StripGeomDetUnit *, const MagneticField &, const SiStripLorentzAngle &)
void setParticleDataTable(const ParticleDataTable *pdt)
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 *)
static float const decoValues[651]
const bool fluctuateCharge
float DeconvolutionShape(const PSimHit *, const StripGeomDetUnit &det)
std::vector< EnergyDepositUnit > ionization_type
virtual ~SiLinearChargeDivider()
std::unique_ptr< SiG4UniversalFluctuation > fluctuate
static float const peakValues[921]
const int chargedivisionsPerStrip
SiChargeDivider::ionization_type divide(const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det, CLHEP::HepRandomEngine *)