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 
48  void retrieveWheelMap( TTUInput & );
49 
50  int getid() const { return m_id; };
51 
52  void printinfo() const;
53 
54  void print_wheel(const TTUInput & ) const;
55 
56 
57 protected:
58 
59 private:
60  std::vector<std::unique_ptr<RBCEmulator>> m_RBCE;
61 
62  int m_id;
63  static constexpr int m_maxrbc = 6;
64  static constexpr int m_maxlayers = 6;
65  static constexpr int m_maxsectors = 12;
66 
67  //...
68 
69  std::bitset<12> m_rbcDecision;
70  std::array<std::bitset<6>,12> m_wheelmap;
71 
72  bool m_debug;
73 
74 };
75 
76 #endif // RPCWHEEL_H
std::array< std::bitset< 6 >, 12 > m_wheelmap
Definition: RPCWheel.h:70
static constexpr int m_maxlayers
Definition: RPCWheel.h:64
RPCWheel()
Standard constructor.
Definition: RPCWheel.cc:19
int m_id
Definition: RPCWheel.h:62
bool initialise()
Definition: RPCWheel.cc:95
int getid() const
Definition: RPCWheel.h:50
bool process(int, const std::map< int, RBCInput * > &)
Definition: RPCWheel.cc:115
bool m_debug
Definition: RPCWheel.h:72
std::bitset< 12 > m_rbcDecision
Definition: RPCWheel.h:69
static constexpr int m_maxsectors
Definition: RPCWheel.h:65
void print_wheel(const TTUInput &)
void createWheelMap()
Definition: RPCWheel.cc:199
RPCWheel & operator=(RPCWheel &&)=default
void retrieveWheelMap(TTUInput &)
Definition: RPCWheel.cc:232
void setProperties(int)
Definition: RPCWheel.cc:25
std::vector< std::unique_ptr< RBCEmulator > > m_RBCE
Definition: RPCWheel.h:60
static constexpr int m_maxrbc
Definition: RPCWheel.h:63
void emulate()
Definition: RPCWheel.cc:105
void setSpecifications(const RBCBoardSpecs *)
Definition: RPCWheel.cc:87
void print_wheel(const TTUInput &) const
Definition: RPCWheel.cc:266
#define constexpr
void printinfo() const
Definition: RPCWheel.cc:257