ATLAS Offline Software
Loading...
Searching...
No Matches
TrackParticleContainerCnv_tlp1 Class Reference

#include <TrackParticleContainerCnv_tlp1.h>

Inheritance diagram for TrackParticleContainerCnv_tlp1:

Public Types

typedef TrackParticleContainerCnv_p1::Trans_t TRANS
typedef Rec::TrackParticleContainer_tlp1 PERS
typedef Gaudi::PluginService::Factory< ITPCnvBase *()> Factory

Public Member Functions

 TrackParticleContainerCnv_tlp1 ()
virtual ~TrackParticleContainerCnv_tlp1 ()
virtual void setPStorage (Rec::TrackParticleContainer_tlp1 *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_tlp1createPersistent (const TRANS *transObj, MsgStream &log)
 Create persistent representation of transObj.
virtual Rec::TrackParticleContainer_tlp1createPersistentWithKey (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 const std::type_info & transientTInfo () const override
 return C++ type id of the transient class this converter is for
virtual const std::type_info & persistentTInfo () const override
 return C++ type id of the persistent class this converter is for
virtual void persToTransUntyped (const void *pers, void *trans, MsgStream &log) override
 Convert persistent object representation to transient.
virtual void transToPersUntyped (const void *trans, void *pers, MsgStream &log) override
 Convert transient object representation to persistent.
virtual void persToTransWithKeyUntyped (const void *pers, void *trans, const std::string &, MsgStream &log) override
 Convert persistent object representation to transient.
virtual void transToPersWithKeyUntyped (const void *trans, void *pers, const std::string &, MsgStream &log) override
 Convert transient object representation to persistent.
virtual void persToTrans (const PERS *pers, TRANS *trans, MsgStream &msg)
virtual void transToPers (const TRANS *trans, PERS *pers, MsgStream &msg)
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_tlp1getTLPersObject ()
const Rec::TrackParticleContainer_tlp1getTLPersObject () const
Rec::TrackParticleContainer_tlp1releaseTLPersObject ()
 @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_p1 m_trackParticleCnv
TrackParticleBaseCnv_p1 m_trackParticleBaseCnv
TrackCnv_p1 m_trackCnv
VxCandidateCnv_p1 m_vxCandidateCnv
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_p1 m_trackSummaryCnv
MuonTrackSummaryCnv_p1 m_muonTrackSummaryCnv
FitQualityCnv_p1 m_fitQualityCnv
CovarianceMatrixCnv_p1 m_covarianceMatricesCnv
ErrorMatrixCnv_p1 m_errorMatricesCnv
TrackInfoCnv_p1 m_trackInfosCnv
TrackParticleContainerCnv_p1 m_mainConverter
Rec::TrackParticleContainer_tlp1m_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.

Detailed Description

Definition at line 106 of file TrackParticleContainerCnv_tlp1.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

◆ TrackParticleContainerCnv_tlp1()

TrackParticleContainerCnv_tlp1::TrackParticleContainerCnv_tlp1 ( )

Definition at line 8 of file TrackParticleContainerCnv_tlp1.cxx.

9{
10 // Add all converters defined in this top level converter.
11 // HEY YOU --- YES YOU --- READ THIS!!!!!!!
12 // NEVER change the order of the addTPConverter calls!
13 // NEVER delete an addTPConverter call!
14 // NEVER add an addTPConverter call in the middle --- only at the end!
15
17
18// addTPConverter( &m_trackParticleBaseCnv);
20
21// REMOVE LATER?
25
37
49
55
62
67
68 // Added with TrackParticleTPCnv-00-01-00
71
72//trackInfo
74
75 //Added with TrackParticleTPCnv-00-02-05
77
78 //Added with TrackParticleTPCnv-00-02-06
79
81
82 // HEY YOU --- YES YOU --- READ THE COMMENT AT THE START OF THIS FUNCTION!!!!
83
84// REMOVE LATER END
85}
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
MeasuredNeutralAtaDiscCnv_p1 m_measuredNeutralAtaDiscsCnv
MeasuredAtaStraightLineCnv_p1 m_measuredAtaStraightLinesCnv
MeasuredNeutralPerigeeCnv_p1 m_measuredNeutralPerigeeCnv
MeasuredNeutralAtaStraightLineCnv_p1 m_measuredNeutralAtaStraightLinesCnv
RotatedDiamondBoundsCnv_p1 m_rotatedDiamondBoundsCnv
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv
NeutralAtaStraightLineCnv_p1 m_neutralAtaStraightLinesCnv
MeasuredNeutralAtaPlaneCnv_p1 m_measuredNeutralAtaPlanesCnv
MeasuredNeutralAtaCylinderCnv_p1 m_measuredNeutralAtaCylindersCnv
MeasuredAtaCylinderCnv_p1 m_measuredAtaCylindersCnv

◆ ~TrackParticleContainerCnv_tlp1()

virtual TrackParticleContainerCnv_tlp1::~TrackParticleContainerCnv_tlp1 ( )
inlinevirtual

Definition at line 112 of file TrackParticleContainerCnv_tlp1.h.

112{}

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_p1, Rec::TrackParticleContainer_tlp1 >::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}
virtual void addExtTPConverterForReading(ITPConverter *cnv)
add extending TP converter to this top level converter - to the list consulted when reading only.
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_tlp1 >::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_tlp1 * TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::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_tlp1 * TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::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_tlp1 >::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_tlp1 *persObj) override=0

