|
ATLAS Offline Software
|
#include <SegmentCollectionCnv_tlp2.h>
|
| SegmentCollectionCnv_tlp2 () |
|
virtual | ~SegmentCollectionCnv_tlp2 () |
|
virtual void | setPStorage (Trk::SegmentCollection_tlp2 *storage) |
|
virtual TPCnvTokenList_p1 * | getTokenListVar () |
| 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...
|
|
TRANS * | createTransient (MsgStream &log) |
| Create transient representation of the persistent object known to this converter. More...
|
|
virtual TRANS * | createTransient (const TL_PERS *persObj, MsgStream &log) |
| Create transient representation of persObj. More...
|
|
TRANS * | createTransientWithKey (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_p1 * | getTokenListVarFrom (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...
|
|
ITPConverter * | converterForType (const std::type_info &info) const |
| Find and return a TP converter for a given C++ type info. More...
|
|
ITPConverter * | converterForRef (const TPObjRef &ref) const |
| Find and return a TP converter for persistent type referenced by ref. More...
|
|
Definition at line 39 of file SegmentCollectionCnv_tlp2.h.
◆ convIdMap_t
◆ Factory
◆ PERS
template<class MAIN_CNV , class TL_PERS >
◆ TRANS
template<class MAIN_CNV , class TL_PERS >
◆ SegmentCollectionCnv_tlp2()
SegmentCollectionCnv_tlp2::SegmentCollectionCnv_tlp2 |
( |
| ) |
|
◆ ~SegmentCollectionCnv_tlp2()
SegmentCollectionCnv_tlp2::~SegmentCollectionCnv_tlp2 |
( |
| ) |
|
|
virtualdefault |
◆ 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.
52 m_convIdMap[ converter->typeID().value() ] = converter;
55 converter->setRuntimeTopConverter(
this );
◆ addMainTPConverter()
template<class MAIN_CNV , class TL_PERS >
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 11 of file TopLevelTPCnvBase.cxx.
◆ 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.
28 converter->setTopConverter(
this, full_typeID );
◆ 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.
37 const std::type_info &
info( converter->transientTInfo() );
40 const std::string
error(
"Duplicate TP converter for class ");
41 throw std::runtime_error(
error +
info.name() );
◆ 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 78 of file TopLevelTPCnvBase.cxx.
81 if( cnv->hasConvertersFrom(
this ) ) {
85 for( convIdMap_t::const_iterator itr =
m_convIdMap.begin();
87 cnv->addExtTPConverterForReading( itr->second );
90 cnv->rememberConverter(
this );
◆ 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 60 of file TopLevelTPCnvBase.cxx.
63 for( convIdMap_t::const_iterator itr =
m_convIdMap.begin();
68 cnv->addTPConverterForWriting( itr->second );
71 cnv->addExtTPConverterForReading( itr->second );
74 cnv->rememberConverter(
this );
◆ clearTLPersObject()
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ 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.
90 convIdMap_t::const_iterator iter =
m_convIdMap.find(
ref.typeID() );
◆ 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.
◆ createPersistent()
template<class MAIN_CNV , class TL_PERS >
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.
◆ createPersistentWithKey()
template<class MAIN_CNV , class TL_PERS >
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.
◆ createTLPersObject()
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ createTransient() [1/2]
template<class MAIN_CNV , class TL_PERS >
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.
◆ createTransient() [2/2]
template<class MAIN_CNV , class TL_PERS >
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.
◆ createTransientWithKey()
template<class MAIN_CNV , class TL_PERS >
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.
◆ deleteTLPersObject()
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ getConverterID()
template<class MAIN_CNV , class TL_PERS >
|
inlineoverridevirtualinherited |
◆ getTLPersObject() [1/2]
- Returns
- pointer to the persistent object owned by this converter
Definition at line 72 of file TopLevelTPCnvBaseP.h.
◆ getTLPersObject() [2/2]
- Returns
- pointer to the persistent object owned by this converter
Definition at line 77 of file TopLevelTPCnvBaseP.h.
◆ getTLPersObjectAsVoid() [1/2]
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ getTLPersObjectAsVoid() [2/2]
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ getTokenListVar()
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 51 of file SegmentCollectionCnv_tlp2.h.
◆ getTokenListVarFrom()
template<class TL_PERS >
|
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.
◆ hasConvertersFrom()
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()
template<class TL_PERS >
|
inlineoverridevirtualinherited |
◆ persistentTInfo()
template<class MAIN_CNV , class TL_PERS >
|
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 >
◆ 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.
◆ 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.
◆ releaseTLPersObject()
◆ rememberConverter()
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.
◆ setMainCnvPStorage()
template<class MAIN_CNV , class TL_PERS >
template<typename STORAGE >
◆ setPStorage() [1/2]
template<class MAIN_CNV , class TL_PERS >
|
overridepure virtualinherited |
◆ setPStorage() [2/2]
◆ setTLPersObject()
template<class TL_PERS >
|
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.
◆ transientTInfo()
template<class MAIN_CNV , class TL_PERS >
|
inlineoverridevirtualinherited |
◆ transToPers()
template<class MAIN_CNV , class TL_PERS >
◆ 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.
◆ 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.
◆ 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
◆ m_crotCnv
◆ m_cylinderBoundsCnv
◆ m_cylinderSurfacesCnv
◆ m_detElSurfCnv
◆ m_diamondBoundsCnv
◆ m_discBoundsCnv
◆ m_discSurfacesCnv
◆ m_ellipseBoundsCnv
◆ m_errorMatricesCnv
◆ m_fitQualitiesCnv
◆ m_localParametersCnv
◆ m_mainConverter
template<class MAIN_CNV , class TL_PERS >
◆ m_planeSurfacesCnv
◆ m_pseudoMeasurementOnTrackCnv
◆ m_rectangleBoundsCnv
◆ m_registeredTLConverters
Set top-level converters from which elemental TP converters were registered.
Definition at line 184 of file TopLevelTPCnvBase.h.
◆ m_rotatedDiamondBoundsCnv
◆ m_rotatedTrapesoidBoundsCnv
◆ m_segmentCnv
◆ m_straightLineSurfacesCnv
◆ m_surfacesCnv
◆ m_tlPersObject
◆ m_trackSegmentCnv
◆ m_trapesoidBoundsCnv
◆ 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:
virtual void setPStorage(TL_PERS *persObj) override=0
A stub for a method that should be provided by the converter creator.
CONVERTER_BASE * findConverter(const std::type_info &objTypeInfo) const
Find converter for a given C++ type info.
virtual unsigned short getConverterID()=0
SegmentCnv_p1 m_segmentCnv
ErrorMatrixCnv_p1 m_errorMatricesCnv
TrackSegmentCnv_p1 m_trackSegmentCnv
StraightLineSurfaceCnv_p1 m_straightLineSurfacesCnv
std::vector< Trk::LocalParameters_p1 > m_localParameters
PseudoMeasurementOnTrackCnv_p1 m_pseudoMeasurementOnTrackCnv
std::vector< Trk::DiamondBounds_p1 > m_diamondBounds
void addMainTPConverter()
Add the main TP converter to the internal list - should be called from user-defined constructor.
std::vector< Trk::PseudoMeasurementOnTrack_p1 > m_pseudoMeasurementOnTrack
std::set< TopLevelTPCnvBase * > m_registeredTLConverters
Set top-level converters from which elemental TP converters were registered.
std::vector< Trk::FitQuality_p1 > m_fitQualities
PlaneSurfaceCnv_p1 m_planeSurfacesCnv
virtual TPCnvTokenList_p1 * getTokenListVar() override
Return the list of tokens to the objects extending the object owned by this converter.
TL_PERS * getTLPersObject()
virtual void addTPConverter(ITPConverter *cnv)
Add a TP converter to this top level converter.
DetElementSurfaceCnv_p1 m_detElSurfCnv
virtual void addTPConverterForReading(ITPConverter *cnv)
Add a TP converter to this top level converter but only for reading.
std::vector< Trk::CompetingRIOsOnTrack_p1 > m_competingRotsOnTrack
TRANS * createTransient(MsgStream &log)
Create transient representation of the persistent object known to this converter.
virtual void deleteTLPersObject() override
Delete the persistent object owned by the converter.
virtual void clearTLPersObject() override
Discard the persistent object.
DiscSurfaceCnv_p1 m_discSurfacesCnv
std::vector< Trk::Surface_p1 > m_surfaces
DiamondBoundsCnv_p1 m_diamondBoundsCnv
CylinderSurfaceCnv_p1 m_cylinderSurfacesCnv
virtual void setPStorage(TL_PERS *persObj)=0
A stub for a method that should be provided by the converter creator.
virtual void persToTrans(const PERS *pers, TRANS *trans, MsgStream &msg)
unsigned m_typeIDCount
Counter used to create typed IDs used in the transient Ref.
std::vector< Trk::RectangleBounds_p1 > m_rectangleBounds
std::vector< Trk::TrackSegment_p1 > m_tracksegments
std::vector< Trk::BoundSurface_p1 > m_boundSurfaces
DiscBoundsCnv_p1 m_discBoundsCnv
virtual void setPStorage(Trk::SegmentCollection_tlp2 *storage)
std::vector< Trk::EllipseBounds_p1 > m_ellipseBounds
CompetingRIOsOnTrackCnv_p1 m_crotCnv
TPConverterTypeMap< ITPConverter > m_converters
Map of elemental TP converters indexed by transient typeid - used for writing.
CylinderBoundsCnv_p1 m_cylinderBoundsCnv
std::vector< Trk::DiscBounds_p1 > m_discBounds
TL_PERS * m_tlPersObject
The persistent object this conveter is working on.
std::vector< Trk::RotatedTrapezoidBounds_p1 > m_rotatedTrapesoidBounds
RectangleBoundsCnv_p1 m_rectangleBoundsCnv
RotatedTrapezoidBoundsCnv_p1 m_rotatedTrapesoidBoundsCnv
SurfaceCnv_p1 m_surfacesCnv
virtual void setTLPersObject(void *persObj) override
Take ownership of the persistent object.
const boost::regex ref(r_ef)
convIdMap_t m_convIdMap
Map of elemental TP converters indexed by their ID - used for reading.
CovarianceMatrixCnv_p1 m_covarianceMatricesCnv
virtual void addTPConverterForWriting(ITPConverter *cnv)
add TP converter to the list of converters consulted when writing - internal method.
std::vector< Trk::SegmentCollection_p1 > m_segmentCollections
std::vector< Trk::TrapezoidBounds_p1 > m_trapesoidBounds
EllipseBoundsCnv_p1 m_ellipseBoundsCnv
#define ATLAS_THREAD_SAFE
std::vector< Trk::Segment_p1 > m_segments
virtual void transToPers(const TRANS *trans, PERS *pers, MsgStream &msg)
TrapezoidBoundsCnv_p1 m_trapesoidBoundsCnv
void setMainCnvPStorage(STORAGE *storage)
Set the persistent storage space for the main TP converter.
std::vector< Trk::HepSymMatrix_p1 > m_hepSymMatrices
LocalParametersCnv_p1 m_localParametersCnv
void addConverter(CONVERTER_BASE *converter, const std::type_info &objTypeInfo)
Add a new converter to the map.
FitQualityCnv_p1 m_fitQualitiesCnv
std::vector< Trk::DetElementSurface_p1 > m_detElementSurfaces
virtual void createTLPersObject() override
Create persistent object - the converter keeps it.
std::vector< Trk::CylinderBounds_p1 > m_cylinderBounds