ATLAS Offline Software
Loading...
Searching...
No Matches
TrackParticleContainerARACnv_tlp2 Class Referenceabstract

#include <TrackParticleContainerCnv_tlp2.h>

Inheritance diagram for TrackParticleContainerARACnv_tlp2:
Collaboration diagram for TrackParticleContainerARACnv_tlp2:

Public Types

typedef Gaudi::PluginService::Factory< ITPCnvBase *()> Factory
typedef TrackParticleContainerCnv_p2::Trans_t TRANS
typedef Rec::TrackParticleContainer_tlp2 PERS

Public Member Functions

 TrackParticleContainerARACnv_tlp2 ()
virtual void persToTrans (const Rec::TrackParticleContainer_tlp2 *pers, Rec::TrackParticleContainer *trans, MsgStream &msg)
virtual void persToTrans (const PERS *pers, TRANS *trans, MsgStream &msg)
virtual void transToPers (const Rec::TrackParticleContainer *trans, Rec::TrackParticleContainer_tlp2 *pers, MsgStream &msg)
virtual void transToPers (const TRANS *trans, PERS *pers, MsgStream &msg)
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 & transientTInfo () const=0
 return C++ type id of the transient class this converter is for
virtual const std::type_info & persistentTInfo () const=0
 return C++ type id of the persistent class this converter is for
virtual void setPStorage (Rec::TrackParticleContainer_tlp2 *storage)
 A stub for a method that should be provided by the converter creator.
virtual TPCnvTokenList_p1getTokenListVar ()
 Return the list of tokens to the objects extending the object owned by this converter.
TRANScreateTransient (MsgStream &log)
 Create transient representation of the persistent object known to this converter.
TRANScreateTransientWithKey (const std::string &key, MsgStream &log)
 Create transient representation of the persistent object known to this converter.
virtual Rec::TrackParticleContainer_tlp2createPersistent (const TRANS *transObj, MsgStream &log)
 Create persistent representation of transObj.
virtual Rec::TrackParticleContainer_tlp2createPersistentWithKey (const TRANS *transObj, const std::string &key, MsgStream &log)
 Create persistent representation of transObj.
void addMainTPConverter ()
 Add the main TP converter to the internal list - should be called from user-defined constructor.
void setMainCnvPStorage (STORAGE *storage)
 Set the persistent storage space for the main TP converter.
virtual unsigned short getConverterID () override
 Returns this converter's ID.
virtual bool hasTLPersObject () const override
 Returns true if the converter has a persistent object.
virtual void createTLPersObject () override
 Create persistent object - the converter keeps it.
virtual void deleteTLPersObject () override
 Delete the persistent object owned by the converter.
Rec::TrackParticleContainer_tlp2getTLPersObject ()
const Rec::TrackParticleContainer_tlp2getTLPersObject () const
Rec::TrackParticleContainer_tlp2releaseTLPersObject ()
 @release the persistent object from this converter
virtual void * getTLPersObjectAsVoid () override
virtual const void * getTLPersObjectAsVoid () const override
virtual void clearTLPersObject () override
 Discard the persistent object.
virtual void setTLPersObject (void *persObj) override
 Take ownership of the persistent object.
virtual TPCnvTokenList_p1getTokenListVarFrom (void *persObj) override
 Return the list of tokens to the objects extending the object NOT owned by this converter.
virtual void addTPConverter (ITPConverter *cnv)
 Add a TP converter to this top level converter.
virtual void addTPConverterForReading (ITPConverter *cnv)
 Add a TP converter to this top level converter but only for reading.
virtual void addExtTPConverterForReading (ITPConverter *cnv)
 add extending TP converter to this top level converter - to the list consulted when reading only.
virtual void addTPConvertersTo (TopLevelTPCnvBase *dest)
 copy all extending converters from this top level converter to "dest" top level converter
virtual void addTPConvertersForReadingTo (TopLevelTPCnvBase *dest)
 copy all extending converters from this top level converter to "dest" top level converter - for reading
ITPConverterconverterForType (const std::type_info &info) const
 Find and return a TP converter for a given C++ type info.
ITPConverterconverterForRef (const TPObjRef &ref) const
 Find and return a TP converter for persistent type referenced by ref.

Protected Types

typedef std::map< unsigned, ITPConverter * > convIdMap_t

Protected Member Functions

void rememberConverter (TopLevelTPCnvBase *cnv)
 Remember that elemental TP converters from the given top-level converter are already registered.
bool hasConvertersFrom (TopLevelTPCnvBase *cnv)
 Check if TP converters from a given top-level converter were already registered in this converter.

Protected Attributes

