CMS 3D CMS Logo

RPCWheel.h
Go to the documentation of this file.
1 #ifndef RPCWHEEL_H
2 #define RPCWHEEL_H 1
3 
4 // Include files
8 
9 #include <vector>
10 #include <map>
11 
21 void print_wheel(const TTUInput&);
22 
23 class RPCWheel {
24 public:
26  RPCWheel();
27  RPCWheel(RPCWheel&&) = default;
28  RPCWheel& operator=(RPCWheel&&) = default;
29 
30  void setProperties(int);
31 
32  void setProperties(int, const char*);
33 
34  void setProperties(int, const char*, const char*);
35 
36  void setSpecifications(const RBCBoardSpecs*);
37 
38  bool initialise();
39 
40  void emulate();
41 
42  bool process(int, const std::map<int, RBCInput*>&);
43 
44  bool process(int, const std::map<int, TTUInput*>&);
45 
46  void createWheelMap();
47 
49 
50  int getid() const { return m_id; };
51 
52  void printinfo() const;
53 
54  void print_wheel(const TTUInput&) const;
55 
56 protected:
57 private:
58  std::vector<std::unique_ptr<RBCEmulator>> m_RBCE;
59 
60  int m_id;
61  static constexpr int m_maxrbc = 6;
62  static constexpr int m_maxlayers = 6;
63  static constexpr int m_maxsectors = 12;
64 
65  //...
66 
67  std::bitset<12> m_rbcDecision;
68  std::array<std::bitset<6>, 12> m_wheelmap;
69 
70  bool m_debug;
71 };
72 
73 #endif // RPCWHEEL_H
static constexpr int m_maxlayers
Definition: RPCWheel.h:62
RPCWheel()
Standard constructor.
Definition: RPCWheel.cc:17
int m_id
Definition: RPCWheel.h:60
bool initialise()
Definition: RPCWheel.cc:75
int getid() const
Definition: RPCWheel.h:50
bool process(int, const std::map< int, RBCInput * > &)
Definition: RPCWheel.cc:89
bool m_debug
Definition: RPCWheel.h:70
std::array< std::bitset< 6 >, 12 > m_wheelmap
Definition: RPCWheel.h:68
std::bitset< 12 > m_rbcDecision
Definition: RPCWheel.h:67
static constexpr int m_maxsectors
Definition: RPCWheel.h:63
void print_wheel(const TTUInput &)
void createWheelMap()
Definition: RPCWheel.cc:165
RPCWheel & operator=(RPCWheel &&)=default
void retrieveWheelMap(TTUInput &)
Definition: RPCWheel.cc:194
void setProperties(int)
Definition: RPCWheel.cc:19
std::vector< std::unique_ptr< RBCEmulator > > m_RBCE
Definition: RPCWheel.h:58
static constexpr int m_maxrbc
Definition: RPCWheel.h:61
void emulate()
Definition: RPCWheel.cc:82
void setSpecifications(const RBCBoardSpecs *)
Definition: RPCWheel.cc:70
void print_wheel(const TTUInput &) const
Definition: RPCWheel.cc:223
#define constexpr
void printinfo() const
Definition: RPCWheel.cc:217