CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
33 {
34 public:
35  CSCDriftSim();
36 
37  ~CSCDriftSim();
38 
42  CSCDetectorHit getWireHit(const Local3DPoint & ionClusterPosition,
43  const CSCLayer *, int wire, const PSimHit & simHit,
44  CLHEP::HepRandomEngine*);
45 
46  void setMagneticField(const MagneticField * field) {theMagneticField = field;}
47 
48 private:
49  // helper functions
50  double avgPathLengthLowB();
51  double pathSigmaLowB();
52  double avgDriftTimeLowB();
53  double driftTimeSigmaLowB();
54  double avgPathLengthHighB();
55  double pathSigmaHighB();
56  double avgDriftTimeHighB();
57  double driftTimeSigmaHighB();
58  double avgDrift() const;
59  double driftSigma() const;
60  double avalancheCharge(CLHEP::HepRandomEngine*);
61  double gasGain(const CSCDetId & id) const;
62 
63  // local magnetic field
64  float bz;
65  // distances from wire
66  double ycell, zcell;
67  // dN/dE for the avalanche sim.
68  std::vector<double> dNdEIntegral;
69  const double STEP_SIZE;
70 
72 
74 };
75 
76 #endif
double avgDrift() const
Definition: CSCDriftParam.cc:8
double zcell
Definition: CSCDriftSim.h:66
double pathSigmaHighB()
CSCDetectorHit getWireHit(const Local3DPoint &ionClusterPosition, const CSCLayer *, int wire, const PSimHit &simHit, CLHEP::HepRandomEngine *)
Definition: CSCDriftSim.cc:61
const MagneticField * theMagneticField
Definition: CSCDriftSim.h:73
double avgPathLengthHighB()
const double STEP_SIZE
Definition: CSCDriftSim.h:69
double driftTimeSigmaLowB()
double driftTimeSigmaHighB()
void setMagneticField(const MagneticField *field)
Definition: CSCDriftSim.h:46
double avgDriftTimeHighB()
double avalancheCharge(CLHEP::HepRandomEngine *)
Definition: CSCDriftSim.cc:138
double avgDriftTimeLowB()
const double ELECTRON_DIFFUSION_COEFF
Definition: CSCDriftSim.h:71
double pathSigmaLowB()
double ycell
Definition: CSCDriftSim.h:66
double avgPathLengthLowB()
double driftSigma() const
std::vector< double > dNdEIntegral
Definition: CSCDriftSim.h:68
double gasGain(const CSCDetId &id) const
Definition: CSCDriftSim.cc:171