CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/DataFormats/L1GlobalTrigger/interface/L1GtTriggerMenuLite.h

Go to the documentation of this file.
00001 #ifndef DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h
00002 #define DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h
00003 
00029 // system include files
00030 #include <string>
00031 #include <vector>
00032 #include <map>
00033 
00034 #include <iosfwd>
00035 
00036 // user include files
00037 
00038 
00039 // forward declarations
00040 
00041 // class declaration
00042 class L1GtTriggerMenuLite {
00043 
00044 public:
00045 
00047     typedef std::map<unsigned int, std::string> L1TriggerMap;
00048 
00050     typedef L1TriggerMap::const_iterator CItL1Trig;
00051     typedef L1TriggerMap::iterator ItL1Trig;
00052 
00053 public:
00054 
00056     L1GtTriggerMenuLite();
00057 
00058     L1GtTriggerMenuLite(const std::string&, const L1TriggerMap&,
00059             const L1TriggerMap&, const L1TriggerMap&,
00060             const std::vector<unsigned int>&, const std::vector<unsigned int>&,
00061             const std::vector<std::vector<int> >&,
00062             const std::vector<std::vector<int> >&);
00063 
00065     L1GtTriggerMenuLite(const L1GtTriggerMenuLite&);
00066 
00067     // destructor
00068     virtual ~L1GtTriggerMenuLite();
00069 
00071     L1GtTriggerMenuLite& operator=(const L1GtTriggerMenuLite&);
00072 
00074     bool operator==(const L1GtTriggerMenuLite&) const;
00075 
00077     bool operator!=(const L1GtTriggerMenuLite&) const;
00078 
00080     bool isProductEqual(const L1GtTriggerMenuLite&) const;
00081 
00082 public:
00083 
00085     inline const std::string& gtTriggerMenuInterface() const {
00086         return m_triggerMenuInterface;
00087     }
00088 
00089     void setGtTriggerMenuInterface(const std::string&);
00090 
00091     //
00092     inline const std::string& gtTriggerMenuName() const {
00093         return m_triggerMenuName;
00094     }
00095 
00096     void setGtTriggerMenuName(const std::string&);
00097 
00098     //
00099     inline const std::string& gtTriggerMenuImplementation() const {
00100         return m_triggerMenuImplementation;
00101     }
00102 
00103     void setGtTriggerMenuImplementation(const std::string&);
00104 
00106     inline const std::string& gtScaleDbKey() const {
00107         return m_scaleDbKey;
00108     }
00109 
00110     void setGtScaleDbKey(const std::string&);
00111 
00113     inline const L1TriggerMap& gtAlgorithmMap() const {
00114         return m_algorithmMap;
00115     }
00116 
00117     void setGtAlgorithmMap(const L1TriggerMap&);
00118 
00120     inline const L1TriggerMap& gtAlgorithmAliasMap() const {
00121         return m_algorithmAliasMap;
00122     }
00123 
00124     void setGtAlgorithmAliasMap(const L1TriggerMap&);
00125 
00127     inline const L1TriggerMap& gtTechnicalTriggerMap() const {
00128         return m_technicalTriggerMap;
00129     }
00130 
00131     void setGtTechnicalTriggerMap(const L1TriggerMap&);
00132 
00134     inline const std::vector<unsigned int>& gtTriggerMaskAlgoTrig() const
00135     {
00136         return m_triggerMaskAlgoTrig;
00137     }
00138 
00140     void setGtTriggerMaskAlgoTrig(const std::vector<unsigned int>&);
00141 
00142 
00144     inline const std::vector<unsigned int>& gtTriggerMaskTechTrig() const
00145     {
00146         return m_triggerMaskTechTrig;
00147     }
00148 
00150     void setGtTriggerMaskTechTrig(const std::vector<unsigned int>&);
00151 
00153     inline const std::vector<std::vector<int> >& gtPrescaleFactorsAlgoTrig() const
00154     {
00155         return m_prescaleFactorsAlgoTrig;
00156     }
00157 
00158     void setGtPrescaleFactorsAlgoTrig(const std::vector<std::vector<int> >&);
00159 
00160     inline const std::vector<std::vector<int> >& gtPrescaleFactorsTechTrig() const
00161     {
00162         return m_prescaleFactorsTechTrig;
00163     }
00164 
00165     void setGtPrescaleFactorsTechTrig(const std::vector<std::vector<int> >&);
00166 
00169     void print(std::ostream&, int&) const;
00170 
00172     friend std::ostream& operator<<(std::ostream&, const L1GtTriggerMenuLite&);
00173 
00174 public:
00175 
00177     const std::string* gtAlgorithmAlias(const unsigned int bitNumber, int& errorCode) const;
00178 
00181     const std::string* gtAlgorithmName(const unsigned int bitNumber, int& errorCode) const;
00182     const std::string* gtTechTrigName(const unsigned int bitNumber, int& errorCode) const;
00183 
00186     const unsigned int gtBitNumber(const std::string& trigName, int& errorCode) const;
00187 
00190     const bool gtTriggerResult(const std::string& trigName,
00191             const std::vector<bool>& decWord, int& errorCode) const;
00192 
00193 
00194 private:
00195 
00197     std::string m_triggerMenuInterface;
00198     std::string m_triggerMenuName;
00199     std::string m_triggerMenuImplementation;
00200 
00202     std::string m_scaleDbKey;
00203 
00205     L1TriggerMap m_algorithmMap;
00206 
00208     L1TriggerMap m_algorithmAliasMap;
00209 
00211     L1TriggerMap m_technicalTriggerMap;
00212 
00214     std::vector<unsigned int> m_triggerMaskAlgoTrig;
00215 
00217     std::vector<unsigned int> m_triggerMaskTechTrig;
00218 
00220     std::vector<std::vector<int> > m_prescaleFactorsAlgoTrig;
00221     std::vector<std::vector<int> > m_prescaleFactorsTechTrig;
00222 
00223 
00224 };
00225 
00226 #endif /*DataFormats_L1GlobalTrigger_L1GtTriggerMenuLite_h*/