File indexing completed on 2024-04-06 12:09:49
0001 #ifndef DQMOFFLINE_TRIGGER_EGHLTCOMCODES
0002 #define DQMOFFLINE_TRIGGER_EGHLTCOMCODES
0003
0004 #include <cstring>
0005 #include <string>
0006 #include <vector>
0007 #include <iostream>
0008 #include <algorithm>
0009
0010 namespace egHLT {
0011
0012 class ComCodes {
0013 private:
0014 std::vector<std::pair<std::string, int> > _codeDefs;
0015
0016 public:
0017 ComCodes() = default;
0018 ComCodes(const ComCodes& rhs) = default;
0019 ~ComCodes() = default;
0020
0021
0022 int getCode(const char* descript) const;
0023 void getCodeName(int code, std::string& id) const;
0024
0025
0026 void setCode(const char* descript, int code);
0027
0028
0029 static bool keyComp(const std::pair<std::string, int>& lhs, const std::pair<std::string, int>& rhs);
0030 void sort() { std::sort(_codeDefs.begin(), _codeDefs.end(), keyComp); }
0031 };
0032 }
0033 #endif