#include <CSCDriftSim.h>
Public Member Functions | |
CSCDriftSim () | |
CSCDetectorHit | getWireHit (const Local3DPoint &ionClusterPosition, const CSCLayer *, int wire, const PSimHit &simHit, CLHEP::HepRandomEngine *) |
void | setMagneticField (const MagneticField *field) |
~CSCDriftSim () | |
Private Member Functions | |
double | avalancheCharge (CLHEP::HepRandomEngine *) |
double | avgDrift () const |
double | avgDriftTimeHighB () |
double | avgDriftTimeLowB () |
double | avgPathLengthHighB () |
double | avgPathLengthLowB () |
double | driftSigma () const |
double | driftTimeSigmaHighB () |
double | driftTimeSigmaLowB () |
double | gasGain (const CSCDetId &id) const |
double | pathSigmaHighB () |
double | pathSigmaLowB () |
Private Attributes | |
float | bz |
std::vector< double > | dNdEIntegral |
const double | ELECTRON_DIFFUSION_COEFF |
const double | STEP_SIZE |
const MagneticField * | theMagneticField |
double | ycell |
double | zcell |
Simulate drift of electrons through CSC gas.
Someday this class will be subclassed into fast and slow sims, Now it's just slow, according to the rest of the ORCA developers...
Last mod:
30-Jun-00 ptc Doxygenate.
Bug-fix in ctor: first bin of integral was 'nan'.
Bug-trap in avalancheCharge(): very rarely could attempt access outside std::vector.
01-08/00 vin use binary search in avalancheCharge()
Definition at line 32 of file CSCDriftSim.h.
CSCDriftSim::CSCDriftSim | ( | ) |
Definition at line 24 of file CSCDriftSim.cc.
References dNdEIntegral, funct::exp(), mps_fire::i, N_INTEGRAL_STEPS, funct::pow(), and STEP_SIZE.
CSCDriftSim::~CSCDriftSim | ( | ) |
Definition at line 53 of file CSCDriftSim.cc.
|
private |
Definition at line 132 of file CSCDriftSim.cc.
References dNdEIntegral, mps_fire::i, LogTrace, cuda_std::lower_bound(), AlCaHLTBitMon_ParallelJobs::p, STEP_SIZE, and x.
Referenced by getWireHit().
|
private |
Definition at line 8 of file CSCDriftParam.cc.
Referenced by getWireHit().
|
private |
Definition at line 168 of file CSCDriftParamHighB.cc.
Referenced by getWireHit().
|
private |
Definition at line 157 of file CSCDriftParamLowB.cc.
Referenced by getWireHit().
|
private |
Definition at line 4 of file CSCDriftParamHighB.cc.
Referenced by getWireHit().
|
private |
Definition at line 7 of file CSCDriftParamLowB.cc.
Referenced by getWireHit().
|
private |
|
private |
Definition at line 249 of file CSCDriftParamHighB.cc.
Referenced by getWireHit().
|
private |
Definition at line 233 of file CSCDriftParamLowB.cc.
Referenced by getWireHit().
|
private |
Definition at line 164 of file CSCDriftSim.cc.
References mps_fire::result, relativeConstraints::ring, CSCDetId::ring(), and CSCDetId::station().
Referenced by getWireHit().
CSCDetectorHit CSCDriftSim::getWireHit | ( | const Local3DPoint & | ionClusterPosition, |
const CSCLayer * | layer, | ||
int | wire, | ||
const PSimHit & | simHit, | ||
CLHEP::HepRandomEngine * | engine | ||
) |
takes a point, and creates a signal on the wire
Definition at line 55 of file CSCDriftSim.cc.
References CSCChamberSpecs::anodeCathodeSpacing(), cms::cuda::assert(), avalancheCharge(), avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), bz, CSCLayer::chamber(), RecoTauCleanerPlugins::charge, driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), e_SI, ELECTRON_DIFFUSION_COEFF, gasGain(), relativeConstraints::geom, CSCLayer::geometry(), CSCLayer::id(), MagneticField::inKGauss(), LogTrace, SiStripPI::max, pathSigmaHighB(), pathSigmaLowB(), idealTransformation::rotation, CSCChamber::specs(), mathSSE::sqrt(), GeomDet::surface(), submitPVValidationJobs::t, theMagneticField, PSimHit::tof(), Surface::toGlobal(), GeomDet::toLocal(), CSCLayerGeometry::wireAngle(), CSCChamberSpecs::wireSpacing(), x, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), ycell, CSCLayerGeometry::yOfWire(), z, PV3DBase< T, PVType, FrameType >::z(), and zcell.
Referenced by CSCWireHitSim::simulate().
|
private |
Definition at line 85 of file CSCDriftParamHighB.cc.
Referenced by getWireHit().
|
private |
Definition at line 66 of file CSCDriftParamLowB.cc.
Referenced by getWireHit().
|
inline |
Definition at line 47 of file CSCDriftSim.h.
References theMagneticField.
Referenced by CSCDigitizer::setMagneticField().
|
private |
Definition at line 65 of file CSCDriftSim.h.
Referenced by avgDrift(), driftSigma(), and getWireHit().
|
private |
Definition at line 69 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 72 of file CSCDriftSim.h.
Referenced by getWireHit().
|
private |
Definition at line 70 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 74 of file CSCDriftSim.h.
Referenced by getWireHit(), and setMagneticField().
|
private |
Definition at line 67 of file CSCDriftSim.h.
Referenced by avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().
|
private |
Definition at line 67 of file CSCDriftSim.h.
Referenced by avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().