Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-14 23:16:43

0001 #ifndef DataFormats_L1TGlobal_GlobalObjectMapRecord_h
0002 #define DataFormats_L1TGlobal_GlobalObjectMapRecord_h
0003 
0004 /**
0005  * \class GlobalObjectMapRecord
0006  * 
0007  * 
0008  * Description: map trigger objects to algorithms and conditions.  
0009  *
0010  * Implementation:
0011  *    <TODO: enter implementation details>
0012  *   
0013  * \author: Vasile Mihai Ghete - HEPHY Vienna
0014  * 
0015  *
0016  */
0017 
0018 // system include files
0019 #include <string>
0020 #include <vector>
0021 
0022 // user include files
0023 #include "DataFormats/L1TGlobal/interface/GlobalObjectMapFwd.h"
0024 #include "DataFormats/L1TGlobal/interface/GlobalObjectMap.h"
0025 
0026 // forward declarations
0027 
0028 // class declaration
0029 class GlobalObjectMapRecord {
0030 public:
0031   /// constructor(s)
0032   GlobalObjectMapRecord() {}
0033 
0034   /// destructor
0035   ~GlobalObjectMapRecord() {}
0036 
0037   void swap(GlobalObjectMapRecord& rh) { m_gtObjectMap.swap(rh.m_gtObjectMap); }
0038 
0039 public:
0040   /// return the object map for the algorithm algoNameVal
0041   const GlobalObjectMap* getObjectMap(const std::string& algoNameVal) const;
0042 
0043   /// return the object map for the algorithm with bit number const int algoBitNumberVal
0044   const GlobalObjectMap* getObjectMap(const int algoBitNumberVal) const;
0045 
0046   /// return all the combinations passing the requirements imposed in condition condNameVal
0047   /// from algorithm with name algoNameVal
0048   const CombinationsWithBxInCond* getCombinationsInCond(const std::string& algoNameVal,
0049                                                         const std::string& condNameVal) const;
0050 
0051   /// return all the combinations passing the requirements imposed in condition condNameVal
0052   /// from algorithm with bit number algoBitNumberVal
0053   const CombinationsWithBxInCond* getCombinationsInCond(const int algoBitNumberVal,
0054                                                         const std::string& condNameVal) const;
0055 
0056   /// return the result for the condition condNameVal
0057   /// from algorithm with name algoNameVal
0058   bool getConditionResult(const std::string& algoNameVal, const std::string& condNameVal) const;
0059 
0060   /// return the result for the condition condNameVal
0061   /// from algorithm with bit number algoBitNumberVal
0062   bool getConditionResult(const int algoBitNumberVal, const std::string& condNameVal) const;
0063 
0064 public:
0065   /// get / set the vector of object maps
0066   inline const std::vector<GlobalObjectMap>& gtObjectMap() const { return m_gtObjectMap; }
0067 
0068   inline void setGtObjectMap(const std::vector<GlobalObjectMap>& gtObjectMapValue) { m_gtObjectMap = gtObjectMapValue; }
0069 
0070   inline void swapGtObjectMap(std::vector<GlobalObjectMap>& gtObjectMapValue) { m_gtObjectMap.swap(gtObjectMapValue); }
0071 
0072 private:
0073   std::vector<GlobalObjectMap> m_gtObjectMap;
0074 };
0075 
0076 inline void swap(GlobalObjectMapRecord& lh, GlobalObjectMapRecord& rh) { lh.swap(rh); }
0077 
0078 #endif