TrackParticleCnv_p2 m_trackParticleCnv_p2
TrackParametersCnv_p1 m_trackParametersCnv
PerigeeCnv_p1 m_perigeeCnv
AtaDiscCnv_p1 m_ataDiscsCnv
AtaCylinderCnv_p1 m_ataCylindersCnv
AtaPlaneCnv_p1 m_ataPlanesCnv
AtaStraightLineCnv_p1 m_ataStraightLinesCnv
MeasuredPerigeeCnv_p1 m_measuredPerigeeCnv
MeasuredAtaDiscCnv_p1 m_measuredAtaDiscsCnv
MeasuredAtaCylinderCnv_p1 m_measuredAtaCylindersCnv
MeasuredAtaPlaneCnv_p1 m_measuredAtaPlanesCnv
MeasuredAtaStraightLineCnv_p1 m_measuredAtaStraightLinesCnv
NeutralParametersCnv_p1 m_neutralParametersCnv
NeutralPerigeeCnv_p1 m_neutralPerigeeCnv
NeutralAtaDiscCnv_p1 m_neutralAtaDiscsCnv
NeutralAtaCylinderCnv_p1 m_neutralAtaCylindersCnv
NeutralAtaPlaneCnv_p1 m_neutralAtaPlanesCnv
NeutralAtaStraightLineCnv_p1 m_neutralAtaStraightLinesCnv
MeasuredNeutralPerigeeCnv_p1 m_measuredNeutralPerigeeCnv
MeasuredNeutralAtaDiscCnv_p1 m_measuredNeutralAtaDiscsCnv
MeasuredNeutralAtaCylinderCnv_p1 m_measuredNeutralAtaCylindersCnv
MeasuredNeutralAtaPlaneCnv_p1 m_measuredNeutralAtaPlanesCnv
MeasuredNeutralAtaStraightLineCnv_p1 m_measuredNeutralAtaStraightLinesCnv
PerigeeSurfaceCnv_p1 m_perigeeSurfacesCnv
DiscSurfaceCnv_p1 m_discSurfacesCnv
PlaneSurfaceCnv_p1 m_planeSurfacesCnv
CylinderSurfaceCnv_p1 m_cylinderSurfacesCnv
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv
DetElementSurfaceCnv_p1 m_detElSurfCnv
SurfaceCnv_p1 m_surfacesCnv
CylinderBoundsCnv_p1 m_cylinderBoundsCnv
DiamondBoundsCnv_p1 m_diamondBoundsCnv
RotatedDiamondBoundsCnv_p1 m_rotatedDiamondBoundsCnv
DiscBoundsCnv_p1 m_discBoundsCnv
RectangleBoundsCnv_p1 m_rectangleBoundsCnv
TrapezoidBoundsCnv_p1 m_trapesoidBoundsCnv
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
TrackSummaryCnv_p2 m_trackSummaryCnv
CovarianceMatrixCnv_p1 m_covarianceMatricesCnv
ErrorMatrixCnv_p1 m_errorMatricesCnv
TrackParticleContainerCnv_p2 m_mainConverter
Rec::TrackParticleContainer_tlp2m_tlPersObject
 The persistent object this conveter is working on.
convIdMap_t m_convIdMap
 Map of elemental TP converters indexed by their ID - used for reading.
TPConverterTypeMap< ITPConverterm_converters
 Map of elemental TP converters indexed by transient typeid - used for writing.
std::set< TopLevelTPCnvBase * > m_registeredTLConverters
 Set top-level converters from which elemental TP converters were registered.
unsigned m_typeIDCount
 Counter used to create typed IDs used in the transient Ref.

Private Member Functions

virtual void addTPConverterForWriting (ITPConverter *cnv)
 add TP converter to the list of converters consulted when writing - internal method.

Private Attributes

DummyDetElementSurfaceCnv_p1 m_dumDetElSurfCnv

Detailed Description

Definition at line 180 of file TrackParticleContainerCnv_tlp2.h.

Member Typedef Documentation

◆ convIdMap_t

typedef std::map<unsigned, ITPConverter*> TopLevelTPCnvBase::convIdMap_t
protectedinherited

Definition at line 174 of file TopLevelTPCnvBase.h.

◆ Factory

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

Definition at line 26 of file ITPCnvBase.h.

◆ PERS

◆ TRANS

Constructor & Destructor Documentation

◆ TrackParticleContainerARACnv_tlp2()

TrackParticleContainerARACnv_tlp2::TrackParticleContainerARACnv_tlp2 ( )

Member Function Documentation

◆ addExtTPConverterForReading()

add extending TP converter to this top level converter - to the list consulted when reading only.

Parameters
cnv[IN] the TP converter to be added

Definition at line 60 of file TopLevelTPCnvBase.cxx.

48{
49 // for reading, converters are selected based on our own typeID value
50 // which comes from the Ref
51 // Ref contains top level converter ID + local type ID
52 m_convIdMap[ converter->typeID().value() ] = converter;
53
54// std::cout << " **addExtTPConverterForReading - adding converter for " << converter->transientTInfo().name() << " CnvID=" << converter->typeID().value() << std::endl;
55 converter->setRuntimeTopConverter( this );
56}
TopLevelTPConverter is the final and most specialized template for all top-level TP converters.