◆ createTransient()

TRANS * TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::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_p1, Rec::TrackParticleContainer_tlp1 >::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_tlp1 >::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_p1, Rec::TrackParticleContainer_tlp1 >::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_tlp1 >::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_tlp1 >::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_tlp1::getTokenListVar ( )
inlinevirtual

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_tlp1 >.

Definition at line 119 of file TrackParticleContainerCnv_tlp1.h.

◆ getTokenListVarFrom()

virtual TPCnvTokenList_p1 * TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp1 >::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_tlp1 >::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 & TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::persistentTInfo ( ) const
inlineoverridevirtualinherited

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

Returns
std::type_info&

Implements ITPCnvBase.

Definition at line 169 of file TopLevelTPConverter.h.

◆ persToTrans()

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::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 TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::persToTransUntyped ( const void * pers,
void * trans,
MsgStream & log )
inlineoverridevirtualinherited

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

Implements ITPCnvBase.

Definition at line 173 of file TopLevelTPConverter.h.

173 {
174 persToTrans( reinterpret_cast<const PERS*>(pers), reinterpret_cast<TRANS*>(trans), log );
175 }
virtual void persToTrans(const PERS *pers, TRANS *trans, MsgStream &msg)

◆ persToTransWithKeyUntyped()

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::persToTransWithKeyUntyped ( const void * pers,
void * trans,
const std::string & ,
MsgStream & log )
inlineoverridevirtualinherited

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 from ITPCnvBase.

Definition at line 183 of file TopLevelTPConverter.h.

187 {
188 persToTrans( reinterpret_cast<const PERS*>(pers), reinterpret_cast<TRANS*>(trans), log );
189 }

◆ 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_p1, Rec::TrackParticleContainer_tlp1 >::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_tlp1::setPStorage ( Rec::TrackParticleContainer_tlp1 * persObj)
virtual

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_p1, Rec::TrackParticleContainer_tlp1 >.

Definition at line 87 of file TrackParticleContainerCnv_tlp1.cxx.

