ATLAS Offline Software
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
TrackCollectionCnv_tlp1 Class Referenceabstract

#include <TrackCollectionCnv_tlp1.h>

Inheritance diagram for TrackCollectionCnv_tlp1:
Collaboration diagram for TrackCollectionCnv_tlp1:

Public Types

typedef MAIN_CNV::Trans_t TRANS
 
typedef TL_PERS PERS
 
typedef Gaudi::PluginService::Factory< ITPCnvBase *()> Factory
 

Public Member Functions

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

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. More...
 
bool hasConvertersFrom (TopLevelTPCnvBase *cnv)
 Check if TP converters from a given top-level converter were already registered in this converter. More...
 

Protected Attributes

TrackCnv_p1 m_tracksCnv
 
ScatteringAngleOnTrackCnv_p1 m_scatterAnglesCnv
 
TrackStateOnSurfaceCnv_p1 m_trackStatesCnv
 
RIO_OnTrackCnv_p1 m_RIOsCnv
 
PseudoMeasurementOnTrackCnv_p1 m_pseudoMeasurementOnTrackCnv
 
MeasuredAtaDiscCnv_p1 m_measuredAtaDiscsCnv
 
MeasuredAtaCylinderCnv_p1 m_measuredAtaCylindersCnv
 
MeasuredAtaPlaneCnv_p1 m_measuredAtaPlanesCnv
 
MeasuredAtaStraightLineCnv_p1 m_measuredAtaStraightLinesCnv
 
AtaDiscCnv_p1 m_ataDiscsCnv
 
AtaCylinderCnv_p1 m_ataCylindersCnv
 
AtaPlaneCnv_p1 m_ataPlanesCnv
 
AtaStraightLineCnv_p1 m_ataStraightLinesCnv
 
PerigeeSurfaceCnv_p1 m_perigeeSurfacesCnv
 
PerigeeCnv_p1 m_perigeesCnv
 
MeasuredPerigeeCnv_p1 m_measuredPerigeesCnv
 
TrackParametersCnv_p1 m_parametersCnv
 
DiscSurfaceCnv_p1 m_discSurfacesCnv
 
PlaneSurfaceCnv_p1 m_planeSurfacesCnv
 
CylinderSurfaceCnv_p1 m_cylinderSurfacesCnv
 
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv
 
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
 
FitQualityCnv_p1 m_fitQualitiesCnv
 
CovarianceMatrixCnv_p1 m_covarianceMatricesCnv
 
ErrorMatrixCnv_p1 m_errorMatricesCnv
 
MaterialEffectsOnTrackCnv_p1 m_materialEffectsCnv
 
LocalDirectionCnv_p1 m_localDirectionsCnv
 
LocalPositionCnv_p1 m_localPositionsCnv
 
LocalParametersCnv_p1 m_localParametersCnv
 
CompetingRIOsOnTrackCnv_p1 m_crotCnv
 
MAIN_CNV m_mainConverter
 
TL_PERS * m_tlPersObject
 The persistent object this conveter is working on. More...
 
convIdMap_t m_convIdMap
 Map of elemental TP converters indexed by their ID - used for reading. More...
 
TPConverterTypeMap< ITPConverterm_converters
 Map of elemental TP converters indexed by transient typeid - used for writing. More...
 
std::set< TopLevelTPCnvBase * > m_registeredTLConverters
 Set top-level converters from which elemental TP converters were registered. More...
 
unsigned m_typeIDCount
 Counter used to create typed IDs used in the transient Ref. More...
 

Private Member Functions

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

Detailed Description

Definition at line 52 of file TrackCollectionCnv_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

template<class MAIN_CNV , class TL_PERS >
typedef TL_PERS TopLevelTPConverter< MAIN_CNV, TL_PERS >::PERS
inherited

Definition at line 38 of file TopLevelTPConverter.h.

◆ TRANS

template<class MAIN_CNV , class TL_PERS >
typedef MAIN_CNV::Trans_t TopLevelTPConverter< MAIN_CNV, TL_PERS >::TRANS
inherited

Definition at line 37 of file TopLevelTPConverter.h.

Constructor & Destructor Documentation

◆ TrackCollectionCnv_tlp1()

TrackCollectionCnv_tlp1::TrackCollectionCnv_tlp1 ( )

Definition at line 8 of file TrackCollectionCnv_tlp1.cxx.

9 {
10  // Add all converters defined in this top level converter:
11  // never change the order of adding converters!
13 
17 
20 
25 
30 
35 
41 
47 
55 
57 }

◆ ~TrackCollectionCnv_tlp1()

virtual TrackCollectionCnv_tlp1::~TrackCollectionCnv_tlp1 ( )
inlinevirtual

Definition at line 58 of file TrackCollectionCnv_tlp1.h.

58 {}

Member Function Documentation

◆ addExtTPConverterForReading()

void TopLevelTPCnvBase::addExtTPConverterForReading ( ITPConverter cnv)
virtualinherited

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 47 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 }

◆ addMainTPConverter()

template<class MAIN_CNV , class TL_PERS >
void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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.

146 { this->addTPConverter( &m_mainConverter ); }

◆ 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 11 of file TopLevelTPCnvBase.cxx.

