File indexing completed on 2024-04-06 12:04:28
0001 #ifndef L1GlobalTrigger_L1GlobalTriggerObjectMap_h
0002 #define L1GlobalTrigger_L1GlobalTriggerObjectMap_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <string>
0020 #include <vector>
0021
0022 #include <iosfwd>
0023
0024
0025 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerObjectMapFwd.h"
0026 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
0027
0028 #include "DataFormats/L1GlobalTrigger/interface/L1GtLogicParser.h"
0029
0030
0031
0032
0033 class L1GlobalTriggerObjectMap {
0034 public:
0035
0036 L1GlobalTriggerObjectMap() {}
0037
0038
0039 ~L1GlobalTriggerObjectMap() {}
0040
0041 public:
0042
0043 inline const std::string& algoName() const { return m_algoName; }
0044
0045 void setAlgoName(const std::string& algoNameValue) { m_algoName = algoNameValue; }
0046
0047
0048 inline int algoBitNumber() const { return m_algoBitNumber; }
0049
0050 void setAlgoBitNumber(int algoBitNumberValue) { m_algoBitNumber = algoBitNumberValue; }
0051
0052
0053
0054 inline bool algoGtlResult() const { return m_algoGtlResult; }
0055
0056 void setAlgoGtlResult(bool algoGtlResultValue) { m_algoGtlResult = algoGtlResultValue; }
0057
0058
0059
0060 inline const std::vector<CombinationsInCond>& combinationVector() const { return m_combinationVector; }
0061
0062 void setCombinationVector(const std::vector<CombinationsInCond>& combinationVectorValue) {
0063 m_combinationVector = combinationVectorValue;
0064 }
0065 void swapCombinationVector(std::vector<CombinationsInCond>& combinationVectorValue) {
0066 m_combinationVector.swap(combinationVectorValue);
0067 }
0068
0069
0070
0071 inline const std::vector<L1GtLogicParser::OperandToken>& operandTokenVector() const { return m_operandTokenVector; }
0072
0073 void setOperandTokenVector(const std::vector<L1GtLogicParser::OperandToken>& operandTokenVectorValue) {
0074 m_operandTokenVector = operandTokenVectorValue;
0075 }
0076 void swapOperandTokenVector(std::vector<L1GtLogicParser::OperandToken>& operandTokenVectorValue) {
0077 m_operandTokenVector.swap(operandTokenVectorValue);
0078 }
0079
0080
0081
0082 inline const std::vector<ObjectTypeInCond>& objectTypeVector() const { return m_objectTypeVector; }
0083 void setObjectTypeVector(const std::vector<ObjectTypeInCond>& objectTypeVectorValue) {
0084 m_objectTypeVector = objectTypeVectorValue;
0085 }
0086 void swapObjectTypeVector(std::vector<ObjectTypeInCond>& objectTypeVectorValue) {
0087 m_objectTypeVector.swap(objectTypeVectorValue);
0088 }
0089
0090 public:
0091
0092 const CombinationsInCond* getCombinationsInCond(const std::string& condNameVal) const;
0093
0094
0095 const CombinationsInCond* getCombinationsInCond(const int condNumberVal) const;
0096
0097
0098 const bool getConditionResult(const std::string& condNameVal) const;
0099
0100 public:
0101
0102 void reset();
0103
0104
0105 void print(std::ostream& myCout) const;
0106
0107 private:
0108
0109 std::string m_algoName;
0110
0111
0112 int m_algoBitNumber;
0113
0114
0115 bool m_algoGtlResult;
0116
0117
0118
0119 std::vector<L1GtLogicParser::OperandToken> m_operandTokenVector;
0120
0121
0122 std::vector<CombinationsInCond> m_combinationVector;
0123
0124
0125 std::vector<ObjectTypeInCond> m_objectTypeVector;
0126 };
0127
0128 #endif