88{
89// for implicit TrackCollection_p1 from the base class:
90 setMainCnvPStorage( &storage->m_trackParticleContainer );
91
92// for all converters defined in this top level converter
93 m_trackParticleCnv. setPStorage(&storage->m_trackParticle);
94
95// REMOVE LATER?
96// for all converters defined in this top level converter
97 m_trackParticleBaseCnv. setPStorage(&storage->m_trackParticleBase);
98 m_vxCandidateCnv. setPStorage(&storage->m_vxCandidates);
99 m_trackCnv. setPStorage(&storage->m_tracks);
100
101 m_trackParametersCnv.setPStorage(&storage->m_trackParameters);
102 m_perigeeCnv.setPStorage(&storage->m_perigees);
103 m_measuredPerigeeCnv.setPStorage(&storage->m_measPerigees);
104
105 m_measuredAtaDiscsCnv. setPStorage( &storage->m_measuredAtaSurfaces );
106 m_measuredAtaPlanesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
107 m_measuredAtaCylindersCnv. setPStorage( &storage->m_measuredAtaSurfaces );
108 m_measuredAtaStraightLinesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
109
110 m_ataDiscsCnv. setPStorage( &storage->m_ataSurfaces );
111 m_ataPlanesCnv. setPStorage( &storage->m_ataSurfaces );
112 m_ataCylindersCnv. setPStorage( &storage->m_ataSurfaces );
113 m_ataStraightLinesCnv. setPStorage( &storage->m_ataSurfaces );
114
115 m_neutralParametersCnv. setPStorage(&storage->m_trackParameters);
116 m_neutralPerigeeCnv. setPStorage(&storage->m_perigees);
117 m_measuredNeutralPerigeeCnv. setPStorage(&storage->m_measPerigees);
118
119 m_measuredNeutralAtaDiscsCnv. setPStorage( &storage->m_measuredAtaSurfaces );
120 m_measuredNeutralAtaPlanesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
121 m_measuredNeutralAtaCylindersCnv. setPStorage( &storage->m_measuredAtaSurfaces );
122 m_measuredNeutralAtaStraightLinesCnv. setPStorage( &storage->m_measuredAtaSurfaces );
123
124 m_neutralAtaDiscsCnv. setPStorage( &storage->m_ataSurfaces );
125 m_neutralAtaPlanesCnv. setPStorage( &storage->m_ataSurfaces );
126 m_neutralAtaCylindersCnv. setPStorage( &storage->m_ataSurfaces );
127 m_neutralAtaStraightLinesCnv. setPStorage( &storage->m_ataSurfaces );
128
129 m_perigeeSurfacesCnv.setPStorage(&storage->m_surfaces);
130 m_discSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
131 m_planeSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
132 m_cylinderSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
133 m_straightLineSurfacesCnv. setPStorage( &storage->m_boundSurfaces );
134 m_detElSurfCnv. setPStorage( &storage->m_detElementSurfaces );
135
136
137 m_surfacesCnv. setPStorage( &storage->m_surfaces );
138 m_cylinderBoundsCnv. setPStorage( &storage->m_cylinderBounds );
139 m_diamondBoundsCnv. setPStorage( &storage->m_diamondBounds );
140 m_rotatedDiamondBoundsCnv. setPStorage( &storage->m_rotatedDiamondBounds );
141 m_discBoundsCnv. setPStorage( &storage->m_discBounds );
142 m_rectangleBoundsCnv. setPStorage( &storage->m_rectangleBounds );
143 m_trapesoidBoundsCnv. setPStorage( &storage->m_trapesoidBounds );
144 m_rotatedTrapesoidBoundsCnv. setPStorage( &storage->m_rotatedTrapesoidBounds);
145
146 m_trackSummaryCnv. setPStorage(&storage->m_trackSummaries);
147 m_muonTrackSummaryCnv. setPStorage(&storage->m_muonTrackSummaries);
148
149 m_fitQualityCnv. setPStorage(&storage->m_fitQualities);
150 m_covarianceMatricesCnv. setPStorage(&storage->m_hepSymMatrices);
151 m_errorMatricesCnv. setPStorage(&storage->m_hepSymMatrices);
152 m_trackInfosCnv. setPStorage( &storage->m_trackInfos );
153// REMOVE LATER END
154
155
156
157}
virtual void setPStorage(Rec::TrackParticleContainer_tlp1 *storage)
A stub for a method that should be provided by the converter creator.

◆ setTLPersObject()

virtual void TopLevelTPCnvBaseP< Rec::TrackParticleContainer_tlp1 >::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 & TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::transientTInfo ( ) const
inlineoverridevirtualinherited

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

Returns
std::type_info&

Implements ITPCnvBase.

Definition at line 166 of file TopLevelTPConverter.h.

166{ return typeid(TRANS); }

◆ transToPers()

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::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 TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::transToPersUntyped ( const void * trans,
void * pers,
MsgStream & log )
inlineoverridevirtualinherited

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

Implements ITPCnvBase.

Definition at line 178 of file TopLevelTPConverter.h.

178 {
179 transToPers( reinterpret_cast<const TRANS*>(trans), reinterpret_cast<PERS*>(pers), log );
180 }
virtual void transToPers(const TRANS *trans, PERS *pers, MsgStream &msg)

◆ transToPersWithKeyUntyped()

virtual void TopLevelTPConverter< TrackParticleContainerCnv_p1, Rec::TrackParticleContainer_tlp1 >::transToPersWithKeyUntyped ( const void * trans,
void * pers,
const std::string & ,
MsgStream & log )
inlineoverridevirtualinherited

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 from ITPCnvBase.

