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 
10 #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 {
29 public:
30  explicit CSCWireHitSim(CSCDriftSim* driftSim, const edm::ParameterSet & p);
31  ~CSCWireHitSim();
32 
33  // makes wire hits from the given g3hits
34  std::vector<CSCDetectorHit> & simulate(const CSCLayer * layer,
36  CLHEP::HepRandomEngine*);
37 
38  void setParticleDataTable(const ParticleDataTable * pdt);
39 
40 private:
41  // Helper functions
42  std::vector<Local3DPoint> getIonizationClusters(const PSimHit & hit,
43  const CSCLayer *,
44  CLHEP::HepRandomEngine*);
45  CSCDetectorHit driftElectronsToWire();
46 
47  // member data
50  std::vector<CSCDetectorHit> theNewWireHits;
51 };
52 
53 #endif
HepPDT::ParticleDataTable ParticleDataTable
CSCDriftSim * theDriftSim
Definition: CSCWireHitSim.h:48
CSCGasCollisions * theGasIonizer
Definition: CSCWireHitSim.h:49
std::vector< PSimHit > PSimHitContainer
std::vector< CSCDetectorHit > theNewWireHits
Definition: CSCWireHitSim.h:50