12 {
13  addTPConverterForWriting( converter );
14  addTPConverterForReading( converter );
15 }

◆ addTPConverterForReading()

void TopLevelTPCnvBase::addTPConverterForReading ( ITPConverter cnv)
virtualinherited

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 19 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
25  m_convIdMap[ full_typeID.value() ] = converter;
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 33 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
37  const std::type_info &info( converter->transientTInfo() );
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 }

◆ addTPConvertersForReadingTo()

void TopLevelTPCnvBase::addTPConvertersForReadingTo ( TopLevelTPCnvBase dest)
virtualinherited

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 78 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 ) {
87  cnv->addExtTPConverterForReading( itr->second );
88  }
89  // prevent attempts to add the same converters again
90  cnv->rememberConverter( this );
91 }

◆ addTPConvertersTo()

void TopLevelTPCnvBase::addTPConvertersTo ( TopLevelTPCnvBase dest)
virtualinherited

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 60 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
68  cnv->addTPConverterForWriting( itr->second );
69  }
70  // add the convterter for reading
71  cnv->addExtTPConverterForReading( itr->second );
72  }
73  // prevent adding of the same converter again
74  cnv->rememberConverter( this );
75 }

◆ clearTLPersObject()

template<class TL_PERS >
virtual void TopLevelTPCnvBaseP< TL_PERS >::clearTLPersObject ( )
inlineoverridevirtualinherited

Discard the persistent object.

Implements TopLevelTPCnvBase.

Definition at line 99 of file TopLevelTPCnvBaseP.h.

99  {
100  m_tlPersObject = 0;
101  }

◆ converterForRef()

ITPConverter* TopLevelTPCnvBase::converterForRef ( const TPObjRef ref) const
inlineinherited

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  {
82  }

◆ createPersistent()

template<class MAIN_CNV , class TL_PERS >
virtual TL_PERS* TopLevelTPConverter< MAIN_CNV, TL_PERS >::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

Reimplemented in SegmentCollectionCnv_tlp4.

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()

template<class MAIN_CNV , class TL_PERS >
virtual TL_PERS* TopLevelTPConverter< MAIN_CNV, TL_PERS >::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

Reimplemented in TrackCollectionCnv_tlp7, and TrackCollectionCnv_tlp6.

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()

template<class TL_PERS >
virtual void TopLevelTPCnvBaseP< TL_PERS >::createTLPersObject ( )
inlineoverridevirtualinherited

Create persistent object - the converter keeps it.

Implements TopLevelTPCnvBase.

Definition at line 57 of file TopLevelTPCnvBaseP.h.

57  {
58  m_tlPersObject = new TL_PERS();
60  }

◆ createTransient() [1/2]

template<class MAIN_CNV , class TL_PERS >
virtual TRANS* TopLevelTPConverter< MAIN_CNV, TL_PERS >::createTransient ( const TL_PERS *  persObj,
MsgStream &  log 
)
inlinevirtualinherited

Create transient representation of persObj.

NOTE: usually this method will not delete persObj and the user needs to do it himself. However, if ownership was somehow passed to the converter earlier, then the object will be deleted.

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

Definition at line 96 of file TopLevelTPConverter.h.

96  {
97  // FIXME: TPConverter uses the same non-const member m_pStorage
98  // for both reading and writing, but we want it to be const
99  // in the former case.
100  TL_PERS* pers_nc ATLAS_THREAD_SAFE = const_cast<TL_PERS*>(persObj);
101  setPStorage( pers_nc );
102  return createTransient( log );
103  }

◆ createTransient() [2/2]

template<class MAIN_CNV , class TL_PERS >
TRANS* TopLevelTPConverter< MAIN_CNV, TL_PERS >::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()

template<class MAIN_CNV , class TL_PERS >
TRANS* TopLevelTPConverter< MAIN_CNV, TL_PERS >::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()

template<class TL_PERS >
virtual void TopLevelTPCnvBaseP< TL_PERS >::deleteTLPersObject ( )
inlineoverridevirtualinherited

Delete the persistent object owned by the converter.

Implements TopLevelTPCnvBase.

Definition at line 64 of file TopLevelTPCnvBaseP.h.

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

◆ getConverterID()

template<class MAIN_CNV , class TL_PERS >
virtual unsigned short TopLevelTPConverter< MAIN_CNV, TL_PERS >::getConverterID ( )
inlineoverridevirtualinherited

Returns this converter's ID.

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

Returns
this converter's ID

Implements TopLevelTPCnvBase.

Reimplemented in V0ContainerCnv_tlp1, V0ContainerCnv_tlp2, MVFVxContainerCnv_tlp1, and MuonCaloEnergyContainerCnv_tlp1.

Definition at line 159 of file TopLevelTPConverter.h.

159 { return 0; }

◆ getTLPersObject() [1/2]

template<class TL_PERS >
TL_PERS* TopLevelTPCnvBaseP< TL_PERS >::getTLPersObject ( )
inlineinherited
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]

template<class TL_PERS >
const TL_PERS* TopLevelTPCnvBaseP< TL_PERS >::getTLPersObject ( ) const
inlineinherited
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]

template<class TL_PERS >
virtual const void* TopLevelTPCnvBaseP< TL_PERS >::getTLPersObjectAsVoid ( ) const
inlineoverridevirtualinherited

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

