5#ifndef DATAMODELATHENAPOOL_ELEMENTLINKCNV_P2_H
6#define DATAMODELATHENAPOOL_ELEMENTLINKCNV_P2_H
53template <
class LINK_TYPE>
62 typedef std::map<std::string, unsigned int>
IndexMap;
101 MsgStream& log)
const;
106 MsgStream& log)
const;
111 MsgStream& log)
const;
127 unsigned int getNameIndex (State& state,
const std::string& name)
const;
130 unsigned int nameIndex,
131 std::string
const *& name,
132 MsgStream& log)
const;
This file contains the class definition for the ElementLink_p2 class.
TPConverterBase< TRANS, PERS > T_AthenaPoolTPCnvBase
void resetForCnv(ElementLinkContNames_p2 &lookupTable)
virtual void transToPers(const Link_t *trans, PersLink_t *pers, MsgStream &log)
virtual void persToTrans(const PersLink_t *pers, Link_t *trans, MsgStream &log)
ElementLink< CaloShowerContainer > Link_t
void transToPers(const Link_t &trans, PersLink_t &pers, MsgStream &log)
void transToPers(State &state, const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
ElementLinkCnv_p2(bool isPersistible)
If client sets state of EL to persistible (i.e.
void getContName(State &state, unsigned int nameIndex, std::string const *&name, MsgStream &log) const
Get the container name from lookup table.
void resetForCnv(const ElementLinkContNames_p2 &lookupTable)
void persToTrans(const PersLink_t &pers, Link_t &trans, MsgStream &log)
unsigned int getNameIndex(State &state, const std::string &name) const
Add name to lookup table and return index.
GeneratePersELinkType_p2< Link_t >::type PersLink_t
void transToPers(State &state, const Link_t &trans, PersLink_t &pers, MsgStream &log) const
void persToTrans(State &state, const PersLink_t &pers, Link_t &trans, MsgStream &log) const
Cache thinning decisions for converters.
const std::string * defaultLastName() const
State(const ElementLinkContNames_p2 &lookupTable)
const ElementLinkContNames_p2 * m_clookupTable
ElementLinkContNames_p2 * m_lookupTable
Lookup table with list of container names and starting element link index for each container name cha...
std::string m_lastNameAdded
Last container name added - for persToTrans must be string by value.
void reset(ElementLinkContNames_p2 &lookupTable)
void reset(const ElementLinkContNames_p2 &lookupTable)
IndexMap m_nameIndexMap
Map to find index of container name in lookup table.
const std::string * m_lastNameFound
Last container name found - for transToPers use string ptr to avoid string copy.
unsigned int m_lastNameIndex
Last name inded.
std::map< std::string, unsigned int > IndexMap
State(ElementLinkContNames_p2 &lookupTable)
ElementLink_p2< typename GenerateELinkIndexType_p2< typename LINK::index_type >::type > type