◆ addMainTPConverter()

void TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::addMainTPConverter ( )
inlineinherited

Add the main TP converter to the internal list - should be called from user-defined constructor.

Definition at line 146 of file TopLevelTPConverter.h.

◆ addTPConverter()

void TopLevelTPCnvBase::addTPConverter ( ITPConverter * cnv)
virtualinherited

Add a TP converter to this top level converter.

Parameters
cnv[IN] the TP converter to be added

Definition at line 42 of file TopLevelTPCnvBase.cxx.

◆ addTPConverterForReading()

Add a TP converter to this top level converter but only for reading.

Old converters that read schema evolved objects should be added only for reading.

Parameters
cnv[IN] the TP converter to be added

Definition at line 48 of file TopLevelTPCnvBase.cxx.

20{
21 // for reading, converters are selected based on their typeID value
22 // which comes from the Ref
23 // Ref contains top level converter ID + local type ID
26
27// std::cout << " **addTPConverter - adding converter for " << converter->transientTInfo().name() << " CnvID=" << full_typeID.value() << std::endl;
28 converter->setTopConverter( this, full_typeID );
29}

◆ addTPConverterForWriting()

void TopLevelTPCnvBase::addTPConverterForWriting ( ITPConverter * cnv)
privatevirtualinherited

add TP converter to the list of converters consulted when writing - internal method.

Parameters
cnv[IN] the TP converter to be added

Definition at line 54 of file TopLevelTPCnvBase.cxx.

34{
35 // add converter to the map keyed by type_info
36 // this map is used to find a converter when writing
38 if( m_converters.findConverter( info ) ) {
39 // adding a second converter for the same type will mess up things
40 const std::string error("Duplicate TP converter for class ");
41 throw std::runtime_error( error + info.name() );
42 }
43 m_converters.addConverter( converter, info );
44}
virtual const std::type_info & transientTInfo() const override
return C++ type id of the transient class this converter is for

◆ addTPConvertersForReadingTo()

copy all extending converters from this top level converter to "dest" top level converter - for reading

Parameters
dest[IN] destination converter which will receive all elemental TP converters that this one has

Definition at line 74 of file TopLevelTPCnvBase.cxx.

79{
80 // check if we have done this already, and if so then exit
81 if( cnv->hasConvertersFrom( this ) ) {
82 return;
83 }
84 // copy all TP converters to another topLevel conveter
85 for( convIdMap_t::const_iterator itr = m_convIdMap.begin();
86 itr != m_convIdMap.end(); ++itr ) {
88 }
89 // prevent attempts to add the same converters again
90 cnv->rememberConverter( this );
91}
void rememberConverter(TopLevelTPCnvBase *cnv)
Remember that elemental TP converters from the given top-level converter are already registered.
bool hasConvertersFrom(TopLevelTPCnvBase *cnv)
Check if TP converters from a given top-level converter were already registered in this converter.

◆ addTPConvertersTo()

copy all extending converters from this top level converter to "dest" top level converter

copy all TP converters to another topLevel conveter

Parameters
dest[IN] destination converter which will receive all elemental TP converters that this one has

Definition at line 67 of file TopLevelTPCnvBase.cxx.

61{
62 // loop over all registered converters
63 for( convIdMap_t::const_iterator itr = m_convIdMap.begin();
64 itr != m_convIdMap.end(); ++itr ) {
65 // check if the converter is in the list of R/W converters
66 if( m_converters.findConverter( itr->second->transientTInfo() ) == itr->second ) {
67 // this is a R/W converter, add it for writing too
69 }
70 // add the convterter for reading
72 }
73 // prevent adding of the same converter again
74 cnv->rememberConverter( this );
75}

◆ clearTLPersObject()

virtual void TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::clearTLPersObject ( )
inlineoverridevirtualinherited

Discard the persistent object.

Definition at line 99 of file TopLevelTPCnvBaseP.h.

◆ converterForRef()

Find and return a TP converter for persistent type referenced by ref.

Parameters
ref[IN] TP reference of a persistent object
Returns
ITPConverter* pointer to the TP converter for ref

Definition at line 89 of file TopLevelTPCnvBase.h.

89 {
90 convIdMap_t::const_iterator iter = m_convIdMap.find( ref.typeID() );
91 return (iter == m_convIdMap.end())?
92 0 : iter->second;
93 }

◆ converterForType()

ITPConverter * TopLevelTPCnvBase::converterForType ( const std::type_info & info) const
inlineinherited

Find and return a TP converter for a given C++ type info.

Parameters
info[IN] C++ type info reference to the transient type
Returns
ITPConverter* pointer to the TP converter for type info

Definition at line 80 of file TopLevelTPCnvBase.h.

