CMS 3D CMS Logo

GEMDigiModel.h
Go to the documentation of this file.
1 #ifndef SimMuon_GEMDigitizer_GEMDigiModel_h
2 #define SimMuon_GEMDigitizer_GEMDigiModel_h
3 
21 
22 #include <map>
23 #include <set>
24 
25 namespace CLHEP {
26  class HepRandomEngine;
27 }
28 
29 class PSimHit;
30 class GEMEtaPartition;
32 
33 typedef std::set<std::pair<int, int> > Strips;
34 typedef std::multimap<std::pair<unsigned int, int>, const PSimHit *, std::less<std::pair<unsigned int, int> > >
36 
37 class GEMDigiModel {
38 public:
39  virtual ~GEMDigiModel() {}
40 
41  virtual void simulate(
42  const GEMEtaPartition *, const edm::PSimHitContainer &, CLHEP::HepRandomEngine *, Strips &, DetectorHitMap &) = 0;
43 
44  void setGeometry(const GEMGeometry *geom) { geometry_ = geom; }
45 
46 protected:
49 };
50 #endif
void setGeometry(const GEMGeometry *geom)
Definition: GEMDigiModel.h:44
GEMDigiModel(const edm::ParameterSet &)
Definition: GEMDigiModel.h:48
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: GEMDigiModel.h:35
std::set< std::pair< int, int > > Strips
Definition: GEMDigiModel.h:31
const GEMGeometry * geometry_
Definition: GEMDigiModel.h:47
virtual ~GEMDigiModel()
Definition: GEMDigiModel.h:39
std::vector< PSimHit > PSimHitContainer