#include <CSCDriftSim.h>
Public Member Functions | |
CSCDriftSim () | |
CSCDetectorHit | getWireHit (const Local3DPoint &ionClusterPosition, const CSCLayer *, int wire, const PSimHit &simHit) |
void | setMagneticField (const MagneticField *field) |
void | setRandomEngine (CLHEP::HepRandomEngine &engine) |
~CSCDriftSim () | |
Private Member Functions | |
double | avalancheCharge () |
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 |
CLHEP::RandFlat * | theRandFlat |
CLHEP::RandGaussQ * | theRandGaussQ |
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 30 of file CSCDriftSim.h.
CSCDriftSim::CSCDriftSim | ( | ) |
Definition at line 20 of file CSCDriftSim.cc.
References dNdEIntegral, create_public_lumi_plots::exp, i, N_INTEGRAL_STEPS, funct::pow(), and STEP_SIZE.
CSCDriftSim::~CSCDriftSim | ( | ) |
|
private |
Definition at line 144 of file CSCDriftSim.cc.
References dNdEIntegral, i, LogTrace, AlCaHLTBitMon_ParallelJobs::p, STEP_SIZE, theRandFlat, and x.
Referenced by getWireHit().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 177 of file CSCDriftSim.cc.
References query::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 | ||
) |
takes a point, and creates a signal on the wire
Definition at line 68 of file CSCDriftSim.cc.
References CSCChamberSpecs::anodeCathodeSpacing(), avalancheCharge(), avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), bz, CSCLayer::chamber(), DeDxDiscriminatorTools::charge(), driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), e_SI, ELECTRON_DIFFUSION_COEFF, gasGain(), relativeConstraints::geom, CSCLayer::geometry(), CSCLayer::id(), MagneticField::inKGauss(), LogTrace, max(), pathSigmaHighB(), pathSigmaLowB(), pos, idealTransformation::rotation, CSCChamber::specs(), mathSSE::sqrt(), GeomDet::surface(), lumiQTWidget::t, theMagneticField, theRandGaussQ, PSimHit::tof(), Surface::toGlobal(), GeomDet::toLocal(), CSCLayerGeometry::wireAngle(), CSCChamberSpecs::wireSpacing(), x, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), ycell, CSCLayerGeometry::yOfWire(), detailsBasic3DVector::z, PV3DBase< T, PVType, FrameType >::z(), and zcell.
Referenced by CSCWireHitSim::simulate().
|
private |
|
private |
|
inline |
Definition at line 43 of file CSCDriftSim.h.
References theMagneticField.
Referenced by CSCDigitizer::setMagneticField().
void CSCDriftSim::setRandomEngine | ( | CLHEP::HepRandomEngine & | engine | ) |
Definition at line 60 of file CSCDriftSim.cc.
References theRandFlat, and theRandGaussQ.
Referenced by CSCWireHitSim::setRandomEngine().
|
private |
Definition at line 63 of file CSCDriftSim.h.
Referenced by avgDrift(), driftSigma(), and getWireHit().
|
private |
Definition at line 67 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 70 of file CSCDriftSim.h.
Referenced by getWireHit().
|
private |
Definition at line 68 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 72 of file CSCDriftSim.h.
Referenced by getWireHit(), and setMagneticField().
|
private |
Definition at line 75 of file CSCDriftSim.h.
Referenced by avalancheCharge(), setRandomEngine(), and ~CSCDriftSim().
|
private |
Definition at line 74 of file CSCDriftSim.h.
Referenced by getWireHit(), setRandomEngine(), and ~CSCDriftSim().
|
private |
Definition at line 65 of file CSCDriftSim.h.
Referenced by avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().
|
private |
Definition at line 65 of file CSCDriftSim.h.
Referenced by avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().