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 private:
55  std::vector<std::string> m_rbname;
56 
57  std::map<std::string, bool> m_chamber;
58 
59  int m_maxcb;
60 
62 };
63 #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::map< std::string, bool >::iterator itr2chambers
std::vector< std::string > m_rbname
void process(const RBCInput &, std::bitset< 2 > &) override
void copymap(const std::bitset< 15 > &)
void setBoardSpecs(const RBCBoardSpecs::RBCBoardConfig &) override