CMS 3D CMS Logo

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 public:
34 
35  virtual ~RPCSim(){};
36 
37  virtual void simulate(const RPCRoll* roll, const edm::PSimHitContainer& rpcHits, CLHEP::HepRandomEngine*) = 0;
38 
39  virtual void simulateNoise(const RPCRoll* roll, CLHEP::HepRandomEngine*) = 0;
40 
41  virtual void fillDigis(int rollDetId, RPCDigiCollection& digis);
42 
44 
46 
47  const DigiSimLinks& digiSimLinks() const { return theDigiSimLinks; }
49 
50 protected:
52  virtual void init() = 0;
53 
54 protected:
55  std::set<std::pair<int, int> > strips;
56  std::set<RPCDigi> irpc_digis;
57 
58  //--------NEW---------------------
59 
62  virtual void addLinks(unsigned int strip, int bx);
63 
64  // keeps track of which hits contribute to which channels
65  typedef std::multimap<std::pair<unsigned int, int>, const PSimHit*, std::less<std::pair<unsigned int, int> > >
67 
71  //--------------------------------
72 
73 protected:
75 };
76 #endif
RPCRoll
Definition: RPCRoll.h:12
RPCSim::getRPCSimSetUp
RPCSimSetUp * getRPCSimSetUp()
Definition: RPCSim.h:45
RPCSim::theSimSetUp
RPCSimSetUp * theSimSetUp
Definition: RPCSim.h:74
RPCSim::setRPCSimSetUp
void setRPCSimSetUp(RPCSimSetUp *setup)
Definition: RPCSim.h:43
edm::DetSet< StripDigiSimLink >
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
RPCSim::RPCSim
RPCSim(const edm::ParameterSet &config)
Definition: RPCSim.cc:5
PSimHitContainer.h
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
RPCSim::addLinks
virtual void addLinks(unsigned int strip, int bx)
Definition: RPCSim.cc:33
RPCSim::strips
std::set< std::pair< int, int > > strips
Definition: RPCSim.h:55
RPCSim::~RPCSim
virtual ~RPCSim()
Definition: RPCSim.h:35
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
RPCSim::irpc_digis
std::set< RPCDigi > irpc_digis
Definition: RPCSim.h:56
RPCDigiCollection
config
Definition: config.py:1
RPCSim::DigiSimLinks
edm::DetSet< StripDigiSimLink > DigiSimLinks
Definition: RPCSim.h:32
RPCSim::theDetectorHitMap
DetectorHitMap theDetectorHitMap
Definition: RPCSim.h:68
RPCSim::fillDigis
virtual void fillDigis(int rollDetId, RPCDigiCollection &digis)
Definition: RPCSim.cc:7
RPCSim::simulate
virtual void simulate(const RPCRoll *roll, const edm::PSimHitContainer &rpcHits, CLHEP::HepRandomEngine *)=0
RPCSim::theRpcDigiSimLinks
RPCDigiSimLinks theRpcDigiSimLinks
Definition: RPCSim.h:70
CLHEP
Definition: CocoaGlobals.h:27
edm::ParameterSet
Definition: ParameterSet.h:47
RPCSim::DetectorHitMap
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: RPCSim.h:66
RPCSim
Definition: RPCSim.h:30
RPCSim::rpcDigiSimLinks
const RPCDigiSimLinks & rpcDigiSimLinks() const
Definition: RPCSim.h:48
RPCSim::theDigiSimLinks
DigiSimLinks theDigiSimLinks
Definition: RPCSim.h:69
RPCSim::simulateNoise
virtual void simulateNoise(const RPCRoll *roll, CLHEP::HepRandomEngine *)=0
EventSetup.h
RPCDigiCollection.h
RPCSim::digiSimLinks
const DigiSimLinks & digiSimLinks() const
Definition: RPCSim.h:47
DetSet.h
RPCGeometry
Definition: RPCGeometry.h:20
edm::PSimHitContainer
std::vector< PSimHit > PSimHitContainer
Definition: PSimHitContainer.h:11
RPCSimSetUp
Definition: RPCSimSetUp.h:28
ParameterSet.h
PSimHit
Definition: PSimHit.h:15
RPCSim::RPCDigiSimLinks
edm::DetSet< RPCDigiSimLink > RPCDigiSimLinks
Definition: RPCSim.h:33
RPCSim::init
virtual void init()=0