#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, create_public_lumi_plots::exp, i, N_INTEGRAL_STEPS, funct::pow(), and STEP_SIZE.
CSCDriftSim::~CSCDriftSim | ( | ) |
Definition at line 55 of file CSCDriftSim.cc.
|
private |
Definition at line 138 of file CSCDriftSim.cc.
References dNdEIntegral, i, LogTrace, AlCaHLTBitMon_ParallelJobs::p, STEP_SIZE, and x.
Referenced by getWireHit().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 171 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, | ||
CLHEP::HepRandomEngine * | engine | ||
) |
takes a point, and creates a signal on the wire
Definition at line 61 of file CSCDriftSim.cc.
References CSCChamberSpecs::anodeCathodeSpacing(), assert(), avalancheCharge(), avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), bz, CSCLayer::chamber(), driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), e_SI, ELECTRON_DIFFUSION_COEFF, gasGain(), relativeConstraints::geom, CSCLayer::geometry(), CSCLayer::id(), MagneticField::inKGauss(), LogTrace, bookConverter::max, pathSigmaHighB(), pathSigmaLowB(), idealTransformation::rotation, CSCChamber::specs(), mathSSE::sqrt(), GeomDet::surface(), edmStreamStallGrapher::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(), detailsBasic3DVector::z, PV3DBase< T, PVType, FrameType >::z(), and zcell.
Referenced by CSCWireHitSim::simulate().
|
private |
|
private |
|
inline |
Definition at line 46 of file CSCDriftSim.h.
References theMagneticField.
Referenced by CSCDigitizer::setMagneticField().
|
private |
Definition at line 64 of file CSCDriftSim.h.
Referenced by avgDrift(), driftSigma(), and getWireHit().
|
private |
Definition at line 68 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 71 of file CSCDriftSim.h.
Referenced by getWireHit().
|
private |
Definition at line 69 of file CSCDriftSim.h.
Referenced by avalancheCharge(), and CSCDriftSim().
|
private |
Definition at line 73 of file CSCDriftSim.h.
Referenced by getWireHit(), and setMagneticField().
|
private |
Definition at line 66 of file CSCDriftSim.h.
Referenced by avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().
|
private |
Definition at line 66 of file CSCDriftSim.h.
Referenced by avgDrift(), avgDriftTimeHighB(), avgDriftTimeLowB(), avgPathLengthHighB(), avgPathLengthLowB(), driftSigma(), driftTimeSigmaHighB(), driftTimeSigmaLowB(), getWireHit(), pathSigmaHighB(), and pathSigmaLowB().