#include <SiLinearChargeDivider.h>
Public Member Functions | |
SiChargeDivider::ionization_type | divide (const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det, CLHEP::HepRandomEngine *) override |
void | setParticleDataTable (const ParticleDataTable *pdt) override |
SiLinearChargeDivider (const edm::ParameterSet &conf) | |
~SiLinearChargeDivider () override | |
Public Member Functions inherited from SiChargeDivider | |
virtual | ~SiChargeDivider () |
Private Member Functions | |
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 *) |
void | readPulseShape (const std::string &pulseShapeFileName) |
float | TimeResponse (const PSimHit *hit, const StripGeomDetUnit &det) |
Private Attributes | |
const int | chargedivisionsPerStrip |
const double | cosmicShift |
const double | deltaCut |
std::unique_ptr< SiG4UniversalFluctuation > | fluctuate |
const bool | fluctuateCharge |
const bool | peakMode |
double | pulseResolution |
unsigned int | pulset0Idx |
std::vector< double > | pulseValues |
const ParticleDataTable * | theParticleDataTable |
Additional Inherited Members | |
Public Types inherited from SiChargeDivider | |
typedef std::vector< EnergyDepositUnit > | ionization_type |
Concrete implementation of SiChargeDivider. It divides the charge on the line connecting entry and exit point of the SimTrack in the Silicon. Effects that are considered here are:
Definition at line 27 of file SiLinearChargeDivider.h.
SiLinearChargeDivider::SiLinearChargeDivider | ( | const edm::ParameterSet & | conf | ) |
Definition at line 9 of file SiLinearChargeDivider.cc.
References edm::FileInPath::fullPath(), edm::ParameterSet::getParameter(), peakMode, and readPulseShape().
|
override |
Definition at line 31 of file SiLinearChargeDivider.cc.
|
overridevirtual |
Implements SiChargeDivider.
Definition at line 71 of file SiLinearChargeDivider.cc.
References cms::cuda::assert(), chargedivisionsPerStrip, driftXPos(), simKBmtfDigis_cfi::eLoss, nano_mu_digi_cff::float, fluctuateCharge, fluctuateEloss(), mps_fire::i, StripTopology::localPitch(), LogDebug, PV3DBase< T, PVType, FrameType >::mag(), StripGeomDetUnit::specificTopology(), theParticleDataTable, and TimeResponse().
|
inlineprivate |
Definition at line 57 of file SiLinearChargeDivider.h.
References shallow::drift(), Calorimetry_cff::thickness, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by divide().
|
private |
Definition at line 142 of file SiLinearChargeDivider.cc.
References deltaCut, fluctuate, mps_fire::i, and cuy::ii.
Referenced by divide().
|
private |
Definition at line 33 of file SiLinearChargeDivider.cc.
References funct::abs(), HLT_2024v13_cff::distance, geometryDiff::epsilon, Exception, mps_splice::line, pulseResolution, pulset0Idx, pulseValues, AlCaHLTBitMon_QueryRunRegistry::string, and relativeConstraints::value.
Referenced by SiLinearChargeDivider().
|
inlineoverridevirtual |
Implements SiChargeDivider.
Definition at line 40 of file SiLinearChargeDivider.h.
References theParticleDataTable.
|
private |
Definition at line 178 of file SiLinearChargeDivider.cc.
References cosmicShift, createfilelist::int, mag(), pulseResolution, pulset0Idx, pulseValues, GeomDet::surface(), Surface::toGlobal(), and x.
Referenced by divide().
|
private |
Definition at line 46 of file SiLinearChargeDivider.h.
Referenced by divide().
|
private |
Definition at line 48 of file SiLinearChargeDivider.h.
Referenced by TimeResponse().
|
private |
Definition at line 47 of file SiLinearChargeDivider.h.
Referenced by fluctuateEloss().
|
private |
Definition at line 55 of file SiLinearChargeDivider.h.
Referenced by fluctuateEloss().
|
private |
Definition at line 45 of file SiLinearChargeDivider.h.
Referenced by divide().
|
private |
Definition at line 44 of file SiLinearChargeDivider.h.
Referenced by SiLinearChargeDivider().
|
private |
Definition at line 50 of file SiLinearChargeDivider.h.
Referenced by readPulseShape(), and TimeResponse().
|
private |
Definition at line 51 of file SiLinearChargeDivider.h.
Referenced by readPulseShape(), and TimeResponse().
|
private |
Definition at line 52 of file SiLinearChargeDivider.h.
Referenced by readPulseShape(), and TimeResponse().
|
private |
Definition at line 49 of file SiLinearChargeDivider.h.
Referenced by divide(), and setParticleDataTable().