00001 #ifndef L1GlobalTrigger_L1GlobalTriggerObjectMap_h 00002 #define L1GlobalTrigger_L1GlobalTriggerObjectMap_h 00003 00020 // system include files 00021 #include <string> 00022 #include <vector> 00023 00024 #include <iosfwd> 00025 00026 // user include files 00027 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h" 00028 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h" 00029 00030 #include "DataFormats/L1GlobalTrigger/interface/L1GtLogicParser.h" 00031 00032 // forward declarations 00033 00034 // class declaration 00035 class L1GlobalTriggerObjectMap 00036 { 00037 00038 public: 00039 00041 L1GlobalTriggerObjectMap(); 00042 00044 virtual ~L1GlobalTriggerObjectMap(); 00045 00046 public: 00047 00049 inline const std::string algoName() const 00050 { 00051 return m_algoName; 00052 } 00053 00054 void setAlgoName(const std::string& algoNameValue) 00055 { 00056 m_algoName = algoNameValue; 00057 } 00058 00060 inline const int algoBitNumber() const 00061 { 00062 return m_algoBitNumber; 00063 } 00064 00065 void setAlgoBitNumber(const int algoBitNumberValue) 00066 { 00067 m_algoBitNumber = algoBitNumberValue; 00068 } 00069 00072 inline const bool algoGtlResult() const 00073 { 00074 return m_algoGtlResult; 00075 } 00076 00077 void setAlgoGtlResult(const bool algoGtlResultValue) 00078 { 00079 m_algoGtlResult = algoGtlResultValue; 00080 } 00081 00084 inline const std::vector<CombinationsInCond>& combinationVector() const 00085 { 00086 return m_combinationVector; 00087 } 00088 00089 void setCombinationVector(const std::vector<CombinationsInCond>& combinationVectorValue) 00090 { 00091 m_combinationVector = combinationVectorValue; 00092 } 00093 00096 inline const std::vector<L1GtLogicParser::OperandToken>& operandTokenVector() const { 00097 return m_operandTokenVector; 00098 } 00099 00100 void setOperandTokenVector(const std::vector<L1GtLogicParser::OperandToken>& operandTokenVectorValue) 00101 { 00102 m_operandTokenVector = operandTokenVectorValue; 00103 } 00104 00105 public: 00106 00108 const CombinationsInCond* getCombinationsInCond(const std::string& condNameVal) const; 00109 00111 const CombinationsInCond* getCombinationsInCond(const int condNumberVal) const; 00112 00114 const bool getConditionResult(const std::string& condNameVal) const; 00115 00116 public: 00117 00119 void reset(); 00120 00122 void print(std::ostream& myCout) const; 00123 00124 private: 00125 00126 // name of the algorithm 00127 std::string m_algoName; 00128 00129 // bit number for algorithm 00130 int m_algoBitNumber; 00131 00132 // GTL result of the algorithm 00133 bool m_algoGtlResult; 00134 00137 std::vector<L1GtLogicParser::OperandToken> m_operandTokenVector; 00138 00139 // vector of combinations for all conditions in an algorithm 00140 std::vector<CombinationsInCond> m_combinationVector; 00141 00142 }; 00143 00144 #endif /* L1GlobalTrigger_L1GlobalTriggerObjectMap_h */