80 {
81 return m_converters.findConverter( info );
82 }

◆ createPersistent()

virtual Rec::TrackParticleContainer_tlp2 * TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::createPersistent ( const TRANS * transObj,
MsgStream & log )
inlinevirtualinherited

Create persistent representation of transObj.

Parameters
transObj[IN] pointer to the transient representation
log[IN] message stream for output
Returns
TL_PRES* persistent object passed by a pointer

Definition at line 110 of file TopLevelTPConverter.h.

111 {
112 // create a new persistent object (empty)
113 this->createTLPersObject();
114 // do transToPers conversion, fill in the persistent object
115 m_mainConverter.virt_toPersistent(transObj, log);
116 // take the persistent object away from the TL converter
117 TL_PERS *ret = this->getTLPersObject();
118 // important to clear so createTransient() will not try to delete it (and crash)
119 this->clearTLPersObject();
120 return ret;
121 }

◆ createPersistentWithKey()

virtual Rec::TrackParticleContainer_tlp2 * TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::createPersistentWithKey ( const TRANS * transObj,
const std::string & key,
MsgStream & log )
inlinevirtualinherited

Create persistent representation of transObj.

Parameters
transObj[IN] pointer to the transient representation
key[IN] SG key of the object being converted.
log[IN] message stream for output
Returns
TL_PRES* persistent object passed by a pointer

Definition at line 129 of file TopLevelTPConverter.h.

132 {
133 // create a new persistent object (empty)
134 this->createTLPersObject();
135 // do transToPers conversion, fill in the persistent object
136 m_mainConverter.virt_toPersistentWithKey(transObj, key, log);
137 // take the persistent object away from the TL converter
138 TL_PERS *ret = this->getTLPersObject();
139 // important to clear so createTransient() will not try to delete it (and crash)
140 this->clearTLPersObject();
141 return ret;
142 }

◆ createTLPersObject()

virtual void TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::createTLPersObject ( )
inlineoverridevirtualinherited

Create persistent object - the converter keeps it.

Definition at line 57 of file TopLevelTPCnvBaseP.h.

57 {
58 m_tlPersObject = new TL_PERS();
60 }
virtual void setPStorage(Rec::TrackParticleContainer_tlp2 *persObj) override=0

◆ createTransient()

TRANS * TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::createTransient ( MsgStream & log)
inlineinherited

Create transient representation of the persistent object known to this converter.

NOTE: If the persistent object is owned by the converter, it will be deleted

Parameters
log[IN] message stream for output
Returns
TRANS* transient object passed by a pointer

Definition at line 62 of file TopLevelTPConverter.h.

62 {
63 // 0 is the index of the main and only one top level object
64 TRANS *transObj = m_mainConverter.virt_createTransFromPStore( 0, log );
65 this->deleteTLPersObject();
66 return transObj;
67 }

◆ createTransientWithKey()

TRANS * TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::createTransientWithKey ( const std::string & key,
MsgStream & log )
inlineinherited

Create transient representation of the persistent object known to this converter.

NOTE: If the persistent object is owned by the converter, it will be deleted

Parameters
key[IN] SG key of the object being converted
log[IN] message stream for output
Returns
TRANS* transient object passed by a pointer

Definition at line 78 of file TopLevelTPConverter.h.

80 {
81 // 0 is the index of the main and only one top level object
82 TRANS *transObj = m_mainConverter.virt_createTransFromPStoreWithKey( 0, key, log );
83 this->deleteTLPersObject();
84 return transObj;
85 }

◆ deleteTLPersObject()

virtual void TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::deleteTLPersObject ( )
inlineoverridevirtualinherited

Delete the persistent object owned by the converter.

Definition at line 64 of file TopLevelTPCnvBaseP.h.

64 {
65 if( m_tlPersObject ) {
66 delete m_tlPersObject;
68 }
69 }

◆ getConverterID()

virtual unsigned short TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::getConverterID ( void )
inlineoverridevirtualinherited

Returns this converter's ID.

By default it is 0. Should be overwritten in extending converters

Returns
this converter's ID

Implements TopLevelTPCnvBase.

Definition at line 159 of file TopLevelTPConverter.h.

159{ return 0; }

◆ getTLPersObject() [1/2]

Returns
pointer to the persistent object owned by this converter

Definition at line 72 of file TopLevelTPCnvBaseP.h.

72 {
73 return m_tlPersObject;
74 }

◆ getTLPersObject() [2/2]

Returns
pointer to the persistent object owned by this converter

Definition at line 77 of file TopLevelTPCnvBaseP.h.

77 {
78 return m_tlPersObject;
79 }

◆ getTLPersObjectAsVoid() [1/2]

virtual const void * TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::getTLPersObjectAsVoid ( ) const
inlineoverridevirtualinherited

Returns
pointer to the persistent object owned by this converter as void*

