Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:53:48

0001 #ifndef L1GlobalTrigger_L1GlobalTriggerObjectMapRecord_h
0002 #define L1GlobalTrigger_L1GlobalTriggerObjectMapRecord_h
0003 
0004 /**
0005  * \class L1GlobalTriggerObjectMapRecord
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/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h"
0024 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMap.h"
0025 
0026 // forward declarations
0027 
0028 // class declaration
0029 class L1GlobalTriggerObjectMapRecord {
0030 public:
0031   /// constructor(s)
0032   L1GlobalTriggerObjectMapRecord() {}
0033 
0034   /// destructor
0035   ~L1GlobalTriggerObjectMapRecord() {}
0036 
0037   void swap(L1GlobalTriggerObjectMapRecord& rh) { m_gtObjectMap.swap(rh.m_gtObjectMap); }
0038 
0039 public:
0040   /// return the object map for the algorithm algoNameVal
0041   const L1GlobalTriggerObjectMap* getObjectMap(const std::string& algoNameVal) const;
0042 
0043   /// return the object map for the algorithm with bit number const int algoBitNumberVal
0044   const L1GlobalTriggerObjectMap* 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 CombinationsInCond* getCombinationsInCond(const std::string& algoNameVal, const std::string& condNameVal) const;
0049 
0050   /// return all the combinations passing the requirements imposed in condition condNameVal
0051   /// from algorithm with bit number algoBitNumberVal
0052   const CombinationsInCond* getCombinationsInCond(const int algoBitNumberVal, const std::string& condNameVal) const;
0053 
0054   /// return the result for the condition condNameVal
0055   /// from algorithm with name algoNameVal
0056   bool getConditionResult(const std::string& algoNameVal, const std::string& condNameVal) const;
0057 
0058   /// return the result for the condition condNameVal
0059   /// from algorithm with bit number algoBitNumberVal
0060   bool getConditionResult(const int algoBitNumberVal, const std::string& condNameVal) const;
0061 
0062 public:
0063   /// get / set the vector of object maps
0064   inline const std::vector<L1GlobalTriggerObjectMap>& gtObjectMap() const { return m_gtObjectMap; }
0065 
0066   inline void setGtObjectMap(const std::vector<L1GlobalTriggerObjectMap>& gtObjectMapValue) {
0067     m_gtObjectMap = gtObjectMapValue;
0068   }
0069 
0070   inline void swapGtObjectMap(std::vector<L1GlobalTriggerObjectMap>& gtObjectMapValue) {
0071     m_gtObjectMap.swap(gtObjectMapValue);
0072   }
0073 
0074 private:
0075   std::vector<L1GlobalTriggerObjectMap> m_gtObjectMap;
0076 };
0077 
0078 inline void swap(L1GlobalTriggerObjectMapRecord& lh, L1GlobalTriggerObjectMapRecord& rh) { lh.swap(rh); }
0079 
0080 #endif /* L1GlobalTrigger_L1GlobalTriggerObjectMapRecord_h */