CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GlobalTriggerReadoutRecord.h
Go to the documentation of this file.
1 #ifndef L1GlobalTrigger_L1GlobalTriggerReadoutRecord_h
2 #define L1GlobalTrigger_L1GlobalTriggerReadoutRecord_h
3 
21 // system include files
22 #include <string>
23 #include <vector>
24 #include <iosfwd>
25 
26 // user include files
29 
31 
35 
37 
39 
40 // forward declarations
41 namespace edm
42 {
43 template <typename T>
44 class Handle;
45 }
46 
47 // class interface
48 
50 {
51 
52 public:
53 
56 
57  L1GlobalTriggerReadoutRecord(int NumberBxInEvent);
58 
60  const int numberBxInEvent,
61  const int numberFdlBoards,
62  const int numberPsbBoards);
63 
64 
67 
70 
73 
75  bool operator==(const L1GlobalTriggerReadoutRecord&) const;
76 
78  bool operator!=(const L1GlobalTriggerReadoutRecord&) const;
79 
80 public:
81 
85  const bool decision(int bxInEventValue) const;
86  const bool decision() const;
87 
88  const cms_uint16_t finalOR(int bxInEventValue) const;
89  const cms_uint16_t finalOR() const;
90 
91  const DecisionWord & decisionWord(int bxInEventValue) const;
92  const DecisionWord & decisionWord() const;
93 
94  const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const;
96 
98  void setDecision(const bool& t, int bxInEventValue);
99  void setDecision(const bool& t);
100 
101  void setDecisionWord(const DecisionWord& decisionWordValue, int bxInEventValue);
102  void setDecisionWord(const DecisionWord& decisionWordValue);
103 
104  void setTechnicalTriggerWord(const TechnicalTriggerWord& ttWordValue, int bxInEventValue);
105  void setTechnicalTriggerWord(const TechnicalTriggerWord& ttWordValue);
106 
108  void printGtDecision(std::ostream& myCout, int bxInEventValue) const;
109  void printGtDecision(std::ostream& myCout) const;
110 
112  void printTechnicalTrigger(std::ostream& myCout, int bxInEventValue) const;
113  void printTechnicalTrigger(std::ostream& myCout) const;
114 
115 
120 
121 
122 
123  //**************************************************************************
124  // get/set hardware-related words
125  //
126  //**************************************************************************
127 
128 
130  const L1GtfeWord gtfeWord() const;
131  void setGtfeWord(const L1GtfeWord&);
132 
134  const std::vector<L1GtFdlWord> gtFdlVector() const
135  {
136  return m_gtFdlWord;
137  }
138 
139  std::vector<L1GtFdlWord>& gtFdlVector()
140  {
141  return m_gtFdlWord;
142  }
143 
145  const L1GtFdlWord gtFdlWord(int bxInEventValue) const;
146  const L1GtFdlWord gtFdlWord() const;
147 
148  void setGtFdlWord(const L1GtFdlWord&, int bxInEventValue);
149  void setGtFdlWord(const L1GtFdlWord&);
150 
152  const std::vector<L1GtPsbWord> gtPsbVector() const
153  {
154  return m_gtPsbWord;
155  }
156 
157  std::vector<L1GtPsbWord>& gtPsbVector()
158  {
159  return m_gtPsbWord;
160  }
161 
163  const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue, int bxInEventValue) const;
164  const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue) const;
165 
166  void setGtPsbWord(const L1GtPsbWord&, cms_uint16_t boardIdValue, int bxInEventValue);
167  void setGtPsbWord(const L1GtPsbWord&, cms_uint16_t boardIdValue);
168  void setGtPsbWord(const L1GtPsbWord& gtPsbWordValue);
169 
170  // other methods
171 
173  void reset();
174 
176  void print(std::ostream& myCout) const;
177 
179  friend std::ostream& operator<<(std::ostream&, const L1GlobalTriggerReadoutRecord&);
180 
181 
182 private:
183 
185 
186  std::vector<L1GtFdlWord> m_gtFdlWord;
187 
188  std::vector<L1GtPsbWord> m_gtPsbWord;
189 
191 
192 };
193 
194 
195 #endif
void setDecision(const bool &t, int bxInEventValue)
set global decision, decision word and technical trigger word
void print(std::ostream &myCout) const
pretty print the content of a L1GlobalTriggerReadoutRecord
const DecisionWord & decisionWord() const
const std::vector< L1GtFdlWord > gtFdlVector() const
get the vector of L1GtFdlWord
const L1GtfeWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
void setMuCollectionRefProd(edm::Handle< L1MuGMTReadoutCollection > &)
bool operator==(const L1GlobalTriggerReadoutRecord &) const
equal operator
const std::vector< L1GtPsbWord > gtPsbVector() const
get the vector of L1GtPsbWord
void printGtDecision(std::ostream &myCout, int bxInEventValue) const
print global decision and algorithm decision word
void setGtFdlWord(const L1GtFdlWord &, int bxInEventValue)
std::vector< L1GtPsbWord > m_gtPsbWord
void setDecisionWord(const DecisionWord &decisionWordValue, int bxInEventValue)
std::vector< bool > DecisionWord
typedefs
void setTechnicalTriggerWord(const TechnicalTriggerWord &ttWordValue, int bxInEventValue)
std::vector< L1GtFdlWord > & gtFdlVector()
friend std::ostream & operator<<(std::ostream &, const L1GlobalTriggerReadoutRecord &)
output stream operator
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
unsigned short cms_uint16_t
Definition: typedefs.h:13
edm::RefProd< L1MuGMTReadoutCollection > m_muCollRefProd
const L1GtPsbWord gtPsbWord(cms_uint16_t boardIdValue, int bxInEventValue) const
get / set PSB word (record) in the GT readout record
std::vector< L1GtFdlWord > m_gtFdlWord
std::vector< L1GtPsbWord > & gtPsbVector()
const edm::RefProd< L1MuGMTReadoutCollection > muCollectionRefProd() const
get / set reference to L1MuGMTReadoutCollection
void setGtPsbWord(const L1GtPsbWord &, cms_uint16_t boardIdValue, int bxInEventValue)
const TechnicalTriggerWord & technicalTriggerWord() const
bool operator!=(const L1GlobalTriggerReadoutRecord &) const
unequal operator
void printTechnicalTrigger(std::ostream &myCout, int bxInEventValue) const
print technical triggers
L1GlobalTriggerReadoutRecord & operator=(const L1GlobalTriggerReadoutRecord &)
assignment operator