CMS 3D CMS Logo

CSCWireHitSim.h
Go to the documentation of this file.
1 #ifndef MU_END_WIRE_HIT_SIM_H
2 #define MU_END_WIRE_HIT_SIM_H
3 
15 #include <vector>
16 
17 class CSCDriftSim;
18 class CSCLayer;
19 class CSCG3Hit;
20 class CSCGasCollisions;
21 class CSCLayerGeometry;
22 
23 namespace CLHEP {
24  class HepRandomEngine;
25 }
26 
28 public:
29  explicit CSCWireHitSim(CSCDriftSim *driftSim, const edm::ParameterSet &p);
31 
32  // makes wire hits from the given g3hits
33  std::vector<CSCDetectorHit> &simulate(const CSCLayer *layer,
35  CLHEP::HepRandomEngine *);
36 
37  void setParticleDataTable(const ParticleDataTable *pdt);
38 
39 private:
40  // Helper functions
41  std::vector<Local3DPoint> getIonizationClusters(const PSimHit &hit, const CSCLayer *, CLHEP::HepRandomEngine *);
43 
44  // member data
47  std::vector<CSCDetectorHit> theNewWireHits;
48 };
49 
50 #endif
CSCWireHitSim(CSCDriftSim *driftSim, const edm::ParameterSet &p)
HepPDT::ParticleDataTable ParticleDataTable
std::vector< CSCDetectorHit > & simulate(const CSCLayer *layer, const edm::PSimHitContainer &simHits, CLHEP::HepRandomEngine *)
CSCDriftSim * theDriftSim
Definition: CSCWireHitSim.h:45
CSCDetectorHit driftElectronsToWire()
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< Local3DPoint > getIonizationClusters(const PSimHit &hit, const CSCLayer *, CLHEP::HepRandomEngine *)
CSCGasCollisions * theGasIonizer
Definition: CSCWireHitSim.h:46
std::vector< PSimHit > PSimHitContainer
std::vector< CSCDetectorHit > theNewWireHits
Definition: CSCWireHitSim.h:47
void setParticleDataTable(const ParticleDataTable *pdt)