CMS 3D CMS Logo

RBCChamberORLogic.h
Go to the documentation of this file.
1 #ifndef RBCCHAMBERORLOGIC_H
2 #define RBCCHAMBERORLOGIC_H 1
3 
4 // Include files
5 
8 
9 #include <iostream>
10 #include <vector>
11 #include <map>
12 #include <array>
13 
27 class RBCChamberORLogic : public RBCLogic {
28 public:
31 
32  void process ( const RBCInput & , std::bitset<2> & ) override;
33 
34  void setBoardSpecs( const RBCBoardSpecs::RBCBoardConfig & ) override;
35 
36  std::bitset<6> * getlayersignal(int _idx) override { return & m_layersignal[_idx]; };
37 
38  typedef std::vector<std::string>::iterator itr2names;
39  typedef std::map<std::string,bool>::iterator itr2chambers;
40 
41  void copymap( const std::bitset<15> & );
42 
43  void createmap( const std::bitset<15> & );
44 
45  void reset();
46 
47  bool evaluateLayerOR( const char *, const char * );
48 
49  void setmaxlevel( int _mx ) { m_maxlevel = _mx;};
50 
51  std::array<std::bitset<6>,2> m_layersignal;
52 
53 protected:
54 
55 private:
56 
57  std::vector<std::string> m_rbname;
58 
59  std::map<std::string, bool> m_chamber;
60 
61  int m_maxcb;
62 
64 
65 };
66 #endif // RBCCHAMBERORLOGIC_H
std::vector< std::string >::iterator itr2names
void setmaxlevel(int _mx)
std::map< std::string, bool > m_chamber
RBCChamberORLogic()
Standard constructor.
bool evaluateLayerOR(const char *, const char *)
std::bitset< 6 > * getlayersignal(int _idx) override
void createmap(const std::bitset< 15 > &)
std::array< std::bitset< 6 >, 2 > m_layersignal
std::vector< std::string > m_rbname
std::map< std::string, bool >::iterator itr2chambers
void process(const RBCInput &, std::bitset< 2 > &) override
void copymap(const std::bitset< 15 > &)
void setBoardSpecs(const RBCBoardSpecs::RBCBoardConfig &) override