Implements TopLevelTPCnvBase.

Definition at line 94 of file TopLevelTPCnvBaseP.h.

94  {
95  return getTLPersObject();
96  }

◆ getTLPersObjectAsVoid() [2/2]

template<class TL_PERS >
virtual void* TopLevelTPCnvBaseP< TL_PERS >::getTLPersObjectAsVoid ( )
inlineoverridevirtualinherited

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

Implements TopLevelTPCnvBase.

Definition at line 89 of file TopLevelTPCnvBaseP.h.

89  {
90  return getTLPersObject();
91  }

◆ getTokenListVar()

virtual TPCnvTokenList_p1* TrackCollectionCnv_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< TL_PERS >.

Definition at line 64 of file TrackCollectionCnv_tlp1.h.

64 { return &(getTLPersObject()->m_tokenList); }

◆ getTokenListVarFrom()

template<class TL_PERS >
virtual TPCnvTokenList_p1* TopLevelTPCnvBaseP< TL_PERS >::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

Implements TopLevelTPCnvBase.

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)
118  TL_PERS *tmp = m_tlPersObject;
119  m_tlPersObject = reinterpret_cast<TL_PERS*>( persObj );
120  TPCnvTokenList_p1 *toklist = getTokenListVar();
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.

167  {
168  return m_registeredTLConverters.find(cnv) != m_registeredTLConverters.end();
169  }

◆ hasTLPersObject()

template<class TL_PERS >
virtual bool TopLevelTPCnvBaseP< TL_PERS >::hasTLPersObject ( ) const
inlineoverridevirtualinherited

Returns true if the converter has a persistent object.

Implements TopLevelTPCnvBase.

Definition at line 52 of file TopLevelTPCnvBaseP.h.

52  {
53  return m_tlPersObject;
54  }

◆ persistentTInfo()

template<class MAIN_CNV , class TL_PERS >
virtual const std::type_info& TopLevelTPConverter< MAIN_CNV, TL_PERS >::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.

169 { return typeid(PERS); }

◆ persToTrans()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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.
205  TL_PERS* pers_nc ATLAS_THREAD_SAFE = const_cast<TL_PERS*>(pers);
206  setPStorage( pers_nc );
207  m_mainConverter.pstoreToTrans (0, trans, msg);
208  }

◆ persToTransUntyped()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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  }

◆ persToTransWithKeyUntyped()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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()

template<class TL_PERS >
TL_PERS* TopLevelTPCnvBaseP< TL_PERS >::releaseTLPersObject ( )
inlineinherited

@release the persistent object from this converter

Definition at line 82 of file TopLevelTPCnvBaseP.h.

82  {
83  TL_PERS *tmp = m_tlPersObject;
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  {
158  m_registeredTLConverters.insert(cnv);
159  }

◆ setMainCnvPStorage()

template<class MAIN_CNV , class TL_PERS >
template<typename STORAGE >
void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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() [1/2]

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::setPStorage ( TL_PERS *  persObj)
overridepure 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 TopLevelTPCnvBaseP< TL_PERS >.

Implemented in TrackCollectionCnv_tlp7, TrackCollectionCnv_tlp6, and SegmentCollectionCnv_tlp4.

◆ setPStorage() [2/2]

void TrackCollectionCnv_tlp1::setPStorage ( Trk::TrackCollection_tlp1 storage)
virtual

Definition at line 61 of file TrackCollectionCnv_tlp1.cxx.

62 {
63  // for implicit TrackCollection_p1 from the base class:
65 
66  // for all converters defined in this top level converter
67  m_tracksCnv. setPStorage( &storage->m_tracks );
70 
71  m_RIOsCnv. setPStorage( &storage->m_RIOs );
73 
78 
83 
86  m_perigeesCnv. setPStorage( &storage->m_perigees );
88 
93 
94  m_surfacesCnv. setPStorage( &storage->m_surfaces );
100 
109 }

◆ setTLPersObject()

template<class TL_PERS >
virtual void TopLevelTPCnvBaseP< TL_PERS >::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*

Implements TopLevelTPCnvBase.

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()

template<class MAIN_CNV , class TL_PERS >
virtual const std::type_info& TopLevelTPConverter< MAIN_CNV, TL_PERS >::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()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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  }

◆ transToPersWithKeyUntyped()

template<class MAIN_CNV , class TL_PERS >
virtual void TopLevelTPConverter< MAIN_CNV, TL_PERS >::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 TrackCollectionCnv_tlp1::m_ataCylindersCnv
protected

Definition at line 81 of file TrackCollectionCnv_tlp1.h.

◆ m_ataDiscsCnv

AtaDiscCnv_p1 TrackCollectionCnv_tlp1::m_ataDiscsCnv
protected

Definition at line 80 of file TrackCollectionCnv_tlp1.h.

◆ m_ataPlanesCnv

AtaPlaneCnv_p1 TrackCollectionCnv_tlp1::m_ataPlanesCnv
protected

Definition at line 82 of file TrackCollectionCnv_tlp1.h.

◆ m_ataStraightLinesCnv

AtaStraightLineCnv_p1 TrackCollectionCnv_tlp1::m_ataStraightLinesCnv
protected

