00001 #ifndef LCIO_INDEXMAP_H
00002 #define LCIO_INDEXMAP_H 1
00003
00004 #include "EVENT/LCCollection.h"
00005 #include "EVENT/LCParameters.h"
00006
00007 #include "LCIOSTLTypes.h"
00008
00009 #include <string>
00010
00011 namespace UTIL{
00012
00021 class IndexMap{
00022
00023 public:
00024
00058 IndexMap(const EVENT::LCCollection* col, const std::string& key1, const std::string& key2);
00059
00061 IndexMap(const IndexMap&) = delete ;
00063 IndexMap& operator=(const IndexMap&) = delete ;
00064
00065
00066 ~IndexMap();
00067
00069 int encode(const std::string name);
00070
00072 const std::string& decode(int type) const;
00073
00074 protected:
00075 const EVENT::LCCollection* _col;
00076 const std::string _key1;
00077 const std::string _key2;
00078 EVENT::StringVec _strvec{};
00079 EVENT::IntVec _intvec{};
00080 };
00081
00082 }
00083
00084 #endif