#include <SiLinearChargeDivider.h>
Public Member Functions | |
SiChargeDivider::ionization_type | divide (const PSimHit *, const LocalVector &, double, const StripGeomDetUnit &det) |
void | setParticleDataTable (const ParticleDataTable *pdt) |
SiLinearChargeDivider (const edm::ParameterSet &conf, CLHEP::HepRandomEngine &) | |
virtual | ~SiLinearChargeDivider () |
Public Member Functions inherited from SiChargeDivider | |
virtual | ~SiChargeDivider () |
Private Member Functions | |
float | DeconvolutionShape (const PSimHit *, const StripGeomDetUnit &det) |
float | driftXPos (const Local3DPoint &pos, const LocalVector &drift, double thickness) |
void | fluctuateEloss (int particleId, float momentum, float eloss, float length, int NumberOfSegmentation, float elossVector[]) |
float | PeakShape (const PSimHit *, const StripGeomDetUnit &det) |
float | TimeResponse (const PSimHit *hit, const StripGeomDetUnit &det) |
Private Attributes | |
int | chargedivisionsPerStrip |
edm::ParameterSet | conf_ |
double | cosmicShift |
double | deltaCut |
SiG4UniversalFluctuation * | fluctuate |
bool | fluctuateCharge |
bool | peakMode |
CLHEP::HepRandomEngine & | rndEngine |
const ParticleDataTable * | theParticleDataTable |
Static Private Attributes | |
static float | decoValues [651] |
static float | peakValues [921] |
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 25 of file SiLinearChargeDivider.h.
SiLinearChargeDivider::SiLinearChargeDivider | ( | const edm::ParameterSet & | conf, |
CLHEP::HepRandomEngine & | eng | ||
) |
Definition at line 7 of file SiLinearChargeDivider.cc.
References chargedivisionsPerStrip, conf_, cosmicShift, deltaCut, fluctuate, fluctuateCharge, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), peakMode, and rndEngine.
|
virtual |
Definition at line 31 of file SiLinearChargeDivider.cc.
References fluctuate.
|
private |
Definition at line 127 of file SiLinearChargeDivider.cc.
References cosmicShift, decoValues, PSimHit::energyLoss(), PSimHit::localPosition(), mag(), GeomDet::surface(), PSimHit::tof(), Surface::toGlobal(), and x.
Referenced by TimeResponse().
|
virtual |
Implements SiChargeDivider.
Definition at line 36 of file SiLinearChargeDivider.cc.
References chargedivisionsPerStrip, driftXPos(), PSimHit::energyLoss(), PSimHit::entryPoint(), PSimHit::exitPoint(), fluctuateCharge, fluctuateEloss(), i, StripTopology::localPitch(), PSimHit::localPosition(), PV3DBase< T, PVType, FrameType >::mag(), PSimHit::pabs(), PSimHit::particleType(), StripGeomDetUnit::specificTopology(), and TimeResponse().
|
inlineprivate |
Definition at line 55 of file SiLinearChargeDivider.h.
References PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by divide().
|
private |
Definition at line 78 of file SiLinearChargeDivider.cc.
References deltaCut, fluctuate, i, LogDebug, SiG4UniversalFluctuation::SampleFluctuations(), and theParticleDataTable.
Referenced by divide().
|
private |
Definition at line 119 of file SiLinearChargeDivider.cc.
References cosmicShift, PSimHit::energyLoss(), PSimHit::localPosition(), mag(), peakValues, GeomDet::surface(), PSimHit::tof(), Surface::toGlobal(), and x.
Referenced by TimeResponse().
|
inlinevirtual |
Implements SiChargeDivider.
Definition at line 38 of file SiLinearChargeDivider.h.
References theParticleDataTable.
|
inlineprivate |
Definition at line 61 of file SiLinearChargeDivider.h.
References DeconvolutionShape(), peakMode, and PeakShape().
Referenced by divide().
|
private |
Definition at line 46 of file SiLinearChargeDivider.h.
Referenced by divide(), and SiLinearChargeDivider().
|
private |
Definition at line 42 of file SiLinearChargeDivider.h.
Referenced by SiLinearChargeDivider().
|
private |
Definition at line 48 of file SiLinearChargeDivider.h.
Referenced by DeconvolutionShape(), PeakShape(), and SiLinearChargeDivider().
|
staticprivate |
Definition at line 71 of file SiLinearChargeDivider.h.
Referenced by DeconvolutionShape().
|
private |
Definition at line 47 of file SiLinearChargeDivider.h.
Referenced by fluctuateEloss(), and SiLinearChargeDivider().
|
private |
Definition at line 51 of file SiLinearChargeDivider.h.
Referenced by fluctuateEloss(), SiLinearChargeDivider(), and ~SiLinearChargeDivider().
|
private |
Definition at line 45 of file SiLinearChargeDivider.h.
Referenced by divide(), and SiLinearChargeDivider().
|
private |
Definition at line 44 of file SiLinearChargeDivider.h.
Referenced by SiLinearChargeDivider(), and TimeResponse().
|
staticprivate |
Definition at line 69 of file SiLinearChargeDivider.h.
Referenced by PeakShape().
|
private |
Definition at line 53 of file SiLinearChargeDivider.h.
Referenced by SiLinearChargeDivider().
|
private |
Definition at line 49 of file SiLinearChargeDivider.h.
Referenced by fluctuateEloss(), and setParticleDataTable().