Definition at line 83 of file TrackCollectionCnv_tlp1.h.

◆ m_converters

TPConverterTypeMap< ITPConverter > TopLevelTPCnvBase::m_converters
protectedinherited

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

Definition at line 180 of file TopLevelTPCnvBase.h.

◆ m_convIdMap

convIdMap_t TopLevelTPCnvBase::m_convIdMap
protectedinherited

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

Definition at line 177 of file TopLevelTPCnvBase.h.

◆ m_covarianceMatricesCnv

CovarianceMatrixCnv_p1 TrackCollectionCnv_tlp1::m_covarianceMatricesCnv
protected

Definition at line 103 of file TrackCollectionCnv_tlp1.h.

◆ m_crotCnv

CompetingRIOsOnTrackCnv_p1 TrackCollectionCnv_tlp1::m_crotCnv
protected

Definition at line 110 of file TrackCollectionCnv_tlp1.h.

◆ m_cylinderBoundsCnv

CylinderBoundsCnv_p1 TrackCollectionCnv_tlp1::m_cylinderBoundsCnv
protected

Definition at line 95 of file TrackCollectionCnv_tlp1.h.

◆ m_cylinderSurfacesCnv

CylinderSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_cylinderSurfacesCnv
protected

Definition at line 91 of file TrackCollectionCnv_tlp1.h.

◆ m_diamondBoundsCnv

DiamondBoundsCnv_p1 TrackCollectionCnv_tlp1::m_diamondBoundsCnv
protected

Definition at line 96 of file TrackCollectionCnv_tlp1.h.

◆ m_discBoundsCnv

DiscBoundsCnv_p1 TrackCollectionCnv_tlp1::m_discBoundsCnv
protected

Definition at line 98 of file TrackCollectionCnv_tlp1.h.

◆ m_discSurfacesCnv

DiscSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_discSurfacesCnv
protected

Definition at line 89 of file TrackCollectionCnv_tlp1.h.

◆ m_errorMatricesCnv

ErrorMatrixCnv_p1 TrackCollectionCnv_tlp1::m_errorMatricesCnv
protected

Definition at line 104 of file TrackCollectionCnv_tlp1.h.

◆ m_fitQualitiesCnv

FitQualityCnv_p1 TrackCollectionCnv_tlp1::m_fitQualitiesCnv
protected

Definition at line 102 of file TrackCollectionCnv_tlp1.h.

◆ m_localDirectionsCnv

LocalDirectionCnv_p1 TrackCollectionCnv_tlp1::m_localDirectionsCnv
protected

Definition at line 106 of file TrackCollectionCnv_tlp1.h.

◆ m_localParametersCnv

LocalParametersCnv_p1 TrackCollectionCnv_tlp1::m_localParametersCnv
protected

Definition at line 108 of file TrackCollectionCnv_tlp1.h.

◆ m_localPositionsCnv

LocalPositionCnv_p1 TrackCollectionCnv_tlp1::m_localPositionsCnv
protected

Definition at line 107 of file TrackCollectionCnv_tlp1.h.

◆ m_mainConverter

template<class MAIN_CNV , class TL_PERS >
MAIN_CNV TopLevelTPConverter< MAIN_CNV, TL_PERS >::m_mainConverter
protectedinherited

Definition at line 217 of file TopLevelTPConverter.h.

◆ m_materialEffectsCnv

MaterialEffectsOnTrackCnv_p1 TrackCollectionCnv_tlp1::m_materialEffectsCnv
protected

Definition at line 105 of file TrackCollectionCnv_tlp1.h.

◆ m_measuredAtaCylindersCnv

MeasuredAtaCylinderCnv_p1 TrackCollectionCnv_tlp1::m_measuredAtaCylindersCnv
protected

Definition at line 77 of file TrackCollectionCnv_tlp1.h.

◆ m_measuredAtaDiscsCnv

MeasuredAtaDiscCnv_p1 TrackCollectionCnv_tlp1::m_measuredAtaDiscsCnv
protected

Definition at line 76 of file TrackCollectionCnv_tlp1.h.

◆ m_measuredAtaPlanesCnv

MeasuredAtaPlaneCnv_p1 TrackCollectionCnv_tlp1::m_measuredAtaPlanesCnv
protected

Definition at line 78 of file TrackCollectionCnv_tlp1.h.

◆ m_measuredAtaStraightLinesCnv

MeasuredAtaStraightLineCnv_p1 TrackCollectionCnv_tlp1::m_measuredAtaStraightLinesCnv
protected

Definition at line 79 of file TrackCollectionCnv_tlp1.h.

◆ m_measuredPerigeesCnv

MeasuredPerigeeCnv_p1 TrackCollectionCnv_tlp1::m_measuredPerigeesCnv
protected

Definition at line 86 of file TrackCollectionCnv_tlp1.h.

◆ m_parametersCnv

TrackParametersCnv_p1 TrackCollectionCnv_tlp1::m_parametersCnv
protected

Definition at line 87 of file TrackCollectionCnv_tlp1.h.

◆ m_perigeesCnv

PerigeeCnv_p1 TrackCollectionCnv_tlp1::m_perigeesCnv
protected

Definition at line 85 of file TrackCollectionCnv_tlp1.h.

