ATLAS Offline Software
Loading...
Searching...
No Matches
ITPConverterFor< TRANS > Class Template Referenceabstract

Common base class for all TP converters, specialized for a given transient type. More...

#include <TPConverter.h>

Inheritance diagram for ITPConverterFor< TRANS >:
Collaboration diagram for ITPConverterFor< TRANS >:

Public Types

typedef TRANS TransBase_t
typedef TransBase_t Trans_t
typedef ITPConverterFor< TRANS > PolyCnvBase_t
typedef Gaudi::PluginService::Factory< ITPCnvBase *()> Factory

Public Member Functions

 ITPConverterFor ()
virtual ~ITPConverterFor ()=default
template<class CNV>
CNV * converterForType (CNV *cnv, const std::type_info &t_info, MsgStream &log) const
 Find converter for a given C++ type ID, that is or ihnerits from CNV type.
template<class CNV>
CNV * converterForRef (CNV *cnv, const TPObjRef &ref, MsgStream &log) const
 Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type.
template<class CNV>
TPObjRef baseToPersistent (CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
 Persistify bass class of a given object and store the persistent represenation in the storage vector of the top-level persistent object.
template<class CNV>
TPObjRef toPersistent (CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
 Persistify an object and store the persistent represenation in the storage vector of the top-level persistent object.
template<class CNV, class TRANS_T>
void fillTransFromPStore (CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
 Convert persistent object, stored in the the top-level persistent object and referenced by the TP Ref, to transient representation.
template<class CNV>
CNV::Trans_t * createTransFromPStore (CNV **cnv, const TPObjRef &ref, MsgStream &log) const
 Create transient representation of a persistent object, stored in the the top-level persistent object and referenced by the TP Ref.
virtual void initPrivateConverters (TopLevelTPCnvBase *)
virtual TopLevelTPCnvBasetopConverter ()
 return the top-level converter for this elemental TP converter
virtual const TopLevelTPCnvBasetopConverter () const
 return the top-level converter for this elemental TP converter
virtual const std::type_info & transientTInfo () const
 return C++ type id of the transient class this converter is for
const std::type_info & transBaseTInfo () const
 return C++ type id of the common base transient type for all converters for a group of polymorphic types
virtual const TPObjRef::typeID_ttypeID () const
 Return TP typeID for persistent objects produced by this converter.
unsigned typeIDvalue () const
 inlined non-virtual version to get the typeID value fast
virtual void setRuntimeTopConverter (TopLevelTPCnvBase *topConverter)
 Set runtime top-level converter - usually it is the owning TL converter, but in case of extended objects it will be the TL converter of the extended object.
virtual void setTopConverter (TopLevelTPCnvBase *topConverter, const TPObjRef::typeID_t &TPtypeID)
 Set which top-level converter owns this elemental converter, and what TPtypeID was assigned to the persistent objects it produces.
void setReadingFlag ()
void clearReadingFlag ()
bool wasUsedForReading ()
virtual TPObjRef virt_toPersistent (const TransBase_t *trans, MsgStream &log)=0
 Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.
virtual TPObjRef virt_toPersistentWithKey (const TransBase_t *trans, const std::string &key, MsgStream &log)=0
 Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.
virtual TRANS * virt_createTransFromPStore (unsigned index, MsgStream &log)=0
 Internal interface method that is used to invoke the real conversion method (createTransient) in the derived converter.
virtual TRANS * virt_createTransFromPStoreWithKey (unsigned index, const std::string &key, MsgStream &log)=0
 Internal interface method that is used to invoke the real conversion method (createTransient) in the derived converter.
virtual void pstoreToTrans (unsigned index, TransBase_t *transObj, MsgStream &log)=0
 Internal interface method that is used to invoke the real conversion method (persToTrans) in the derived converter.
virtual void reservePStorage (size_t size)=0
 Reserve 'size' elements for persistent storage.
virtual void converterNotFound (const std::type_info &converterType, ITPConverter *c, const std::string &typeName, MsgStream &log) const
 method called when the right TP converter was not found during writing
virtual void converterNotFound (unsigned typeID, ITPConverter *c, const std::string &typeName, MsgStream &log) const
 method called when the right TP converter was not found during reading
virtual void persToTransUntyped (const void *pers, void *trans, MsgStream &msg)=0
 Convert persistent object representation to transient.
virtual void persToTransWithKeyUntyped (const void *pers, void *trans, const std::string &, MsgStream &msg)
 Convert persistent object representation to transient.
virtual void transToPersUntyped (const void *trans, void *pers, MsgStream &msg)=0
 Convert transient object representation to persistent.
virtual void transToPersWithKeyUntyped (const void *trans, void *pers, const std::string &, MsgStream &msg)
 Convert transient object representation to persistent.
virtual const std::type_info & persistentTInfo () const =0
 return C++ type id of the persistent class this converter is for

Protected Attributes

TPObjRef::typeID_t m_pStorageTID
 TP Ref typeID for the persistent objects this converter is creating.
unsigned m_pStorageTIDvalue
 m_pStorageTID converted to integer value
TopLevelTPCnvBasem_topConverter
 top level converter that owns this elemental TP converter it also holds the storage object
TopLevelTPCnvBasem_topConverterRuntime
 top level converter "owning" this TP converter at runtime (different from m_topConverter in case the top-level converter and object have extensions)
bool m_wasUsedForReading
 flag set when using this converter for reading triggers search for a new converter before writing, to prevent possible use of old version

Detailed Description

template<class TRANS>
class ITPConverterFor< TRANS >

Common base class for all TP converters, specialized for a given transient type.

Defines methods that refer only to the transient type

In the case of polymorphic types with a common base type TRANS, all converters for them need to inherit from ITPConverterFor<TRANS>

Definition at line 36 of file TPConverter.h.

Member Typedef Documentation

◆ Factory

typedef Gaudi::PluginService::Factory<ITPCnvBase*()> ITPCnvBase::Factory
inherited

Definition at line 26 of file ITPCnvBase.h.

◆ PolyCnvBase_t

template<class TRANS>
typedef ITPConverterFor< TRANS > ITPConverterFor< TRANS >::PolyCnvBase_t

Definition at line 41 of file TPConverter.h.

◆ Trans_t

template<class TRANS>
typedef TransBase_t ITPConverterFor< TRANS >::Trans_t

Definition at line 40 of file TPConverter.h.

◆ TransBase_t

template<class TRANS>
typedef TRANS ITPConverterFor< TRANS >::TransBase_t

Definition at line 39 of file TPConverter.h.

Constructor & Destructor Documentation

◆ ITPConverterFor()

template<class TRANS>
ITPConverterFor< TRANS >::ITPConverterFor ( )
inline

Definition at line 43 of file TPConverter.h.

43 :
45 m_wasUsedForReading( false )
46 {}
TopLevelTPCnvBase * m_topConverterRuntime
top level converter "owning" this TP converter at runtime (different from m_topConverter in case the ...
unsigned m_pStorageTIDvalue
m_pStorageTID converted to integer value
bool m_wasUsedForReading
flag set when using this converter for reading triggers search for a new converter before writing,...
TopLevelTPCnvBase * m_topConverter
top level converter that owns this elemental TP converter it also holds the storage object

◆ ~ITPConverterFor()

template<class TRANS>
virtual ITPConverterFor< TRANS >::~ITPConverterFor ( )
virtualdefault

Member Function Documentation

◆ baseToPersistent()

template<class TRANS>
template<class CNV>
TPObjRef ITPConverterFor< TRANS >::baseToPersistent ( CNV ** cnv,
const typename CNV::Trans_t * transObj,
MsgStream & log ) const
inline

Persistify bass class of a given object and store the persistent represenation in the storage vector of the top-level persistent object.

The converter is located using the transient type from the CNV parameter, not from the object itself (because we need the base type, not the actual type)

Parameters
cnv[IN/OUT] type of this parameter decides which converter will be used. Once the converter is found, this pointer will be set so the search is done only once
transObj[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Definition at line 97 of file TPConverter.h.

97 {
98 if( !*cnv || (*cnv)->wasUsedForReading() ) {
99 // don't trust the converter if it was used for reading, find again
100 *cnv = converterForType( *cnv, typeid(typename CNV::Trans_t), log );
101 if( !*cnv ) return TPObjRef();
102 (*cnv)->clearReadingFlag();
103 }
104// return (**cnv).toPersistent_impl(transObj, log);
105 return (**cnv).virt_toPersistent(transObj, log);
106 }
Common base class for all TP converters, specialized for a given transient type.
Definition TPConverter.h:37
CNV * converterForType(CNV *cnv, const std::type_info &t_info, MsgStream &log) const
Find converter for a given C++ type ID, that is or ihnerits from CNV type.
Definition TPConverter.h:58
bool wasUsedForReading()

◆ clearReadingFlag()

template<class TRANS>
void ITPConverterFor< TRANS >::clearReadingFlag ( )
inline

Definition at line 235 of file TPConverter.h.

235{ m_wasUsedForReading = false; }

◆ converterForRef()

template<class TRANS>
template<class CNV>
CNV * ITPConverterFor< TRANS >::converterForRef ( CNV * cnv,
const TPObjRef & ref,
MsgStream & log ) const
inline

Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type.

Parameters
cnv[IN] parameter specifying the converter type
ref[IN] TP Ref to an object for which a converter is sought
log[IN] output message stream
Returns
CNV* pointer to the converter, if found

Definition at line 74 of file TPConverter.h.

74 {
75 ITPConverter *c = m_topConverterRuntime->converterForRef( ref );
76 cnv = dynamic_cast<CNV*>(c);
77 if( !cnv )
78 this->converterNotFound( ref.typeID(), c, typeid(CNV).name(), log );
79 return cnv;
80 }
virtual const TPObjRef::typeID_t & typeID() const
Return TP typeID for persistent objects produced by this converter.
virtual void converterNotFound(const std::type_info &converterType, ITPConverter *c, const std::string &typeName, MsgStream &log) const
method called when the right TP converter was not found during writing

◆ converterForType()

template<class TRANS>
template<class CNV>
CNV * ITPConverterFor< TRANS >::converterForType ( CNV * cnv,
const std::type_info & t_info,
MsgStream & log ) const
inline

Find converter for a given C++ type ID, that is or ihnerits from CNV type.

Parameters
cnv[IN] parameter specifying the converter type
t_info[IN] C++ type id for which a converter is sought
log[IN] output message stream
Returns
CNV* pointer to the converter, if found

Definition at line 58 of file TPConverter.h.

58 {
59 ITPConverter *c = m_topConverterRuntime->converterForType( t_info );
60 cnv = dynamic_cast< CNV* >( c );
61 if( !cnv )
62 this->converterNotFound( typeid(CNV), c, t_info.name(), log );
63 return cnv;
64 }

◆ converterNotFound() [1/2]

void ITPConverter::converterNotFound ( const std::type_info & converterType,
ITPConverter * c,
const std::string & typeName,
MsgStream & log ) const
virtualinherited

method called when the right TP converter was not found during writing

  • useful as a debugging hook, prints a detailed error message
Parameters
converterType[IN] converterType that was requested
c[IN] converter that was actually found (0 if not)
typeName[IN] the C++ type name of the type for which converter was searched for
log[IN] output message stream

Definition at line 22 of file ITPConverter.cxx.

26{
27 log << MSG::ERROR << ">>>>>> in parent TP converter " << typeid(*this).name()
28 << ": could not find matching TP converter for type " << typeName << endmsg;
29 if( c ) {
30 log << MSG::ERROR << " - found incompatible converter of type "
31 << typeid(*c).name() << endmsg;
32 }
33 log << MSG::ERROR << " Converter handle type was " << converterType.name() << endmsg;
35}
#define endmsg
static void errorHandler()

◆ converterNotFound() [2/2]

void ITPConverter::converterNotFound ( unsigned typeID,
ITPConverter * c,
const std::string & typeName,
MsgStream & log ) const
virtualinherited

method called when the right TP converter was not found during reading

  • useful as a debugging hook, prints a detailed error message
Parameters
typeID[IN] converter ID that was requested
c[IN] converter that was actually found (0 if not)
typeName[IN] the C++ type name of the type for which converter was searched for
log[IN] output message stream

Definition at line 40 of file ITPConverter.cxx.

44{
45 log << MSG::ERROR << ">>>>>> in parent TP converter " << typeid(*this).name()
46 << " requested TP converter for TP type ID " << typeID << " not found " << endmsg;
47 if( c ) {
48 log << MSG::ERROR << " - found converter " << typeid(*c).name()
49 << " for " << c->transientTInfo().name()
50 << " with an incompatible base type " << c->transBaseTInfo().name()
51 << endmsg;
52 }
53 log << MSG::ERROR << " Converter handle type was " << reqCnvTypeName << endmsg;
55}
virtual const TPObjRef::typeID_t & typeID() const =0
Return TP typeID for persistent objects produced by this converter.

◆ createTransFromPStore()

template<class TRANS>
template<class CNV>
CNV::Trans_t * ITPConverterFor< TRANS >::createTransFromPStore ( CNV ** cnv,
const TPObjRef & ref,
MsgStream & log ) const
inline

Create transient representation of a persistent object, stored in the the top-level persistent object and referenced by the TP Ref.

If a TP converter is not specified, it will be found based on the Ref type.

Parameters
cnv[IN][OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
ref[IN] TP Ref to the persistent object to be converted
log[IN] output message stream
Returns
pointer to the created transient represention

Definition at line 172 of file TPConverter.h.

172 {
173 if( ref.isNull() ) return 0;
174 CNV *temp_cnv_p = 0;
175 if( !cnv ) cnv = &temp_cnv_p;
176 // see if we already have a converter and if it is the right one
177 if( !*cnv || (*cnv)->typeID().value() != ref.typeID() ) {
178 // we don't - find the right converter for ref.typeID()
179 *cnv = converterForRef( *cnv, ref, log );
180 if( !*cnv ) return 0;
181 (*cnv)->setReadingFlag();
182 }
183 return (**cnv).virt_createTransFromPStore( ref.index(), log );
184 }
CNV * converterForRef(CNV *cnv, const TPObjRef &ref, MsgStream &log) const
Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type.
Definition TPConverter.h:74
virtual TRANS * virt_createTransFromPStore(unsigned index, MsgStream &log)=0
Internal interface method that is used to invoke the real conversion method (createTransient) in the ...
unsigned value() const
Returns the type ID as an integer.
Definition TPObjRef.h:46

◆ fillTransFromPStore()

template<class TRANS>
template<class CNV, class TRANS_T>
void ITPConverterFor< TRANS >::fillTransFromPStore ( CNV ** cnv,
const TPObjRef & ref,
TRANS_T * trans,
MsgStream & log ) const
inline

Convert persistent object, stored in the the top-level persistent object and referenced by the TP Ref, to transient representation.

An empty transient object to be filled in is provided. If converter is not given, it will be found based on the Ref type.

Parameters
cnv[IN][OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
ref[IN] TP Ref to the persistent object to be converted
trans[IN] pointer to the empty transient object
log[IN] output message stream

Definition at line 145 of file TPConverter.h.

145 {
146 if( ref.isNull() ) return;
147 CNV *temp_cnv_p = 0;
148 if( !cnv ) cnv = &temp_cnv_p;
149 // see if we already have a converter and if it is the right one
150 if( !*cnv || (*cnv)->typeID().value() != ref.typeID() ) {
151 // we don't - find the right converter for ref.typeID()
152 *cnv = converterForRef( *cnv, ref, log );
153 if( !*cnv ) return;
154 (*cnv)->setReadingFlag();
155 }
156 (**cnv).pstoreToTrans( ref.index(), trans, log );
157 }
virtual void pstoreToTrans(unsigned index, TransBase_t *transObj, MsgStream &log)=0
Internal interface method that is used to invoke the real conversion method (persToTrans) in the deri...

◆ initPrivateConverters()

◆ persistentTInfo()

virtual const std::type_info & ITPCnvBase::persistentTInfo ( ) const
pure virtualinherited

return C++ type id of the persistent class this converter is for

Returns
std::type_info&

Implemented in DummyDetElementSurfaceCnv_p1, TopLevelTPConverter< MAIN_CNV, TL_PERS >, TopLevelTPConverter< SegmentCollectionCnv_p1, Trk::SegmentCollection_tlp4 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp6 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp7 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

◆ persToTransUntyped()

virtual void ITPCnvBase::persToTransUntyped ( const void * pers,
void * trans,
MsgStream & msg )
pure virtualinherited

Convert persistent object representation to transient.

Parameters
pers[IN] void* pointer to the persistent object
trans[OUT] void* pointer to the empty transient object
log[IN] output message stream

Implemented in DummyDetElementSurfaceCnv_p1, TopLevelTPConverter< MAIN_CNV, TL_PERS >, TopLevelTPConverter< SegmentCollectionCnv_p1, Trk::SegmentCollection_tlp4 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp6 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp7 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

◆ persToTransWithKeyUntyped()

virtual void ITPCnvBase::persToTransWithKeyUntyped ( const void * pers,
void * trans,
const std::string & ,
MsgStream & msg )
inlinevirtualinherited

Convert persistent object representation to transient.

Parameters
pers[IN] void* pointer to the persistent object
trans[OUT] void* pointer to the empty transient object
key[IN] SG key of object being read.
log[IN] output message stream

Reimplemented in TopLevelTPConverter< MAIN_CNV, TL_PERS >, TopLevelTPConverter< SegmentCollectionCnv_p1, Trk::SegmentCollection_tlp4 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp6 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp7 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

Definition at line 53 of file ITPCnvBase.h.

57 {
58 return persToTransUntyped (pers, trans, msg);
59 }
virtual void persToTransUntyped(const void *pers, void *trans, MsgStream &msg)=0
Convert persistent object representation to transient.
MsgStream & msg
Definition testRead.cxx:32

◆ pstoreToTrans()

template<class TRANS>
virtual void ITPConverterFor< TRANS >::pstoreToTrans ( unsigned index,
TransBase_t * transObj,
MsgStream & log )
pure virtual

Internal interface method that is used to invoke the real conversion method (persToTrans) in the derived converter.

Parameters
index[IN] index of the persistent object in the storage vector
transObj[IN] transient object to be filled out
log[IN] output message stream

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, TPCnvBase< TRANS, TPIntegerVector_p1 >, TPCnvBase< TRANS, TPIntegerVector_p2 >, TPConverterBase< TRANS, PERS >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPConverterBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPConverterBase< std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPConverterBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPConverterBase< std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPConverterBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPConverterBase< std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPConverterBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPConverterBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPConverterBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPConverterBase< std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, and TPConverterBase< TileHitVector, TileHitVector_p1 >.

◆ reservePStorage()

virtual void ITPConverter::reservePStorage ( size_t size)
pure virtualinherited

Reserve 'size' elements for persistent storage.

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

◆ setReadingFlag()

template<class TRANS>
void ITPConverterFor< TRANS >::setReadingFlag ( )
inline

Definition at line 234 of file TPConverter.h.

234{ m_wasUsedForReading = true; }

◆ setRuntimeTopConverter()

template<class TRANS>
virtual void ITPConverterFor< TRANS >::setRuntimeTopConverter ( TopLevelTPCnvBase * topConverter)
inlinevirtual

Set runtime top-level converter - usually it is the owning TL converter, but in case of extended objects it will be the TL converter of the extended object.

Parameters
topConverter[IN] runtime top-level converter for this converter

Implements ITPConverter.

Definition at line 215 of file TPConverter.h.

215 {
218 }
virtual void initPrivateConverters(TopLevelTPCnvBase *)
virtual TopLevelTPCnvBase * topConverter()
return the top-level converter for this elemental TP converter

◆ setTopConverter()

template<class TRANS>
virtual void ITPConverterFor< TRANS >::setTopConverter ( TopLevelTPCnvBase * topConverter,
const TPObjRef::typeID_t & TPtypeID )
inlinevirtual

Set which top-level converter owns this elemental converter, and what TPtypeID was assigned to the persistent objects it produces.

Parameters
topConverter[IN] the top-level converter owning this converter
TPtypeID[IN] TP type id for persistent objects (used in TP refs)

Implements ITPConverter.

Definition at line 221 of file TPConverter.h.

223 {
228 }
TPObjRef::typeID_t m_pStorageTID
TP Ref typeID for the persistent objects this converter is creating.

◆ topConverter() [1/2]

template<class TRANS>
virtual TopLevelTPCnvBase * ITPConverterFor< TRANS >::topConverter ( )
inlinevirtual

return the top-level converter for this elemental TP converter

Returns
TopLevelTPCnvBas

Reimplemented from ITPConverter.

Definition at line 191 of file TPConverter.h.

191 {
192 return m_topConverter;
193 }

◆ topConverter() [2/2]

template<class TRANS>
virtual const TopLevelTPCnvBase * ITPConverterFor< TRANS >::topConverter ( ) const
inlinevirtual

return the top-level converter for this elemental TP converter

Returns
TopLevelTPCnvBas

Reimplemented from ITPConverter.

Definition at line 196 of file TPConverter.h.

196 {
197 return m_topConverter;
198 }

◆ toPersistent()

template<class TRANS>
template<class CNV>
TPObjRef ITPConverterFor< TRANS >::toPersistent ( CNV ** cnv,
const typename CNV::TransBase_t * transObj,
MsgStream & log ) const
inline

Persistify an object and store the persistent represenation in the storage vector of the top-level persistent object.

The correct converter is located using the actual object type.

Parameters
cnv[IN/OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
transObj[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Definition at line 119 of file TPConverter.h.

119 {
120 if( !transObj ) return TPObjRef();
121 CNV *temp_cnv_p = 0;
122 if( !cnv ) cnv = &temp_cnv_p;
123 if( !*cnv || (*cnv)->wasUsedForReading() ) {
124 // don't trust the converter if it was used for reading, find again
125 *cnv = converterForType( *cnv, typeid(*transObj), log );
126 if( !*cnv ) return TPObjRef();
127 (*cnv)->clearReadingFlag();
128 }
129 return (**cnv).virt_toPersistent(transObj, log);
130 }
virtual TPObjRef virt_toPersistent(const TransBase_t *trans, MsgStream &log)=0
Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in th...

◆ transBaseTInfo()

template<class TRANS>
const std::type_info & ITPConverterFor< TRANS >::transBaseTInfo ( ) const
inlinevirtual

return C++ type id of the common base transient type for all converters for a group of polymorphic types

Returns
std::type_info& this method is not overwritten in the subclasses like transientTInfo()

Implements ITPConverter.

Definition at line 205 of file TPConverter.h.

205{ return typeid(TRANS); }

◆ transientTInfo()

template<class TRANS>
virtual const std::type_info & ITPConverterFor< TRANS >::transientTInfo ( ) const
inlinevirtual

return C++ type id of the transient class this converter is for

Returns
std::type_info&

Implements ITPCnvBase.

Reimplemented in BoundSaggedLineSurfaceCnv_p2, SaggedLineSurfaceCnv_p2, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

Definition at line 201 of file TPConverter.h.

201{ return typeid(TRANS); }

◆ transToPersUntyped()

virtual void ITPCnvBase::transToPersUntyped ( const void * trans,
void * pers,
MsgStream & msg )
pure virtualinherited

Convert transient object representation to persistent.

Parameters
trans[IN] void* pointer to the transient object
pers[OUT] void* pointer to the empty persistent object
log[IN] output message stream

Implemented in DummyDetElementSurfaceCnv_p1, TopLevelTPConverter< MAIN_CNV, TL_PERS >, TopLevelTPConverter< SegmentCollectionCnv_p1, Trk::SegmentCollection_tlp4 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp6 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp7 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

◆ transToPersWithKeyUntyped()

virtual void ITPCnvBase::transToPersWithKeyUntyped ( const void * trans,
void * pers,
const std::string & ,
MsgStream & msg )
inlinevirtualinherited

Convert transient object representation to persistent.

Parameters
trans[IN] void* pointer to the transient object
pers[OUT] void* pointer to the empty persistent object
key[IN] SG key of object being written.
log[IN] output message stream

Reimplemented in TopLevelTPConverter< MAIN_CNV, TL_PERS >, TopLevelTPConverter< SegmentCollectionCnv_p1, Trk::SegmentCollection_tlp4 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp6 >, TopLevelTPConverter< TrackCollectionCnv_p4, Trk::TrackCollection_tlp7 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

Definition at line 80 of file ITPCnvBase.h.

84 {
85 return transToPersUntyped (trans, pers, msg);
86 }
virtual void transToPersUntyped(const void *trans, void *pers, MsgStream &msg)=0
Convert transient object representation to persistent.

◆ typeID()

template<class TRANS>
virtual const TPObjRef::typeID_t & ITPConverterFor< TRANS >::typeID ( ) const
inlinevirtual

Return TP typeID for persistent objects produced by this converter.

Returns
TPObjRef::typeID_t&

Implements ITPConverter.

Definition at line 208 of file TPConverter.h.

208{ return m_pStorageTID; }

◆ typeIDvalue()

template<class TRANS>
unsigned ITPConverterFor< TRANS >::typeIDvalue ( ) const
inline

inlined non-virtual version to get the typeID value fast

Definition at line 211 of file TPConverter.h.

211{ return m_pStorageTIDvalue; }

◆ virt_createTransFromPStore()

template<class TRANS>
virtual TRANS * ITPConverterFor< TRANS >::virt_createTransFromPStore ( unsigned index,
MsgStream & log )
pure virtual

Internal interface method that is used to invoke the real conversion method (createTransient) in the derived converter.

Parameters
index[IN] index of the persistent object in the storage vector
log[IN] output message stream
Returns
Transient representation (by pointer)

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, TPPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPPolyCnvBase< TRANS, TRANS, PERS >, TPPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, and TrackParametersCnv_p2.

◆ virt_createTransFromPStoreWithKey()

template<class TRANS>
virtual TRANS * ITPConverterFor< TRANS >::virt_createTransFromPStoreWithKey ( unsigned index,
const std::string & key,
MsgStream & log )
pure virtual

Internal interface method that is used to invoke the real conversion method (createTransient) in the derived converter.

Parameters
index[IN] index of the persistent object in the storage vector
key[IN] SG key of the object being converted
log[IN] output message stream
Returns
Transient representation (by pointer)

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, TPPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPPolyCnvBase< TRANS, TRANS, PERS >, TPPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, and TPPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >.

◆ virt_toPersistent()

template<class TRANS>
virtual TPObjRef ITPConverterFor< TRANS >::virt_toPersistent ( const TransBase_t * trans,
MsgStream & log )
pure virtual

Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.

Parameters
trans[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, TPCnvBase< TRANS, TPIntegerVector_p1 >, TPCnvBase< TRANS, TPIntegerVector_p2 >, TPConverterBase< TRANS, PERS >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPConverterBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPConverterBase< std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPConverterBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPConverterBase< std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPConverterBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPConverterBase< std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPConverterBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPConverterBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPConverterBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPConverterBase< std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, and TPConverterBase< TileHitVector, TileHitVector_p1 >.

◆ virt_toPersistentWithKey()

template<class TRANS>
virtual TPObjRef ITPConverterFor< TRANS >::virt_toPersistentWithKey ( const TransBase_t * trans,
const std::string & key,
MsgStream & log )
pure virtual

Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.

Parameters
trans[IN] transient object
key[IN] SG key of the object being converted.
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Implemented in DummyDetElementSurfaceCnv_p1, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, PERS >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS, TRANS, TPIntegerVector_p2 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p1 >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, TPIntegerVector_p2 >, TPConverterBase< TRANS, PERS >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPConverterBase< DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPConverterBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPConverterBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPConverterBase< std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPConverterBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPConverterBase< std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPConverterBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPConverterBase< std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >, TPConverterBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPConverterBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPConverterBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPConverterBase< std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, and TPConverterBase< TileHitVector, TileHitVector_p1 >.

◆ wasUsedForReading()

template<class TRANS>
bool ITPConverterFor< TRANS >::wasUsedForReading ( )
inline

Definition at line 236 of file TPConverter.h.

236{ return m_wasUsedForReading; }

Member Data Documentation

◆ m_pStorageTID

template<class TRANS>
TPObjRef::typeID_t ITPConverterFor< TRANS >::m_pStorageTID
protected

TP Ref typeID for the persistent objects this converter is creating.

Definition at line 292 of file TPConverter.h.

◆ m_pStorageTIDvalue

template<class TRANS>
unsigned ITPConverterFor< TRANS >::m_pStorageTIDvalue
protected

m_pStorageTID converted to integer value

Definition at line 295 of file TPConverter.h.

◆ m_topConverter

template<class TRANS>
TopLevelTPCnvBase* ITPConverterFor< TRANS >::m_topConverter
protected

top level converter that owns this elemental TP converter it also holds the storage object

Definition at line 299 of file TPConverter.h.

◆ m_topConverterRuntime

template<class TRANS>
TopLevelTPCnvBase* ITPConverterFor< TRANS >::m_topConverterRuntime
protected

top level converter "owning" this TP converter at runtime (different from m_topConverter in case the top-level converter and object have extensions)

Definition at line 302 of file TPConverter.h.

◆ m_wasUsedForReading

template<class TRANS>
bool ITPConverterFor< TRANS >::m_wasUsedForReading
protected

flag set when using this converter for reading triggers search for a new converter before writing, to prevent possible use of old version

Definition at line 306 of file TPConverter.h.


The documentation for this class was generated from the following file: