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 #include "CLHEP/Random/RandomEngine.h"
21 
22 class RPCRoll;
23 class RPCGeometry;
24 class RPCSimSetUp;
25 class PSimHit;
26 
27 class RPCSim
28 {
29  public:
30 
33 
34  virtual ~RPCSim(){};
35 
36  virtual void simulate(const RPCRoll* roll,
37  const edm::PSimHitContainer& rpcHits)=0;
38 
39  virtual void simulateNoise(const RPCRoll* roll)=0;
40 
41  virtual void setRandomEngine(CLHEP::HepRandomEngine& eng)=0;
42 
43  virtual void fillDigis(int rollDetId, RPCDigiCollection& digis);
44 
46 
48 
49  const DigiSimLinks & digiSimLinks() const {return theDigiSimLinks;}
51 
52  protected:
54  virtual void init()=0;
55 
56  protected:
57  std::set< std::pair<int,int> > strips;
58 
59  //--------NEW---------------------
60 
63  virtual void addLinks(unsigned int strip,int bx);
64 
65  // keeps track of which hits contribute to which channels
66  typedef std::multimap<std::pair<unsigned int,int>,const PSimHit*,std::less<std::pair<unsigned int, int> > > DetectorHitMap;
67 
71  //--------------------------------
72 
73  protected:
75 };
76 #endif
const DigiSimLinks & digiSimLinks() const
Definition: RPCSim.h:49
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
const RPCDigiSimLinks & rpcDigiSimLinks() const
Definition: RPCSim.h:50
virtual ~RPCSim()
Definition: RPCSim.h:34
DetectorHitMap theDetectorHitMap
Definition: RPCSim.h:68
RPCSimSetUp * getRPCSimSetUp()
Definition: RPCSim.h:47
RPCSimSetUp * theSimSetUp
Definition: RPCSim.h:74
DigiSimLinks theDigiSimLinks
Definition: RPCSim.h:69
std::multimap< std::pair< unsigned int, int >, const PSimHit *, std::less< std::pair< unsigned int, int > > > DetectorHitMap
Definition: RPCSim.h:66
std::set< std::pair< int, int > > strips
Definition: RPCSim.h:57
edm::DetSet< RPCDigiSimLink > RPCDigiSimLinks
Definition: RPCSim.h:32
Definition: RPCSim.h:27
void setRPCSimSetUp(RPCSimSetUp *setup)
Definition: RPCSim.h:45
virtual void fillDigis(int rollDetId, RPCDigiCollection &digis)
Definition: RPCSim.cc:10
virtual void setRandomEngine(CLHEP::HepRandomEngine &eng)=0
RPCSim(const edm::ParameterSet &config)
Definition: RPCSim.cc:5
virtual void simulateNoise(const RPCRoll *roll)=0
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:31
virtual void simulate(const RPCRoll *roll, const edm::PSimHitContainer &rpcHits)=0
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
RPCDigiSimLinks theRpcDigiSimLinks
Definition: RPCSim.h:70