CMS 3D CMS Logo

RBCInput.h
Go to the documentation of this file.
1 #ifndef INTERFACE_RBCINPUT_H
2 #define INTERFACE_RBCINPUT_H 1
3 
4 // Include files
5 #include <cstdlib>
6 #include <istream>
7 #include <ostream>
8 #include <iostream>
9 #include <bitset>
10 #include <vector>
11 #include <array>
12 
22 class RBCInput {
23 public:
26  needmapping = false;
27  m_debug = false;
28  hasData = false;
29  };
30 
31  RBCInput(const RBCInput &) = default;
32  RBCInput(RBCInput &&) = default;
33  RBCInput &operator=(const RBCInput &) = default;
34  RBCInput &operator=(RBCInput &&) = default;
35 
36  // io functions
37  friend std::istream &operator>>(std::istream &istr, RBCInput &);
38  friend std::ostream &operator<<(std::ostream &ostr, RBCInput const &);
39 
40  bool input[30];
41  std::array<std::bitset<15>, 2> input_sec;
42 
43  void printinfo() const { std::cout << "RBCInput: " << (*this); };
44 
45  void mask(const std::vector<int> &);
46 
47  void force(const std::vector<int> &);
48 
49  bool hasData;
51 
52  void setWheelId(int wid) { m_wheelId = wid; };
53 
54  int wheelId() const { return m_wheelId; };
55 
56 private:
57  bool m_debug;
58 
59  int m_wheelId;
60 };
61 #endif // INTERFACE_RBCINPUT_H
friend std::ostream & operator<<(std::ostream &ostr, RBCInput const &)
Definition: RBCInput.cc:26
RBCInput & operator=(const RBCInput &)=default
std::array< std::bitset< 15 >, 2 > input_sec
Definition: RBCInput.h:41
void mask(const std::vector< int > &)
Definition: RBCInput.cc:37
friend std::istream & operator>>(std::istream &istr, RBCInput &)
Definition: RBCInput.cc:12
void force(const std::vector< int > &)
Definition: RBCInput.cc:51
void setWheelId(int wid)
Definition: RBCInput.h:52
int wheelId() const
Definition: RBCInput.h:54
RBCInput()
Standard constructor.
Definition: RBCInput.h:25
void printinfo() const
Definition: RBCInput.h:43
bool needmapping
Definition: RBCInput.h:50
bool input[30]
Definition: RBCInput.h:40
bool hasData
Definition: RBCInput.h:49
int m_wheelId
Definition: RBCInput.h:59
bool m_debug
Definition: RBCInput.h:54