Definition at line 94 of file TopLevelTPCnvBaseP.h.

94 {
95 return getTLPersObject();
96 }

◆ getTLPersObjectAsVoid() [2/2]

virtual void * TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::getTLPersObjectAsVoid ( )
inlineoverridevirtualinherited

Returns
pointer to the persistent object owned by this converter as void*

Definition at line 89 of file TopLevelTPCnvBaseP.h.

89 {
90 return getTLPersObject();
91 }

◆ getTokenListVar()

virtual TPCnvTokenList_p1 * TrackParticleContainerCnv_tlp2::getTokenListVar ( )
inlinevirtualinherited

Return the list of tokens to the objects extending the object owned by this converter.

This method is needed only in a conveter which has extensions. It needs to be implemented in the top-level converter by the user

Returns
pointer to the token list from the persistent object

Reimplemented from TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >.

Definition at line 107 of file TrackParticleContainerCnv_tlp2.h.

◆ getTokenListVarFrom()

virtual TPCnvTokenList_p1 * TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::getTokenListVarFrom ( void * persObj)
inlineoverridevirtualinherited

Return the list of tokens to the objects extending the object NOT owned by this converter.

Parameters
persObj[IN] persistent object from which contains list of tokens. Passes as void* - if the type is wrong, it may crash
Returns
pointer to the token list from persObj

Definition at line 115 of file TopLevelTPCnvBaseP.h.

115 {
116 // avoid setting up the pointer to persistent object
117 // (can lead to deleting it twice, if the user deletes too)
119 m_tlPersObject = reinterpret_cast<TL_PERS*>( persObj );
122 return toklist;
123 }

◆ hasConvertersFrom()

bool TopLevelTPCnvBase::hasConvertersFrom ( TopLevelTPCnvBase * cnv)
inlineprotectedinherited

Check if TP converters from a given top-level converter were already registered in this converter.

Parameters
cnv[IN] top-level converter to check
Returns
true if TP converters from cnv were already registered

Definition at line 166 of file TopLevelTPCnvBase.h.

◆ hasTLPersObject()

virtual bool TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::hasTLPersObject ( ) const
inlineoverridevirtualinherited

Returns true if the converter has a persistent object.

Definition at line 52 of file TopLevelTPCnvBaseP.h.

52 {
53 return m_tlPersObject;
54 }

◆ 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&

◆ persToTrans() [1/2]

Definition at line 126 of file TrackParticleContainerCnv_tlp2.cxx.

127 {
128 // FIXME: TPConverter uses the same non-const member m_pStorage
129 // for both reading and writing, but we want it to be const
130 // in the former case.
134 m_mainConverter.pstoreToTrans (0, trans, msg);
135}
virtual void setPStorage(Rec::TrackParticleContainer_tlp2 *storage)
A stub for a method that should be provided by the converter creator.

◆ persToTrans() [2/2]

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::persToTrans ( const PERS * pers,
TRANS * trans,
MsgStream & msg )
inlinevirtualinherited

Definition at line 201 of file TopLevelTPConverter.h.

201 {
202 // FIXME: TPConverter uses the same non-const member m_pStorage
203 // for both reading and writing, but we want it to be const
204 // in the former case.
207 m_mainConverter.pstoreToTrans (0, trans, msg);
208 }

◆ 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

◆ 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

Definition at line 53 of file ITPCnvBase.h.

57 {
59 }
virtual void persToTransUntyped(const void *pers, void *trans, MsgStream &msg)=0

◆ releaseTLPersObject()

@release the persistent object from this converter

Definition at line 82 of file TopLevelTPCnvBaseP.h.

82 {
85 return tmp;
86 }

◆ rememberConverter()

void TopLevelTPCnvBase::rememberConverter ( TopLevelTPCnvBase * cnv)
inlineprotectedinherited

Remember that elemental TP converters from the given top-level converter are already registered.

Parameters
cnv[IN] top-level TP converter - source of the elemental TP converters

Definition at line 156 of file TopLevelTPCnvBase.h.

157 {
159 }

◆ setMainCnvPStorage()

void TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::setMainCnvPStorage ( STORAGE * storage)
inlineinherited

Set the persistent storage space for the main TP converter.

Definition at line 152 of file TopLevelTPConverter.h.

152 {
153 m_mainConverter.setPStorage( storage );
154 }

◆ setPStorage()

void TrackParticleContainerCnv_tlp2::setPStorage ( Rec::TrackParticleContainer_tlp2 * persObj)
virtualinherited

A stub for a method that should be provided by the converter creator.

In that methods all elemental TP converters that belong to this top-level converter need to be assigned to storage vectors in the persistent object.

Parameters
persObj[IN] persistent object

Implements TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >.

Definition at line 69 of file TrackParticleContainerCnv_tlp2.cxx.