Definition at line 192 of file TopLevelTPConverter.h.

196 {
197 transToPers( reinterpret_cast<const TRANS*>(trans), reinterpret_cast<PERS*>(pers), log );
198 }

Member Data Documentation

◆ m_ataCylindersCnv

AtaCylinderCnv_p1 TrackParticleContainerCnv_tlp1::m_ataCylindersCnv
protected

Definition at line 139 of file TrackParticleContainerCnv_tlp1.h.

◆ m_ataDiscsCnv

AtaDiscCnv_p1 TrackParticleContainerCnv_tlp1::m_ataDiscsCnv
protected

Definition at line 138 of file TrackParticleContainerCnv_tlp1.h.

◆ m_ataPlanesCnv

AtaPlaneCnv_p1 TrackParticleContainerCnv_tlp1::m_ataPlanesCnv
protected

Definition at line 140 of file TrackParticleContainerCnv_tlp1.h.

◆ m_ataStraightLinesCnv

AtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp1::m_ataStraightLinesCnv
protected

Definition at line 141 of file TrackParticleContainerCnv_tlp1.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_tlp1::m_covarianceMatricesCnv
protected

Definition at line 183 of file TrackParticleContainerCnv_tlp1.h.

◆ m_cylinderBoundsCnv

CylinderBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_cylinderBoundsCnv
protected

Definition at line 169 of file TrackParticleContainerCnv_tlp1.h.

◆ m_cylinderSurfacesCnv

CylinderSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_cylinderSurfacesCnv
protected

Definition at line 164 of file TrackParticleContainerCnv_tlp1.h.

◆ m_detElSurfCnv

DetElementSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_detElSurfCnv
protected

Definition at line 166 of file TrackParticleContainerCnv_tlp1.h.

◆ m_diamondBoundsCnv

DiamondBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_diamondBoundsCnv
protected

Definition at line 170 of file TrackParticleContainerCnv_tlp1.h.

◆ m_discBoundsCnv

DiscBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_discBoundsCnv
protected

Definition at line 172 of file TrackParticleContainerCnv_tlp1.h.

◆ m_discSurfacesCnv

DiscSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_discSurfacesCnv
protected

Definition at line 162 of file TrackParticleContainerCnv_tlp1.h.

◆ m_errorMatricesCnv

ErrorMatrixCnv_p1 TrackParticleContainerCnv_tlp1::m_errorMatricesCnv
protected

Definition at line 184 of file TrackParticleContainerCnv_tlp1.h.

◆ m_fitQualityCnv

FitQualityCnv_p1 TrackParticleContainerCnv_tlp1::m_fitQualityCnv
protected

Definition at line 182 of file TrackParticleContainerCnv_tlp1.h.

◆ m_mainConverter

◆ m_measuredAtaCylindersCnv

MeasuredAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredAtaCylindersCnv
protected

Definition at line 144 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredAtaDiscsCnv

MeasuredAtaDiscCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredAtaDiscsCnv
protected

Definition at line 143 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredAtaPlanesCnv

MeasuredAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredAtaPlanesCnv
protected

Definition at line 145 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredAtaStraightLinesCnv

MeasuredAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredAtaStraightLinesCnv
protected

Definition at line 146 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredNeutralAtaCylindersCnv

MeasuredNeutralAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredNeutralAtaCylindersCnv
protected

Definition at line 157 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredNeutralAtaDiscsCnv

MeasuredNeutralAtaDiscCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredNeutralAtaDiscsCnv
protected

Definition at line 156 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredNeutralAtaPlanesCnv

MeasuredNeutralAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredNeutralAtaPlanesCnv
protected

Definition at line 158 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredNeutralAtaStraightLinesCnv

MeasuredNeutralAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredNeutralAtaStraightLinesCnv
protected

Definition at line 159 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredNeutralPerigeeCnv

MeasuredNeutralPerigeeCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredNeutralPerigeeCnv
protected

Definition at line 155 of file TrackParticleContainerCnv_tlp1.h.

◆ m_measuredPerigeeCnv

MeasuredPerigeeCnv_p1 TrackParticleContainerCnv_tlp1::m_measuredPerigeeCnv
protected

Definition at line 142 of file TrackParticleContainerCnv_tlp1.h.