◆ m_perigeeSurfacesCnv

PerigeeSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_perigeeSurfacesCnv
protected

Definition at line 84 of file TrackCollectionCnv_tlp1.h.

◆ m_planeSurfacesCnv

PlaneSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_planeSurfacesCnv
protected

Definition at line 90 of file TrackCollectionCnv_tlp1.h.

◆ m_pseudoMeasurementOnTrackCnv

PseudoMeasurementOnTrackCnv_p1 TrackCollectionCnv_tlp1::m_pseudoMeasurementOnTrackCnv
protected

Definition at line 74 of file TrackCollectionCnv_tlp1.h.

◆ m_rectangleBoundsCnv

RectangleBoundsCnv_p1 TrackCollectionCnv_tlp1::m_rectangleBoundsCnv
protected

Definition at line 99 of file TrackCollectionCnv_tlp1.h.

◆ m_registeredTLConverters

std::set<TopLevelTPCnvBase*> TopLevelTPCnvBase::m_registeredTLConverters
protectedinherited

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

Definition at line 184 of file TopLevelTPCnvBase.h.

◆ m_RIOsCnv

RIO_OnTrackCnv_p1 TrackCollectionCnv_tlp1::m_RIOsCnv
protected

Definition at line 73 of file TrackCollectionCnv_tlp1.h.

◆ m_rotatedDiamondBoundsCnv

RotatedDiamondBoundsCnv_p1 TrackCollectionCnv_tlp1::m_rotatedDiamondBoundsCnv
protected

Definition at line 97 of file TrackCollectionCnv_tlp1.h.

◆ m_scatterAnglesCnv

ScatteringAngleOnTrackCnv_p1 TrackCollectionCnv_tlp1::m_scatterAnglesCnv
protected

Definition at line 70 of file TrackCollectionCnv_tlp1.h.

◆ m_straightLineSurfacesCnv

StraightLineSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_straightLineSurfacesCnv
protected

Definition at line 92 of file TrackCollectionCnv_tlp1.h.

◆ m_surfacesCnv

SurfaceCnv_p1 TrackCollectionCnv_tlp1::m_surfacesCnv
protected

Definition at line 94 of file TrackCollectionCnv_tlp1.h.

◆ m_tlPersObject

template<class TL_PERS >
TL_PERS* TopLevelTPCnvBaseP< TL_PERS >::m_tlPersObject
protectedinherited

The persistent object this conveter is working on.

Definition at line 128 of file TopLevelTPCnvBaseP.h.

◆ m_tracksCnv

TrackCnv_p1 TrackCollectionCnv_tlp1::m_tracksCnv
protected

Definition at line 69 of file TrackCollectionCnv_tlp1.h.

◆ m_trackStatesCnv

TrackStateOnSurfaceCnv_p1 TrackCollectionCnv_tlp1::m_trackStatesCnv
protected

Definition at line 71 of file TrackCollectionCnv_tlp1.h.

◆ m_trapesoidBoundsCnv

TrapezoidBoundsCnv_p1 TrackCollectionCnv_tlp1::m_trapesoidBoundsCnv
protected

Definition at line 100 of file TrackCollectionCnv_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.


