CMS 3D CMS Logo

L1GtTriggerMenuLite.h
Go to the documentation of this file.
1 #ifndef DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h
2 #define DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h
3 
27 // system include files
28 #include <string>
29 #include <vector>
30 #include <map>
31 
32 #include <iosfwd>
33 
34 // user include files
35 
36 
37 // forward declarations
38 
39 // class declaration
41 
42 public:
43 
45  typedef std::map<unsigned int, std::string> L1TriggerMap;
46 
48  typedef L1TriggerMap::const_iterator CItL1Trig;
49  typedef L1TriggerMap::iterator ItL1Trig;
50 
51 public:
52 
55 
56  L1GtTriggerMenuLite(const std::string&, const L1TriggerMap&,
57  const L1TriggerMap&, const L1TriggerMap&,
58  const std::vector<unsigned int>&, const std::vector<unsigned int>&,
59  const std::vector<std::vector<int> >&,
60  const std::vector<std::vector<int> >&);
61 
64 
65  // destructor
66  virtual ~L1GtTriggerMenuLite();
67 
70 
72  bool operator==(const L1GtTriggerMenuLite&) const;
73 
75  bool operator!=(const L1GtTriggerMenuLite&) const;
76 
78  bool isProductEqual(const L1GtTriggerMenuLite&) const;
79 
80 public:
81 
83  inline const std::string& gtTriggerMenuInterface() const {
85  }
86 
88 
89  //
90  inline const std::string& gtTriggerMenuName() const {
91  return m_triggerMenuName;
92  }
93 
94  void setGtTriggerMenuName(const std::string&);
95 
96  //
97  inline const std::string& gtTriggerMenuImplementation() const {
99  }
100 
102 
104  inline const std::string& gtScaleDbKey() const {
105  return m_scaleDbKey;
106  }
107 
108  void setGtScaleDbKey(const std::string&);
109 
111  inline const L1TriggerMap& gtAlgorithmMap() const {
112  return m_algorithmMap;
113  }
114 
115  void setGtAlgorithmMap(const L1TriggerMap&);
116 
118  inline const L1TriggerMap& gtAlgorithmAliasMap() const {
119  return m_algorithmAliasMap;
120  }
121 
122  void setGtAlgorithmAliasMap(const L1TriggerMap&);
123 
125  inline const L1TriggerMap& gtTechnicalTriggerMap() const {
126  return m_technicalTriggerMap;
127  }
128 
129  void setGtTechnicalTriggerMap(const L1TriggerMap&);
130 
132  inline const std::vector<unsigned int>& gtTriggerMaskAlgoTrig() const
133  {
134  return m_triggerMaskAlgoTrig;
135  }
136 
138  void setGtTriggerMaskAlgoTrig(const std::vector<unsigned int>&);
139 
140 
142  inline const std::vector<unsigned int>& gtTriggerMaskTechTrig() const
143  {
144  return m_triggerMaskTechTrig;
145  }
146 
148  void setGtTriggerMaskTechTrig(const std::vector<unsigned int>&);
149 
151  inline const std::vector<std::vector<int> >& gtPrescaleFactorsAlgoTrig() const
152  {
154  }
155 
156  void setGtPrescaleFactorsAlgoTrig(const std::vector<std::vector<int> >&);
157 
158  inline const std::vector<std::vector<int> >& gtPrescaleFactorsTechTrig() const
159  {
161  }
162 
163  void setGtPrescaleFactorsTechTrig(const std::vector<std::vector<int> >&);
164 
167  void print(std::ostream&, int&) const;
168 
170  friend std::ostream& operator<<(std::ostream&, const L1GtTriggerMenuLite&);
171 
172 public:
173 
175  const std::string* gtAlgorithmAlias(const unsigned int bitNumber, int& errorCode) const;
176 
179  const std::string* gtAlgorithmName(const unsigned int bitNumber, int& errorCode) const;
180  const std::string* gtTechTrigName(const unsigned int bitNumber, int& errorCode) const;
181 
184  const unsigned int gtBitNumber(const std::string& trigName, int& errorCode) const;
185 
188  const bool gtTriggerResult(const std::string& trigName,
189  const std::vector<bool>& decWord, int& errorCode) const;
190 
191 
192 private:
193 
198 
201 
203  L1TriggerMap m_algorithmMap;
204 
206  L1TriggerMap m_algorithmAliasMap;
207 
209  L1TriggerMap m_technicalTriggerMap;
210 
212  std::vector<unsigned int> m_triggerMaskAlgoTrig;
213 
215  std::vector<unsigned int> m_triggerMaskTechTrig;
216 
218  std::vector<std::vector<int> > m_prescaleFactorsAlgoTrig;
219  std::vector<std::vector<int> > m_prescaleFactorsTechTrig;
220 
221 
222 };
223 
224 #endif /*DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h*/
void setGtTriggerMenuName(const std::string &)
void setGtPrescaleFactorsAlgoTrig(const std::vector< std::vector< int > > &)
const std::string * gtAlgorithmAlias(const unsigned int bitNumber, int &errorCode) const
get the alias for a physics algorithm with a given bit number
L1TriggerMap m_algorithmMap
map containing the physics algorithms (by name)
const std::vector< unsigned int > & gtTriggerMaskAlgoTrig() const
get the trigger mask for physics algorithms
L1TriggerMap::iterator ItL1Trig
const unsigned int gtBitNumber(const std::string &trigName, int &errorCode) const
const std::vector< std::vector< int > > & gtPrescaleFactorsAlgoTrig() const
get the prescale factors by reference / set the prescale factors
L1GtTriggerMenuLite()
constructor
std::string m_triggerMenuImplementation
std::string m_scaleDbKey
menu associated scale key
L1TriggerMap m_technicalTriggerMap
map containing the technical triggers
void setGtTriggerMenuInterface(const std::string &)
void setGtTriggerMaskTechTrig(const std::vector< unsigned int > &)
set the trigger mask for technical triggers
const std::string & gtTriggerMenuName() const
std::map< unsigned int, std::string > L1TriggerMap
map containing the physics algorithms or the technical triggers
bool isProductEqual(const L1GtTriggerMenuLite &) const
merge rule: test on isProductEqual
const std::string * gtTechTrigName(const unsigned int bitNumber, int &errorCode) const
std::vector< unsigned int > m_triggerMaskAlgoTrig
trigger mask for physics algorithms
const std::vector< unsigned int > & gtTriggerMaskTechTrig() const
get the trigger mask for technical triggers
void setGtTriggerMaskAlgoTrig(const std::vector< unsigned int > &)
set the trigger mask for physics algorithms
std::vector< std::vector< int > > m_prescaleFactorsAlgoTrig
prescale factors
const L1TriggerMap & gtAlgorithmAliasMap() const
get / set the algorithm map (by alias)
const bool gtTriggerResult(const std::string &trigName, const std::vector< bool > &decWord, int &errorCode) const
const std::vector< std::vector< int > > & gtPrescaleFactorsTechTrig() const
void print(std::ostream &, int &) const
void setGtAlgorithmAliasMap(const L1TriggerMap &)
L1TriggerMap::const_iterator CItL1Trig
iterators through map containing the physics algorithms or the technical triggers ...
std::vector< std::vector< int > > m_prescaleFactorsTechTrig
void setGtTriggerMenuImplementation(const std::string &)
void setGtPrescaleFactorsTechTrig(const std::vector< std::vector< int > > &)
void setGtScaleDbKey(const std::string &)
std::string m_triggerMenuInterface
menu names
friend std::ostream & operator<<(std::ostream &, const L1GtTriggerMenuLite &)
output stream operator
const L1TriggerMap & gtAlgorithmMap() const
get / set the algorithm map (by name)
bool operator==(const L1GtTriggerMenuLite &) const
equal operator
bool operator!=(const L1GtTriggerMenuLite &) const
unequal operator
const L1TriggerMap & gtTechnicalTriggerMap() const
get / set the technical trigger map
const std::string & gtTriggerMenuInterface() const
get / set the trigger menu names
const std::string & gtScaleDbKey() const
menu associated scale key
void setGtAlgorithmMap(const L1TriggerMap &)
std::vector< unsigned int > m_triggerMaskTechTrig
trigger mask for technical triggers
const std::string * gtAlgorithmName(const unsigned int bitNumber, int &errorCode) const
L1GtTriggerMenuLite & operator=(const L1GtTriggerMenuLite &)
assignment operator
void setGtTechnicalTriggerMap(const L1TriggerMap &)
const std::string & gtTriggerMenuImplementation() const
L1TriggerMap m_algorithmAliasMap
map containing the physics algorithms (by alias)