◆ m_muonTrackSummaryCnv

MuonTrackSummaryCnv_p1 TrackParticleContainerCnv_tlp1::m_muonTrackSummaryCnv
protected

Definition at line 179 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralAtaCylindersCnv

NeutralAtaCylinderCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralAtaCylindersCnv
protected

Definition at line 152 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralAtaDiscsCnv

NeutralAtaDiscCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralAtaDiscsCnv
protected

Definition at line 151 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralAtaPlanesCnv

NeutralAtaPlaneCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralAtaPlanesCnv
protected

Definition at line 153 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralAtaStraightLinesCnv

NeutralAtaStraightLineCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralAtaStraightLinesCnv
protected

Definition at line 154 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralParametersCnv

NeutralParametersCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralParametersCnv
protected

Definition at line 149 of file TrackParticleContainerCnv_tlp1.h.

◆ m_neutralPerigeeCnv

NeutralPerigeeCnv_p1 TrackParticleContainerCnv_tlp1::m_neutralPerigeeCnv
protected

Definition at line 150 of file TrackParticleContainerCnv_tlp1.h.

◆ m_perigeeCnv

PerigeeCnv_p1 TrackParticleContainerCnv_tlp1::m_perigeeCnv
protected

Definition at line 137 of file TrackParticleContainerCnv_tlp1.h.

◆ m_perigeeSurfacesCnv

PerigeeSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_perigeeSurfacesCnv
protected

Definition at line 161 of file TrackParticleContainerCnv_tlp1.h.

◆ m_planeSurfacesCnv

PlaneSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_planeSurfacesCnv
protected

Definition at line 163 of file TrackParticleContainerCnv_tlp1.h.

◆ m_rectangleBoundsCnv

RectangleBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_rectangleBoundsCnv
protected

Definition at line 173 of file TrackParticleContainerCnv_tlp1.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_tlp1::m_rotatedDiamondBoundsCnv
protected

Definition at line 171 of file TrackParticleContainerCnv_tlp1.h.

◆ m_rotatedTrapesoidBoundsCnv

RotatedTrapezoidBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_rotatedTrapesoidBoundsCnv
protected

Definition at line 175 of file TrackParticleContainerCnv_tlp1.h.

◆ m_straightLineSurfacesCnv

StraightLineSurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_straightLineSurfacesCnv
protected

Definition at line 165 of file TrackParticleContainerCnv_tlp1.h.

◆ m_surfacesCnv

SurfaceCnv_p1 TrackParticleContainerCnv_tlp1::m_surfacesCnv
protected

Definition at line 168 of file TrackParticleContainerCnv_tlp1.h.

◆ m_tlPersObject

The persistent object this conveter is working on.

Definition at line 128 of file TopLevelTPCnvBaseP.h.

◆ m_trackCnv

TrackCnv_p1 TrackParticleContainerCnv_tlp1::m_trackCnv
protected

Definition at line 132 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trackInfosCnv

TrackInfoCnv_p1 TrackParticleContainerCnv_tlp1::m_trackInfosCnv
protected

Definition at line 187 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trackParametersCnv

TrackParametersCnv_p1 TrackParticleContainerCnv_tlp1::m_trackParametersCnv
protected

Definition at line 136 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trackParticleBaseCnv

TrackParticleBaseCnv_p1 TrackParticleContainerCnv_tlp1::m_trackParticleBaseCnv
protected

Definition at line 129 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trackParticleCnv

TrackParticleCnv_p1 TrackParticleContainerCnv_tlp1::m_trackParticleCnv
protected

Definition at line 125 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trackSummaryCnv

TrackSummaryCnv_p1 TrackParticleContainerCnv_tlp1::m_trackSummaryCnv
protected

Definition at line 178 of file TrackParticleContainerCnv_tlp1.h.

◆ m_trapesoidBoundsCnv

TrapezoidBoundsCnv_p1 TrackParticleContainerCnv_tlp1::m_trapesoidBoundsCnv
protected

Definition at line 174 of file TrackParticleContainerCnv_tlp1.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.

◆ m_vxCandidateCnv

VxCandidateCnv_p1 TrackParticleContainerCnv_tlp1::m_vxCandidateCnv
protected

Definition at line 133 of file TrackParticleContainerCnv_tlp1.h.


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