File indexing completed on 2024-04-06 12:02:21
0001 #ifndef CondFormats_L1TObjects_L1TriggerKeyList_h
0002 #define CondFormats_L1TObjects_L1TriggerKeyList_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include "CondFormats/Serialization/interface/Serializable.h"
0024
0025 #include <string>
0026 #include <map>
0027
0028
0029
0030
0031
0032 class L1TriggerKeyList {
0033 public:
0034 L1TriggerKeyList();
0035 virtual ~L1TriggerKeyList();
0036
0037 typedef std::map<std::string, std::string> KeyToToken;
0038 typedef std::map<std::string, KeyToToken> RecordToKeyToToken;
0039
0040
0041
0042
0043 std::string token(const std::string& tscKey) const;
0044
0045
0046 std::string token(const std::string& recordName, const std::string& dataType, const std::string& key) const;
0047
0048
0049 std::string token(const std::string& recordType,
0050 const std::string& key) const;
0051
0052 const KeyToToken& tscKeyToTokenMap() const { return m_tscKeyToToken; }
0053
0054 const RecordToKeyToToken& recordTypeToKeyToTokenMap() const { return m_recordKeyToken; }
0055
0056
0057
0058
0059 std::string objectKey(const std::string& recordName, const std::string& payloadToken) const;
0060
0061
0062 std::string tscKey(const std::string& triggerKeyPayloadToken) const;
0063
0064
0065
0066
0067
0068
0069 bool addKey(const std::string& tscKey, const std::string& payloadToken, bool overwriteKey = false);
0070
0071
0072 bool addKey(const std::string& recordType,
0073 const std::string& key,
0074 const std::string& payloadToken,
0075 bool overwriteKey = false);
0076
0077 private:
0078
0079
0080
0081
0082
0083
0084
0085 KeyToToken m_tscKeyToToken;
0086
0087
0088
0089 RecordToKeyToToken m_recordKeyToken;
0090
0091 COND_SERIALIZABLE;
0092 };
0093
0094 #endif