CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCSim.h
Go to the documentation of this file.
1 #ifndef RPCDigitizer_RPCSim_h
2 #define RPCDigitizer_RPCSim_h
3 
13 
14 #include <map>
15 #include <set>
16 
20 
21 class RPCRoll;
22 class RPCGeometry;
23 class RPCSimSetUp;
24 class PSimHit;
25 
26 namespace CLHEP {
27  class HepRandomEngine;
28 }
29 
30 class RPCSim
31 {
32  public:
33 
36 
37  virtual ~RPCSim(){};
38 
39  virtual void simulate(const RPCRoll* roll,
40  const edm::PSimHitContainer& rpcHits,
41  CLHEP::HepRandomEngine*)=0;
42 
43  virtual void simulateNoise(const RPCRoll* roll,
44  CLHEP::HepRandomEngine*)=0;
45 
46  virtual void fillDigis(int rollDetId, RPCDigiCollection& digis);
47 
49 
51 
52  const DigiSimLinks & digiSimLinks() const {return theDigiSimLinks;}
54 
55  protected:
57  virtual void init()=0;
58 
59  protected:
60  std::set< std::pair<int,int> > strips;
61 
62  //--------NEW---------------------
63 
66  virtual void addLinks(unsigned int strip,int bx);
67 
68  // keeps track of which hits contribute to which channels
69  typedef std::multimap<std::pair<unsigned int,int>,const PSimHit*,std::less<std::pair<unsigned int, int> > > DetectorHitMap;
70 
74  //--------------------------------
75 
76  protected:
78 };
79 #endif
const DigiSimLinks & digiSimLinks() const
Definition: RPCSim.h:52
const RPCDigiSimLinks & rpcDigiSimLinks() const
Definition: RPCSim.h:53
virtual ~RPCSim()
Definition: RPCSim.h:37
DetectorHitMap theDetectorHitMap
Definition: RPCSim.h:71
RPCSimSetUp * getRPCSimSetUp()
Definition: RPCSim.h:50
RPCSimSetUp * theSimSetUp
Definition: RPCSim.h:77
DigiSimLinks theDigiSimLinks
Definition: RPCSim.h:72
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: RPCSim.h:69
std::set< std::pair< int, int > > strips
Definition: RPCSim.h:60
edm::DetSet< RPCDigiSimLink > RPCDigiSimLinks
Definition: RPCSim.h:35
virtual void simulateNoise(const RPCRoll *roll, CLHEP::HepRandomEngine *)=0
Definition: RPCSim.h:30
void setRPCSimSetUp(RPCSimSetUp *setup)
Definition: RPCSim.h:48
virtual void fillDigis(int rollDetId, RPCDigiCollection &digis)
Definition: RPCSim.cc:10
RPCSim(const edm::ParameterSet &config)
Definition: RPCSim.cc:5
virtual void addLinks(unsigned int strip, int bx)
Definition: RPCSim.cc:28
virtual void init()=0
std::vector< PSimHit > PSimHitContainer
edm::DetSet< StripDigiSimLink > DigiSimLinks
Definition: RPCSim.h:34
virtual void simulate(const RPCRoll *roll, const edm::PSimHitContainer &rpcHits, CLHEP::HepRandomEngine *)=0
RPCDigiSimLinks theRpcDigiSimLinks
Definition: RPCSim.h:73