70{
71 setMainCnvPStorage( &storage->m_trackParticleContainer_p2 );
72 m_trackParticleCnv_p2. setPStorage(&storage->m_trackParticle_p2);
73
74 m_trackParametersCnv.setPStorage(&storage->m_trackParameters);
75 m_perigeeCnv.setPStorage(&storage->m_perigees);
76 m_measuredPerigeeCnv.setPStorage(&storage->m_measPerigees);
77
78 m_measuredAtaDiscsCnv. setPStorage( &storage->m_measuredAtaSurfaces );
79 m_measuredAtaPlanesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
80 m_measuredAtaCylindersCnv. setPStorage( &storage->m_measuredAtaSurfaces );
81 m_measuredAtaStraightLinesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
82
83 m_ataDiscsCnv. setPStorage( &storage->m_ataSurfaces );
84 m_ataPlanesCnv. setPStorage( &storage->m_ataSurfaces );
85 m_ataCylindersCnv. setPStorage( &storage->m_ataSurfaces );
86 m_ataStraightLinesCnv. setPStorage( &storage->m_ataSurfaces );
87
88 m_neutralParametersCnv. setPStorage(&storage->m_trackParameters);
89 m_neutralPerigeeCnv. setPStorage(&storage->m_perigees);
90 m_measuredNeutralPerigeeCnv. setPStorage(&storage->m_measPerigees);
91
92 m_measuredNeutralAtaDiscsCnv. setPStorage( &storage->m_measuredAtaSurfaces );
93 m_measuredNeutralAtaPlanesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
94 m_measuredNeutralAtaCylindersCnv. setPStorage( &storage->m_measuredAtaSurfaces );
95 m_measuredNeutralAtaStraightLinesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
96
97 m_neutralAtaDiscsCnv. setPStorage( &storage->m_ataSurfaces );
98 m_neutralAtaPlanesCnv. setPStorage( &storage->m_ataSurfaces );
99 m_neutralAtaCylindersCnv. setPStorage( &storage->m_ataSurfaces );
100 m_neutralAtaStraightLinesCnv. setPStorage( &storage->m_ataSurfaces );
101
102 m_perigeeSurfacesCnv.setPStorage(&storage->m_surfaces);
103 m_discSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
104 m_planeSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
105 m_cylinderSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
106 m_straightLineSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
107 m_detElSurfCnv. setPStorage( &storage->m_detElementSurfaces );
108
109
110 m_surfacesCnv. setPStorage( &storage->m_surfaces );
111 m_cylinderBoundsCnv. setPStorage( &storage->m_cylinderBounds );
112 m_diamondBoundsCnv. setPStorage( &storage->m_diamondBounds );
113 m_rotatedDiamondBoundsCnv. setPStorage( &storage->m_rotatedDiamondBounds );
114 m_discBoundsCnv. setPStorage( &storage->m_discBounds );
115 m_rectangleBoundsCnv. setPStorage( &storage->m_rectangleBounds );
116 m_trapesoidBoundsCnv. setPStorage( &storage->m_trapesoidBounds );
117 m_rotatedTrapesoidBoundsCnv. setPStorage( &storage->m_rotatedTrapesoidBounds);
118
119 m_trackSummaryCnv. setPStorage(&storage->m_trackSummaries);
120 m_covarianceMatricesCnv. setPStorage(&storage->m_hepSymMatrices);
121 m_errorMatricesCnv. setPStorage(&storage->m_hepSymMatrices);
122
123}
MeasuredNeutralAtaCylinderCnv_p1 m_measuredNeutralAtaCylindersCnv
MeasuredAtaStraightLineCnv_p1 m_measuredAtaStraightLinesCnv
MeasuredNeutralAtaDiscCnv_p1 m_measuredNeutralAtaDiscsCnv
MeasuredAtaCylinderCnv_p1 m_measuredAtaCylindersCnv
MeasuredNeutralAtaStraightLineCnv_p1 m_measuredNeutralAtaStraightLinesCnv
MeasuredNeutralPerigeeCnv_p1 m_measuredNeutralPerigeeCnv
MeasuredNeutralAtaPlaneCnv_p1 m_measuredNeutralAtaPlanesCnv
RotatedDiamondBoundsCnv_p1 m_rotatedDiamondBoundsCnv
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
NeutralAtaStraightLineCnv_p1 m_neutralAtaStraightLinesCnv
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv

◆ setTLPersObject()

virtual void TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp2 >::setTLPersObject ( void * persObj)
inlineoverridevirtualinherited

Take ownership of the persistent object.

Also initialize all elemental TP converters to use that object.

Parameters
persObj[IN] the persistent object passed as void*

Definition at line 104 of file TopLevelTPCnvBaseP.h.

104 {
105 if( m_tlPersObject ) delete m_tlPersObject;
106 m_tlPersObject = reinterpret_cast<TL_PERS*>( persObj );
108 }

◆ transientTInfo()

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

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

