5#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLEXTENDCNV_H
6#define ATHENAPOOLCNVSVC_T_ATHENAPOOLEXTENDCNV_H
21template <
class TRANS,
class PERS>
53 virtual std::unique_ptr<const Token>
writeObject(
const std::string& key,
const std::string& output)
override;
68 virtual void setToken(
const std::string& token)
override;
86 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()
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...
void poolReadObject(TopLevelTPCnvBase &tlp_converter)
Read object of type P (plus all extending objects) using the indicated top-level TP converter.
virtual BaseType * baseAthenaPoolCnv()
return the original AthenaPool converter this one was cloned from if not cloned this returns self if ...
virtual void readObjectFromPool(const std::string &token)=0
Read the persistent object from POOL.
virtual void readObject(const std::string &token) override
Read the extending object.
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.
BaseType * m_originalExtendingCnv
virtual void setToken(const std::string &token) override
Set the token (in std::string representation) and classID for the object that will be read next.
virtual TRANS * createTransient() override
T_AthenaPoolExtendingCnv(ISvcLocator *svcloc)
Constructor.
Base class for top-level TP converters.