CMS 3D CMS Logo

CSCDriftSim.h
Go to the documentation of this file.
1 #ifndef MU_END_DRIFT_SIM_H
2 #define MU_END_DRIFT_SIM_H
3 
20 #include <vector>
21 class CSCLayer;
22 class CSCDetectorHit;
23 class PSimHit;
24 class MagneticField;
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 class CSCDriftSim {
33 public:
34  CSCDriftSim();
35 
36  ~CSCDriftSim();
37 
41  CSCDetectorHit getWireHit(const Local3DPoint &ionClusterPosition,
42  const CSCLayer *,
43  int wire,
44  const PSimHit &simHit,
45  CLHEP::HepRandomEngine *);
46 
47  void setMagneticField(const MagneticField *field) { theMagneticField = field; }
48 
49 private:
50  // helper functions
51  double avgPathLengthLowB();
52  double pathSigmaLowB();
53  double avgDriftTimeLowB();
54  double driftTimeSigmaLowB();
55  double avgPathLengthHighB();
56  double pathSigmaHighB();
57  double avgDriftTimeHighB();
58  double driftTimeSigmaHighB();
59  double avgDrift() const;
60  double driftSigma() const;
61  double avalancheCharge(CLHEP::HepRandomEngine *);
62  double gasGain(const CSCDetId &id) const;
63 
64  // local magnetic field
65  float bz;
66  // distances from wire
67  double ycell, zcell;
68  // dN/dE for the avalanche sim.
69  std::vector<double> dNdEIntegral;
70  const double STEP_SIZE;
71 
73 
75 };
76 
77 #endif
CSCDriftSim::pathSigmaHighB
double pathSigmaHighB()
Definition: CSCDriftParamHighB.cc:85
CSCDriftSim::theMagneticField
const MagneticField * theMagneticField
Definition: CSCDriftSim.h:74
CSCDriftSim::avgPathLengthHighB
double avgPathLengthHighB()
Definition: CSCDriftParamHighB.cc:4
CSCDriftSim::~CSCDriftSim
~CSCDriftSim()
Definition: CSCDriftSim.cc:53
CSCDriftSim::driftSigma
double driftSigma() const
Definition: CSCDriftParam.cc:63
CSCDriftSim::setMagneticField
void setMagneticField(const MagneticField *field)
Definition: CSCDriftSim.h:47
CSCDriftSim::avalancheCharge
double avalancheCharge(CLHEP::HepRandomEngine *)
Definition: CSCDriftSim.cc:132
CSCDriftSim::STEP_SIZE
const double STEP_SIZE
Definition: CSCDriftSim.h:70
CSCLayer
Definition: CSCLayer.h:24
CSCDriftSim::getWireHit
CSCDetectorHit getWireHit(const Local3DPoint &ionClusterPosition, const CSCLayer *, int wire, const PSimHit &simHit, CLHEP::HepRandomEngine *)
Definition: CSCDriftSim.cc:55
CSCDriftSim::driftTimeSigmaLowB
double driftTimeSigmaLowB()
Definition: CSCDriftParamLowB.cc:233
CSCDriftSim::avgDrift
double avgDrift() const
Definition: CSCDriftParam.cc:8
CSCDriftSim::driftTimeSigmaHighB
double driftTimeSigmaHighB()
Definition: CSCDriftParamHighB.cc:249
CSCDetId.h
CSCDetectorHit
Definition: CSCDetectorHit.h:16
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
CSCDriftSim::avgDriftTimeHighB
double avgDriftTimeHighB()
Definition: CSCDriftParamHighB.cc:168
CSCDriftSim::avgDriftTimeLowB
double avgDriftTimeLowB()
Definition: CSCDriftParamLowB.cc:157
Point3DBase< float, LocalTag >
CSCDriftSim::ELECTRON_DIFFUSION_COEFF
const double ELECTRON_DIFFUSION_COEFF
Definition: CSCDriftSim.h:72
CSCDriftSim::bz
float bz
Definition: CSCDriftSim.h:65
CLHEP
Definition: CocoaGlobals.h:27
CSCDriftSim::pathSigmaLowB
double pathSigmaLowB()
Definition: CSCDriftParamLowB.cc:66
CSCDetId
Definition: CSCDetId.h:26
CSCDriftSim::ycell
double ycell
Definition: CSCDriftSim.h:67
CSCDriftSim::gasGain
double gasGain(const CSCDetId &id) const
Definition: CSCDriftSim.cc:164
CSCDriftSim
Definition: CSCDriftSim.h:32
CSCDriftSim::avgPathLengthLowB
double avgPathLengthLowB()
Definition: CSCDriftParamLowB.cc:7
CSCDriftSim::dNdEIntegral
std::vector< double > dNdEIntegral
Definition: CSCDriftSim.h:69
LocalPoint.h
CSCDriftSim::CSCDriftSim
CSCDriftSim()
Definition: CSCDriftSim.cc:24
PSimHit
Definition: PSimHit.h:15
CSCDriftSim::zcell
double zcell
Definition: CSCDriftSim.h:67
MagneticField
Definition: MagneticField.h:19