Returns
std::type_info&

◆ transToPers() [1/2]

Definition at line 137 of file TrackParticleContainerCnv_tlp2.cxx.

138 {
139 this->setTLPersObject( pers );
140 m_mainConverter.virt_toPersistent(trans, msg);
141 this->clearTLPersObject();
142}

◆ transToPers() [2/2]

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p2, Rec::TrackParticleContainer_tlp2 >::transToPers ( const TRANS * trans,
PERS * pers,
MsgStream & msg )
inlinevirtualinherited

Definition at line 210 of file TopLevelTPConverter.h.

210 {
211 this->setTLPersObject( pers );
212 m_mainConverter.virt_toPersistent(trans, msg);
213 this->clearTLPersObject();
214 }

◆ 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

◆ 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

Definition at line 80 of file ITPCnvBase.h.

84 {
86 }
virtual void transToPersUntyped(const void *trans, void *pers, MsgStream &msg)=0

Member Data Documentation

◆ m_ataCylindersCnv

AtaCylinderCnv_p1 TrackParticleContainerCnv_tlp2::m_ataCylindersCnv
protectedinherited

Definition at line 118 of file TrackParticleContainerCnv_tlp2.h.

◆ m_ataDiscsCnv

AtaDiscCnv_p1 TrackParticleContainerCnv_tlp2::m_ataDiscsCnv
protectedinherited

Definition at line 117 of file TrackParticleContainerCnv_tlp2.h.

◆ m_ataPlanesCnv

AtaPlaneCnv_p1 TrackParticleContainerCnv_tlp2::m_ataPlanesCnv
protectedinherited

Definition at line 119 of file TrackParticleContainerCnv_tlp2.h.

◆ m_ataStraightLinesCnv

AtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp2::m_ataStraightLinesCnv
protectedinherited

Definition at line 120 of file TrackParticleContainerCnv_tlp2.h.

◆ m_converters

Map of elemental TP converters indexed by transient typeid - used for writing.

Definition at line 180 of file TopLevelTPCnvBase.h.

◆ m_convIdMap

Map of elemental TP converters indexed by their ID - used for reading.

Definition at line 177 of file TopLevelTPCnvBase.h.

◆ m_covarianceMatricesCnv

CovarianceMatrixCnv_p1 TrackParticleContainerCnv_tlp2::m_covarianceMatricesCnv
protectedinherited

Definition at line 160 of file TrackParticleContainerCnv_tlp2.h.

◆ m_cylinderBoundsCnv

CylinderBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_cylinderBoundsCnv
protectedinherited

Definition at line 148 of file TrackParticleContainerCnv_tlp2.h.

◆ m_cylinderSurfacesCnv

CylinderSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_cylinderSurfacesCnv
protectedinherited

Definition at line 143 of file TrackParticleContainerCnv_tlp2.h.

◆ m_detElSurfCnv

DetElementSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_detElSurfCnv
protectedinherited

Definition at line 145 of file TrackParticleContainerCnv_tlp2.h.

◆ m_diamondBoundsCnv

DiamondBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_diamondBoundsCnv
protectedinherited

Definition at line 149 of file TrackParticleContainerCnv_tlp2.h.

◆ m_discBoundsCnv

DiscBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_discBoundsCnv
protectedinherited

Definition at line 151 of file TrackParticleContainerCnv_tlp2.h.

◆ m_discSurfacesCnv

DiscSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_discSurfacesCnv
protectedinherited

Definition at line 141 of file TrackParticleContainerCnv_tlp2.h.

◆ m_dumDetElSurfCnv

DummyDetElementSurfaceCnv_p1 TrackParticleContainerARACnv_tlp2::m_dumDetElSurfCnv
private

Definition at line 187 of file TrackParticleContainerCnv_tlp2.h.

◆ m_errorMatricesCnv

ErrorMatrixCnv_p1 TrackParticleContainerCnv_tlp2::m_errorMatricesCnv
protectedinherited

Definition at line 161 of file TrackParticleContainerCnv_tlp2.h.

◆ m_mainConverter

◆ m_measuredAtaCylindersCnv

MeasuredAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredAtaCylindersCnv
protectedinherited

Definition at line 123 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredAtaDiscsCnv

MeasuredAtaDiscCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredAtaDiscsCnv
protectedinherited

Definition at line 122 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredAtaPlanesCnv

MeasuredAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredAtaPlanesCnv
protectedinherited

Definition at line 124 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredAtaStraightLinesCnv

MeasuredAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredAtaStraightLinesCnv
protectedinherited

Definition at line 125 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredNeutralAtaCylindersCnv

MeasuredNeutralAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredNeutralAtaCylindersCnv
protectedinherited

Definition at line 136 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredNeutralAtaDiscsCnv

MeasuredNeutralAtaDiscCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredNeutralAtaDiscsCnv
protectedinherited

