CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/DataFormats/Luminosity/interface/LumiSummaryRunHeader.h

Go to the documentation of this file.
00001 #ifndef DataFormats_Luminosity_LumiSummaryRunHeader_h
00002 #define DataFormats_Luminosity_LumiSummaryRunHeader_h
00003  
00019 #include <vector>
00020 #include <string>
00021 
00022 class LumiSummaryRunHeader
00023 {
00024 public:
00025   typedef std::vector<std::string> vstring_t;
00026 
00027   //----------------------------------------------------------------
00028 
00030   LumiSummaryRunHeader() {}
00031 
00034   LumiSummaryRunHeader(vstring_t& l1names, vstring_t& hltnames);
00035 
00037   ~LumiSummaryRunHeader() {}
00038 
00040   bool isProductEqual(LumiSummaryRunHeader const& o) const;
00041 
00042   //----------------------------------------------------------------
00043 
00045   void setL1Names(const vstring_t& l1names);
00046 
00048   void setHLTNames(const vstring_t& hltnames);
00049 
00051   void swapL1Names(vstring_t& l1names);
00052 
00054   void swapHLTNames(vstring_t& hltnames);
00055 
00056   //----------------------------------------------------------------
00057 
00059   std::string getL1Name(unsigned int idx) const { return m_l1Names.at(idx); }
00060 
00062   std::string getHLTName(unsigned int idx) const { return m_hltNames.at(idx); }
00063 
00065   const vstring_t& getL1Names(vstring_t& l1names) const { return m_l1Names; }
00066 
00068   const vstring_t& getHLTNames(vstring_t& hltnames) const { return m_hltNames; }
00069 
00071   unsigned int getL1Index(const std::string& name) const;
00072 
00074   unsigned int getHLTIndex(const std::string& name) const;
00075 
00076   //----------------------------------------------------------------
00077 
00078 private:
00079   vstring_t m_l1Names;  // L1 trigger-name vector.
00080   vstring_t m_hltNames; // HLT path-name vector.
00081 };
00082 
00083 #endif