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 // forward declarations
37 
38 // class declaration
40 public:
42  typedef std::map<unsigned int, std::string> L1TriggerMap;
43 
45  typedef L1TriggerMap::const_iterator CItL1Trig;
46  typedef L1TriggerMap::iterator ItL1Trig;
47 
48 public:
51 
53  const L1TriggerMap&,
54  const L1TriggerMap&,
55  const L1TriggerMap&,
56  const std::vector<unsigned int>&,
57  const std::vector<unsigned int>&,
58  const std::vector<std::vector<int> >&,
59  const std::vector<std::vector<int> >&);
60 
63 
64  // destructor
65  virtual ~L1GtTriggerMenuLite();
66 
69 
71  bool operator==(const L1GtTriggerMenuLite&) const;
72 
74  bool operator!=(const L1GtTriggerMenuLite&) const;
75 
77  bool isProductEqual(const L1GtTriggerMenuLite&) const;
78 
79 public:
81  inline const std::string& gtTriggerMenuInterface() const { return m_triggerMenuInterface; }
82 
84 
85  //
86  inline const std::string& gtTriggerMenuName() const { return m_triggerMenuName; }
87 
88  void setGtTriggerMenuName(const std::string&);
89 
90  //
92 
94 
96  inline const std::string& gtScaleDbKey() const { return m_scaleDbKey; }
97 
98  void setGtScaleDbKey(const std::string&);
99 
101  inline const L1TriggerMap& gtAlgorithmMap() const { return m_algorithmMap; }
102 
103  void setGtAlgorithmMap(const L1TriggerMap&);
104 
106  inline const L1TriggerMap& gtAlgorithmAliasMap() const { return m_algorithmAliasMap; }
107 
108  void setGtAlgorithmAliasMap(const L1TriggerMap&);
109 
111  inline const L1TriggerMap& gtTechnicalTriggerMap() const { return m_technicalTriggerMap; }
112 
113  void setGtTechnicalTriggerMap(const L1TriggerMap&);
114 
116  inline const std::vector<unsigned int>& gtTriggerMaskAlgoTrig() const { return m_triggerMaskAlgoTrig; }
117 
119  void setGtTriggerMaskAlgoTrig(const std::vector<unsigned int>&);
120 
122  inline const std::vector<unsigned int>& gtTriggerMaskTechTrig() const { return m_triggerMaskTechTrig; }
123 
125  void setGtTriggerMaskTechTrig(const std::vector<unsigned int>&);
126 
128  inline const std::vector<std::vector<int> >& gtPrescaleFactorsAlgoTrig() const { return m_prescaleFactorsAlgoTrig; }
129 
130  void setGtPrescaleFactorsAlgoTrig(const std::vector<std::vector<int> >&);
131 
132  inline const std::vector<std::vector<int> >& gtPrescaleFactorsTechTrig() const { return m_prescaleFactorsTechTrig; }
133 
134  void setGtPrescaleFactorsTechTrig(const std::vector<std::vector<int> >&);
135 
138  void print(std::ostream&, int&) const;
139 
141  friend std::ostream& operator<<(std::ostream&, const L1GtTriggerMenuLite&);
142 
143 public:
145  const std::string* gtAlgorithmAlias(const unsigned int bitNumber, int& errorCode) const;
146 
149  const std::string* gtAlgorithmName(const unsigned int bitNumber, int& errorCode) const;
150  const std::string* gtTechTrigName(const unsigned int bitNumber, int& errorCode) const;
151 
154  const unsigned int gtBitNumber(const std::string& trigName, int& errorCode) const;
155 
158  const bool gtTriggerResult(const std::string& trigName, const std::vector<bool>& decWord, int& errorCode) const;
159 
160 private:
165 
168 
170  L1TriggerMap m_algorithmMap;
171 
173  L1TriggerMap m_algorithmAliasMap;
174 
176  L1TriggerMap m_technicalTriggerMap;
177 
179  std::vector<unsigned int> m_triggerMaskAlgoTrig;
180 
182  std::vector<unsigned int> m_triggerMaskTechTrig;
183 
185  std::vector<std::vector<int> > m_prescaleFactorsAlgoTrig;
186  std::vector<std::vector<int> > m_prescaleFactorsTechTrig;
187 };
188 
189 #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)