Definition at line 135 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredNeutralAtaPlanesCnv

MeasuredNeutralAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredNeutralAtaPlanesCnv
protectedinherited

Definition at line 137 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredNeutralAtaStraightLinesCnv

MeasuredNeutralAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredNeutralAtaStraightLinesCnv
protectedinherited

Definition at line 138 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredNeutralPerigeeCnv

MeasuredNeutralPerigeeCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredNeutralPerigeeCnv
protectedinherited

Definition at line 134 of file TrackParticleContainerCnv_tlp2.h.

◆ m_measuredPerigeeCnv

MeasuredPerigeeCnv_p1 TrackParticleContainerCnv_tlp2::m_measuredPerigeeCnv
protectedinherited

Definition at line 121 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralAtaCylindersCnv

NeutralAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralAtaCylindersCnv
protectedinherited

Definition at line 131 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralAtaDiscsCnv

NeutralAtaDiscCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralAtaDiscsCnv
protectedinherited

Definition at line 130 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralAtaPlanesCnv

NeutralAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralAtaPlanesCnv
protectedinherited

Definition at line 132 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralAtaStraightLinesCnv

NeutralAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralAtaStraightLinesCnv
protectedinherited

Definition at line 133 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralParametersCnv

NeutralParametersCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralParametersCnv
protectedinherited

Definition at line 128 of file TrackParticleContainerCnv_tlp2.h.

◆ m_neutralPerigeeCnv

NeutralPerigeeCnv_p1 TrackParticleContainerCnv_tlp2::m_neutralPerigeeCnv
protectedinherited

Definition at line 129 of file TrackParticleContainerCnv_tlp2.h.

◆ m_perigeeCnv

PerigeeCnv_p1 TrackParticleContainerCnv_tlp2::m_perigeeCnv
protectedinherited

Definition at line 116 of file TrackParticleContainerCnv_tlp2.h.

◆ m_perigeeSurfacesCnv

PerigeeSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_perigeeSurfacesCnv
protectedinherited

Definition at line 140 of file TrackParticleContainerCnv_tlp2.h.

◆ m_planeSurfacesCnv

PlaneSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_planeSurfacesCnv
protectedinherited

Definition at line 142 of file TrackParticleContainerCnv_tlp2.h.

◆ m_rectangleBoundsCnv

RectangleBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_rectangleBoundsCnv
protectedinherited

Definition at line 152 of file TrackParticleContainerCnv_tlp2.h.

◆ m_registeredTLConverters

Set top-level converters from which elemental TP converters were registered.

Definition at line 184 of file TopLevelTPCnvBase.h.

◆ m_rotatedDiamondBoundsCnv

RotatedDiamondBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_rotatedDiamondBoundsCnv
protectedinherited

Definition at line 150 of file TrackParticleContainerCnv_tlp2.h.

◆ m_rotatedTrapesoidBoundsCnv

RotatedTrapezoidBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_rotatedTrapesoidBoundsCnv
protectedinherited

Definition at line 154 of file TrackParticleContainerCnv_tlp2.h.

◆ m_straightLineSurfacesCnv

StraightLineSurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_straightLineSurfacesCnv
protectedinherited

Definition at line 144 of file TrackParticleContainerCnv_tlp2.h.

◆ m_surfacesCnv

SurfaceCnv_p1 TrackParticleContainerCnv_tlp2::m_surfacesCnv
protectedinherited

Definition at line 147 of file TrackParticleContainerCnv_tlp2.h.

◆ m_tlPersObject

The persistent object this conveter is working on.

Definition at line 128 of file TopLevelTPCnvBaseP.h.

◆ m_trackParametersCnv

TrackParametersCnv_p1 TrackParticleContainerCnv_tlp2::m_trackParametersCnv
protectedinherited

Definition at line 115 of file TrackParticleContainerCnv_tlp2.h.

◆ m_trackParticleCnv_p2

TrackParticleCnv_p2 TrackParticleContainerCnv_tlp2::m_trackParticleCnv_p2
protectedinherited

Definition at line 112 of file TrackParticleContainerCnv_tlp2.h.

◆ m_trackSummaryCnv

TrackSummaryCnv_p2 TrackParticleContainerCnv_tlp2::m_trackSummaryCnv
protectedinherited

Definition at line 157 of file TrackParticleContainerCnv_tlp2.h.

◆ m_trapesoidBoundsCnv

TrapezoidBoundsCnv_p1 TrackParticleContainerCnv_tlp2::m_trapesoidBoundsCnv
protectedinherited

Definition at line 153 of file TrackParticleContainerCnv_tlp2.h.

◆ m_typeIDCount

unsigned TopLevelTPCnvBase::m_typeIDCount
protectedinherited

Counter used to create typed IDs used in the transient Ref.

Definition at line 187 of file TopLevelTPCnvBase.h.


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