5#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLEXTENDCNV_H
6#define ATHENAPOOLCNVSVC_T_ATHENAPOOLEXTENDCNV_H
21template <
class TRANS,
class PERS>
50 virtual std::unique_ptr<const Token>
writeObject(
const std::string& key,
const std::string& output)
override;
80 virtual const std::string
name()
const override;
RpcSectorLogicContainer_p1 PERS
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
This class is used to add functionality to a standard AthenaConverter.
AthenaPoolCnvTPExtension()
Abstract factory to create the converter.
Compatibility for old converter classes that don't get passed the key.
P * poolReadObject(const Token *token)
Read object of type P.
virtual const std::string name() const override
Get the name of this converter (anything that identifies it).
virtual bool needsCloning() const override
tells if this converter needs to be cloned (true after the converter has been registered once already...
virtual BaseType * baseAthenaPoolCnv()
return the original AthenaPool converter this one was cloned from if not cloned this returns self if ...
virtual void readObjectFromPool(const Token *token) override=0
Read the persistent object from POOL.
virtual void wasClonedFrom(AthenaConverterTLPExtension *orig_converter) override
remember the original converter this one was cloned from
virtual PERS * createPersistent(TRANS *) override
no-op
T_AthenaPoolCustomCnv< TRANS, PERS > BaseType
virtual TopLevelTPCnvBase * getTopLevelTPCnv() override=0
Return the top level TP converter (which is always used for writing)
virtual std::unique_ptr< const Token > writeObject(const std::string &key, const std::string &output) override
Write the persistent object to POOL.
void poolReadObject(TopLevelTPCnvBase &tlp_converter, const Token *token)
BaseType * m_originalExtendingCnv
virtual TRANS * createTransient(const Token *) override
T_AthenaPoolExtendingCnv(ISvcLocator *svcloc)
Constructor.
This class provides a token that identifies in a unique way objects on the persistent storage.
Base class for top-level TP converters.