The documentation for this class was generated from the following files:
grepfile.info
info
Definition: grepfile.py:38
TrackCollectionCnv_tlp1::m_cylinderSurfacesCnv
CylinderSurfaceCnv_p1 m_cylinderSurfacesCnv
Definition: TrackCollectionCnv_tlp1.h:91
TrackCollectionCnv_tlp1::m_straightLineSurfacesCnv
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv
Definition: TrackCollectionCnv_tlp1.h:92
TopLevelTPConverter::setPStorage
virtual void setPStorage(TL_PERS *persObj) override=0
A stub for a method that should be provided by the converter creator.
TopLevelTPConverter::PERS
TL_PERS PERS
Definition: TopLevelTPConverter.h:38
TPConverterTypeMap::findConverter
CONVERTER_BASE * findConverter(const std::type_info &objTypeInfo) const
Find converter for a given C++ type info.
Definition: TPTools/TPTools/ITPConverter.h:150
TPCnvTokenList_p1
Definition: TPCnvTokenList_p1.h:55
Trk::TrackCollection_tlp1::m_RIOs
std::vector< Trk::RIO_OnTrack_p1 > m_RIOs
Definition: TrackCollection_tlp1.h:83
TopLevelTPCnvBase::getConverterID
virtual unsigned short getConverterID()=0
Trk::TrackCollection_tlp1::m_competingRotsOnTrack
std::vector< Trk::CompetingRIOsOnTrack_p1 > m_competingRotsOnTrack
Definition: TrackCollection_tlp1.h:85
Trk::TrackCollection_tlp1::m_ataSurfaces
std::vector< Trk::AtaSurface_p1 > m_ataSurfaces
Definition: TrackCollection_tlp1.h:88
TrackCollectionCnv_tlp1::m_cylinderBoundsCnv
CylinderBoundsCnv_p1 m_cylinderBoundsCnv
Definition: TrackCollectionCnv_tlp1.h:95
TrackCollectionCnv_tlp1::m_RIOsCnv
RIO_OnTrackCnv_p1 m_RIOsCnv
Definition: TrackCollectionCnv_tlp1.h:73
Trk::TrackCollection_tlp1::m_localPositions
std::vector< Trk::LocalPosition_p1 > m_localPositions
Definition: TrackCollection_tlp1.h:106
TrackCollectionCnv_tlp1::m_materialEffectsCnv
MaterialEffectsOnTrackCnv_p1 m_materialEffectsCnv
Definition: TrackCollectionCnv_tlp1.h:105
Trk::TrackCollection_tlp1::m_measuredAtaSurfaces
std::vector< Trk::MeasuredAtaSurface_p1 > m_measuredAtaSurfaces
Definition: TrackCollection_tlp1.h:89
TrackCollectionCnv_tlp1::m_perigeeSurfacesCnv
PerigeeSurfaceCnv_p1 m_perigeeSurfacesCnv
Definition: TrackCollectionCnv_tlp1.h:84
Trk::TrackCollection_tlp1::m_hepSymMatrices
std::vector< Trk::HepSymMatrix_p1 > m_hepSymMatrices
Definition: TrackCollection_tlp1.h:103
TrackCollectionCnv_tlp1::m_ataDiscsCnv
AtaDiscCnv_p1 m_ataDiscsCnv
Definition: TrackCollectionCnv_tlp1.h:80
Trk::TrackCollection_tlp1::m_trapesoidBounds
std::vector< Trk::TrapezoidBounds_p1 > m_trapesoidBounds
Definition: TrackCollection_tlp1.h:100
TopLevelTPConverter::addMainTPConverter
void addMainTPConverter()
Add the main TP converter to the internal list - should be called from user-defined constructor.
Definition: TopLevelTPConverter.h:146
TopLevelTPCnvBase::m_registeredTLConverters
std::set< TopLevelTPCnvBase * > m_registeredTLConverters
Set top-level converters from which elemental TP converters were registered.
Definition: TopLevelTPCnvBase.h:184
TrackCollectionCnv_tlp1::m_errorMatricesCnv
ErrorMatrixCnv_p1 m_errorMatricesCnv
Definition: TrackCollectionCnv_tlp1.h:104
TrackCollectionCnv_tlp1::m_trackStatesCnv
TrackStateOnSurfaceCnv_p1 m_trackStatesCnv
Definition: TrackCollectionCnv_tlp1.h:71
TopLevelTPConverter::TRANS
MAIN_CNV::Trans_t TRANS
Definition: TopLevelTPConverter.h:37
TopLevelTPCnvBaseP::getTokenListVar
virtual TPCnvTokenList_p1 * getTokenListVar() override
Return the list of tokens to the objects extending the object owned by this converter.
Definition: TopLevelTPCnvBaseP.h:112
TopLevelTPCnvBaseP::getTLPersObject
TL_PERS * getTLPersObject()
Definition: TopLevelTPCnvBaseP.h:72
TrackCollectionCnv_tlp1::m_diamondBoundsCnv
DiamondBoundsCnv_p1 m_diamondBoundsCnv
Definition: TrackCollectionCnv_tlp1.h:96
TrackCollectionCnv_tlp1::m_measuredAtaCylindersCnv
MeasuredAtaCylinderCnv_p1 m_measuredAtaCylindersCnv
Definition: TrackCollectionCnv_tlp1.h:77
Trk::TrackCollection_tlp1::m_perigees
std::vector< Trk::Perigee_p1 > m_perigees
Definition: TrackCollection_tlp1.h:90
TrackCollectionCnv_tlp1::m_covarianceMatricesCnv
CovarianceMatrixCnv_p1 m_covarianceMatricesCnv
Definition: TrackCollectionCnv_tlp1.h:103
TopLevelTPCnvBase::addTPConverter
virtual void addTPConverter(ITPConverter *cnv)
Add a TP converter to this top level converter.
Definition: TopLevelTPCnvBase.cxx:11
TrackCollectionCnv_tlp1::m_measuredAtaPlanesCnv
MeasuredAtaPlaneCnv_p1 m_measuredAtaPlanesCnv
Definition: TrackCollectionCnv_tlp1.h:78
TopLevelTPCnvBase::addTPConverterForReading
virtual void addTPConverterForReading(ITPConverter *cnv)
Add a TP converter to this top level converter but only for reading.
Definition: TopLevelTPCnvBase.cxx:19
TrackCollectionCnv_tlp1::m_planeSurfacesCnv
PlaneSurfaceCnv_p1 m_planeSurfacesCnv
Definition: TrackCollectionCnv_tlp1.h:90
Trk::TrackCollection_tlp1::m_diamondBounds
std::vector< Trk::DiamondBounds_p1 > m_diamondBounds
Definition: TrackCollection_tlp1.h:96
TrackCollectionCnv_tlp1::m_parametersCnv
TrackParametersCnv_p1 m_parametersCnv
Definition: TrackCollectionCnv_tlp1.h:87
TopLevelTPConverter::createTransient
TRANS * createTransient(MsgStream &log)
Create transient representation of the persistent object known to this converter.
Definition: TopLevelTPConverter.h:62
TopLevelTPCnvBaseP::deleteTLPersObject
virtual void deleteTLPersObject() override
Delete the persistent object owned by the converter.
Definition: TopLevelTPCnvBaseP.h:64
TopLevelTPCnvBaseP::clearTLPersObject
virtual void clearTLPersObject() override
Discard the persistent object.
Definition: TopLevelTPCnvBaseP.h:99
TopLevelTPConverter::m_mainConverter
MAIN_CNV m_mainConverter
Definition: TopLevelTPConverter.h:217
Trk::TrackCollection_tlp1::m_pseudoMeasurementOnTrack
std::vector< Trk::PseudoMeasurementOnTrack_p1 > m_pseudoMeasurementOnTrack
Definition: TrackCollection_tlp1.h:84
Trk::TrackCollection_tlp1::m_measuredPerigees
std::vector< Trk::MeasuredPerigee_p1 > m_measuredPerigees
Definition: TrackCollection_tlp1.h:91
ret
T ret(T t)
Definition: rootspy.cxx:260
Trk::TrackCollection_tlp1::m_localDirections
std::vector< Trk::LocalDirection_p1 > m_localDirections
Definition: TrackCollection_tlp1.h:105
TopLevelTPCnvBaseP::setPStorage
virtual void setPStorage(TL_PERS *persObj)=0
A stub for a method that should be provided by the converter creator.
TopLevelTPConverter::persToTrans
virtual void persToTrans(const PERS *pers, TRANS *trans, MsgStream &msg)
Definition: TopLevelTPConverter.h:201
Trk::TrackCollection_tlp1::m_rectangleBounds
std::vector< Trk::RectangleBounds_p1 > m_rectangleBounds
Definition: TrackCollection_tlp1.h:99
TopLevelTPCnvBase::m_typeIDCount
unsigned m_typeIDCount
Counter used to create typed IDs used in the transient Ref.
Definition: TopLevelTPCnvBase.h:187
Trk::TrackCollection_tlp1::m_scatterAngles
std::vector< Trk::ScatteringAngleOnTrack_p1 > m_scatterAngles
Definition: TrackCollection_tlp1.h:80
TrackCollectionCnv_tlp1::m_fitQualitiesCnv
FitQualityCnv_p1 m_fitQualitiesCnv
Definition: TrackCollectionCnv_tlp1.h:102
TrackCollectionCnv_tlp1::m_ataCylindersCnv
AtaCylinderCnv_p1 m_ataCylindersCnv
Definition: TrackCollectionCnv_tlp1.h:81
TrackCollectionCnv_tlp1::m_localPositionsCnv
LocalPositionCnv_p1 m_localPositionsCnv
Definition: TrackCollectionCnv_tlp1.h:107
TrackCollectionCnv_tlp1::m_localDirectionsCnv
LocalDirectionCnv_p1 m_localDirectionsCnv
Definition: TrackCollectionCnv_tlp1.h:106
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
Trk::TrackCollection_tlp1::m_surfaces
std::vector< Trk::Surface_p1 > m_surfaces
Definition: TrackCollection_tlp1.h:94
TrackCollectionCnv_tlp1::m_rectangleBoundsCnv
RectangleBoundsCnv_p1 m_rectangleBoundsCnv
Definition: TrackCollectionCnv_tlp1.h:99
TrackCollectionCnv_tlp1::m_discSurfacesCnv
DiscSurfaceCnv_p1 m_discSurfacesCnv
Definition: TrackCollectionCnv_tlp1.h:89
Trk::TrackCollection_tlp1::m_trackCollections
std::vector< Trk::TrackCollection_p1 > m_trackCollections
Definition: TrackCollection_tlp1.h:78
TopLevelTPCnvBase::m_converters
TPConverterTypeMap< ITPConverter > m_converters
Map of elemental TP converters indexed by transient typeid - used for writing.
Definition: TopLevelTPCnvBase.h:180
TrackCollectionCnv_tlp1::m_discBoundsCnv
DiscBoundsCnv_p1 m_discBoundsCnv
Definition: TrackCollectionCnv_tlp1.h:98
Trk::TrackCollection_tlp1::m_trackStates
std::vector< Trk::TrackStateOnSurface_p1 > m_trackStates
Definition: TrackCollection_tlp1.h:81
TrackCollectionCnv_tlp1::m_trapesoidBoundsCnv
TrapezoidBoundsCnv_p1 m_trapesoidBoundsCnv
Definition: TrackCollectionCnv_tlp1.h:100
TrackCollectionCnv_tlp1::m_pseudoMeasurementOnTrackCnv
PseudoMeasurementOnTrackCnv_p1 m_pseudoMeasurementOnTrackCnv
Definition: TrackCollectionCnv_tlp1.h:74
TrackCollectionCnv_tlp1::m_crotCnv
CompetingRIOsOnTrackCnv_p1 m_crotCnv
Definition: TrackCollectionCnv_tlp1.h:110
RpcSectorLogicContainer_p1
Class to represent.
Definition: RpcSectorLogicContainer_p1.h:19
TrackCollectionCnv_tlp1::m_localParametersCnv
LocalParametersCnv_p1 m_localParametersCnv
Definition: TrackCollectionCnv_tlp1.h:108
TrackCollectionCnv_tlp1::m_perigeesCnv
PerigeeCnv_p1 m_perigeesCnv
Definition: TrackCollectionCnv_tlp1.h:85
Trk::TrackCollection_tlp1::m_tracks
std::vector< Trk::Track_p1 > m_tracks
Definition: TrackCollection_tlp1.h:79
Trk::TrackCollection_tlp1::m_parameters
std::vector< Trk::TrackParameters_p1 > m_parameters
Definition: TrackCollection_tlp1.h:87
Trk::TrackCollection_tlp1::m_boundSurfaces
std::vector< Trk::BoundSurface_p1 > m_boundSurfaces
Definition: TrackCollection_tlp1.h:93
TopLevelTPCnvBaseP::m_tlPersObject
TL_PERS * m_tlPersObject
The persistent object this conveter is working on.
Definition: TopLevelTPCnvBaseP.h:128
TrackCollectionCnv_tlp1::m_scatterAnglesCnv
ScatteringAngleOnTrackCnv_p1 m_scatterAnglesCnv
Definition: TrackCollectionCnv_tlp1.h:70
Trk::TrackCollection_tlp1::m_localParameters
std::vector< Trk::LocalParameters_p1 > m_localParameters
Definition: TrackCollection_tlp1.h:107
TrackCollectionCnv_tlp1::m_tracksCnv
TrackCnv_p1 m_tracksCnv
Definition: TrackCollectionCnv_tlp1.h:69
TopLevelTPCnvBaseP::setTLPersObject
virtual void setTLPersObject(void *persObj) override
Take ownership of the persistent object.
Definition: TopLevelTPCnvBaseP.h:104
ref
const boost::regex ref(r_ef)
TopLevelTPCnvBase::m_convIdMap
convIdMap_t m_convIdMap
Map of elemental TP converters indexed by their ID - used for reading.
Definition: TopLevelTPCnvBase.h:177
TopLevelTPCnvBase::addTPConverterForWriting
virtual void addTPConverterForWriting(ITPConverter *cnv)
add TP converter to the list of converters consulted when writing - internal method.
Definition: TopLevelTPCnvBase.cxx:33
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TrackCollectionCnv_tlp1::m_ataPlanesCnv
AtaPlaneCnv_p1 m_ataPlanesCnv
Definition: TrackCollectionCnv_tlp1.h:82
TPObjRef::typeID_t
Definition: TPObjRef.h:31
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
Trk::TrackCollection_tlp1::m_discBounds
std::vector< Trk::DiscBounds_p1 > m_discBounds
Definition: TrackCollection_tlp1.h:98
TopLevelTPConverter::transToPers
virtual void transToPers(const TRANS *trans, PERS *pers, MsgStream &msg)
Definition: TopLevelTPConverter.h:210
get_generator_info.error
error
Definition: get_generator_info.py:40
TopLevelTPConverter::setMainCnvPStorage
void setMainCnvPStorage(STORAGE *storage)
Set the persistent storage space for the main TP converter.
Definition: TopLevelTPConverter.h:152
TrackCollectionCnv_tlp1::m_surfacesCnv
SurfaceCnv_p1 m_surfacesCnv
Definition: TrackCollectionCnv_tlp1.h:94
error
Definition: IImpactPoint3dEstimator.h:70
TPConverterTypeMap::addConverter
void addConverter(CONVERTER_BASE *converter, const std::type_info &objTypeInfo)
Add a new converter to the map.
Definition: TPTools/TPTools/ITPConverter.h:162
Trk::TrackCollection_tlp1::m_materialEffects
std::vector< Trk::MaterialEffectsOnTrack_p1 > m_materialEffects
Definition: TrackCollection_tlp1.h:104
Trk::TrackCollection_tlp1::m_cylinderBounds
std::vector< Trk::CylinderBounds_p1 > m_cylinderBounds
Definition: TrackCollection_tlp1.h:95
Trk::TrackCollection_tlp1::m_fitQualities
std::vector< Trk::FitQuality_p1 > m_fitQualities
Definition: TrackCollection_tlp1.h:102
TrackCollectionCnv_tlp1::m_measuredAtaDiscsCnv
MeasuredAtaDiscCnv_p1 m_measuredAtaDiscsCnv
Definition: TrackCollectionCnv_tlp1.h:76
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
TrackCollectionCnv_tlp1::setPStorage
virtual void setPStorage(Trk::TrackCollection_tlp1 *storage)
Definition: TrackCollectionCnv_tlp1.cxx:61
TrackCollectionCnv_tlp1::m_ataStraightLinesCnv
AtaStraightLineCnv_p1 m_ataStraightLinesCnv
Definition: TrackCollectionCnv_tlp1.h:83
TrackCollectionCnv_tlp1::m_measuredAtaStraightLinesCnv
MeasuredAtaStraightLineCnv_p1 m_measuredAtaStraightLinesCnv
Definition: TrackCollectionCnv_tlp1.h:79
TopLevelTPCnvBaseP::createTLPersObject
virtual void createTLPersObject() override
Create persistent object - the converter keeps it.
Definition: TopLevelTPCnvBaseP.h:57
TrackCollectionCnv_tlp1::m_measuredPerigeesCnv
MeasuredPerigeeCnv_p1 m_measuredPerigeesCnv
Definition: TrackCollectionCnv_tlp1.h:86
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37