ATLAS Offline Software
|
T/P converter for JetElement and JetElement_p1. More...
#include <JetElementCollectionCnv_tlp1.h>
Public Types | |
typedef MAIN_CNV::Trans_t | TRANS |
typedef TL_PERS | PERS |
typedef Gaudi::PluginService::Factory< ITPCnvBase *()> | Factory |
Public Member Functions | |
JetElementCollectionCnv_tlp1 () | |
virtual | ~JetElementCollectionCnv_tlp1 () |
virtual void | setPStorage (JetElementCollection_tlp1 *storage) |
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 * | getTokenListVar () override |
Return the list of tokens to the objects extending the object owned by this converter. 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... | |
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 | |
JetElementCollectionCnv_p1 | m_JetElementCollectionCnv |
JetElementCnv_p1 | m_JetElementCnv |
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< ITPConverter > | m_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... | |
T/P converter for JetElement and JetElement_p1.
Simple converter that can create JetElement objects from JetElement_p1 ones, and vice versa. It is used in JetElementCnv to do the T/P conversion before/after writing/reading the JetElement object.
Definition at line 23 of file JetElementCollectionCnv_tlp1.h.
|
protectedinherited |
Definition at line 174 of file TopLevelTPCnvBase.h.
|
inherited |
Definition at line 26 of file ITPCnvBase.h.
|
inherited |
Definition at line 38 of file TopLevelTPConverter.h.
|
inherited |
Definition at line 37 of file TopLevelTPConverter.h.
JetElementCollectionCnv_tlp1::JetElementCollectionCnv_tlp1 | ( | ) |
Definition at line 8 of file JetElementCollectionCnv_tlp1.cxx.
|
inlinevirtual |
Definition at line 27 of file JetElementCollectionCnv_tlp1.h.
|
virtualinherited |
add extending TP converter to this top level converter - to the list consulted when reading only.
cnv | [IN] the TP converter to be added |
Definition at line 47 of file TopLevelTPCnvBase.cxx.
|
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.
|
virtualinherited |
Add a TP converter to this top level converter.
cnv | [IN] the TP converter to be added |
Definition at line 11 of file TopLevelTPCnvBase.cxx.
|
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.
cnv | [IN] the TP converter to be added |
Definition at line 19 of file TopLevelTPCnvBase.cxx.
|
privatevirtualinherited |
add TP converter to the list of converters consulted when writing - internal method.
cnv | [IN] the TP converter to be added |
Definition at line 33 of file TopLevelTPCnvBase.cxx.
|
virtualinherited |
copy all extending converters from this top level converter to "dest" top level converter - for reading
dest | [IN] destination converter which will receive all elemental TP converters that this one has |
Definition at line 78 of file TopLevelTPCnvBase.cxx.
|
virtualinherited |
copy all extending converters from this top level converter to "dest" top level converter
copy all TP converters to another topLevel conveter
dest | [IN] destination converter which will receive all elemental TP converters that this one has |
Definition at line 60 of file TopLevelTPCnvBase.cxx.
|
inlineoverridevirtualinherited |
Discard the persistent object.
Implements TopLevelTPCnvBase.
Definition at line 99 of file TopLevelTPCnvBaseP.h.
|
inlineinherited |
Find and return a TP converter for persistent type referenced by ref.
ref | [IN] TP reference of a persistent object |
Definition at line 89 of file TopLevelTPCnvBase.h.
|
inlineinherited |
Find and return a TP converter for a given C++ type info.
info | [IN] C++ type info reference to the transient type |
Definition at line 80 of file TopLevelTPCnvBase.h.
|
inlinevirtualinherited |
Create persistent representation of transObj.
transObj | [IN] pointer to the transient representation |
log | [IN] message stream for output |
Reimplemented in SegmentCollectionCnv_tlp4.
Definition at line 110 of file TopLevelTPConverter.h.
|
inlinevirtualinherited |
Create persistent representation of transObj.
transObj | [IN] pointer to the transient representation |
key | [IN] SG key of the object being converted. |
log | [IN] message stream for output |
Reimplemented in TrackCollectionCnv_tlp7, and TrackCollectionCnv_tlp6.
Definition at line 129 of file TopLevelTPConverter.h.
|
inlineoverridevirtualinherited |
Create persistent object - the converter keeps it.
Implements TopLevelTPCnvBase.
Definition at line 57 of file TopLevelTPCnvBaseP.h.
|
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.
persObj | [IN] pointer to the persistent representation |
log | [IN] message stream for output |
Definition at line 96 of file TopLevelTPConverter.h.
|
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
log | [IN] message stream for output |
Definition at line 62 of file TopLevelTPConverter.h.
|
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
key | [IN] SG key of the object being converted |
log | [IN] message stream for output |
Definition at line 78 of file TopLevelTPConverter.h.
|
inlineoverridevirtualinherited |
Delete the persistent object owned by the converter.
Implements TopLevelTPCnvBase.
Definition at line 64 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
Returns this converter's ID.
By default it is 0. Should be overwritten in extending converters
Implements TopLevelTPCnvBase.
Reimplemented in V0ContainerCnv_tlp1, V0ContainerCnv_tlp2, MVFVxContainerCnv_tlp1, and MuonCaloEnergyContainerCnv_tlp1.
Definition at line 159 of file TopLevelTPConverter.h.
|
inlineinherited |
Definition at line 72 of file TopLevelTPCnvBaseP.h.
|
inlineinherited |
Definition at line 77 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
void*
Implements TopLevelTPCnvBase.
Definition at line 94 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
void*
Implements TopLevelTPCnvBase.
Definition at line 89 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
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
Implements TopLevelTPCnvBase.
Reimplemented in TrackParticleContainerCnv_tlp1, TrackParticleContainerCnv_tlp2, VxContainerCnv_tlp1, VxContainerCnv_tlp2, TrackCollectionCnv_tlp3, TrackCollectionCnv_tlp2, TrackCollectionCnv_tlp4, TrackCollectionCnv_tlp1, SegmentCollectionCnv_tlp1, TrackParticleContainerCnv_tlp3, SegmentCollectionCnv_tlp2, TrackCollectionCnv_tlp5, SegmentCollectionCnv_tlp3, PixelClusterContainerCnv_tlp1, SCT_ClusterContainerCnv_tlp1, LayerMaterialMapCnv_tlp1, TRT_DriftCircleContainerCnv_tlp1, CscPrepDataContainerCnv_tlp1, CscStripPrepDataContainerCnv_tlp1, MdtPrepDataContainerCnv_tlp1, RpcPrepDataContainerCnv_tlp1, TgcCoinDataContainerCnv_tlp1, TgcCoinDataContainerCnv_tlp2, TgcPrepDataContainerCnv_tlp1, TgcCoinDataContainerCnv_tlp3, JetCollectionCnv_tlp2, JetCollectionCnv_tlp5, JetCollectionCnv_tlp6, and JetKeyDescriptorCollectionCnv_tlp1.
Definition at line 112 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
Return the list of tokens to the objects extending the object NOT owned by this converter.
persObj | [IN] persistent object from which contains list of tokens. Passes as void* - if the type is wrong, it may crash |
Implements TopLevelTPCnvBase.
Definition at line 115 of file TopLevelTPCnvBaseP.h.
|
inlineprotectedinherited |
Check if TP converters from a given top-level converter were already registered in this converter.
cnv | [IN] top-level converter to check |
Definition at line 166 of file TopLevelTPCnvBase.h.
|
inlineoverridevirtualinherited |
Returns true
if the converter has a persistent object.
Implements TopLevelTPCnvBase.
Definition at line 52 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
return C++ type id of the persistent class this converter is for
Implements ITPCnvBase.
Definition at line 169 of file TopLevelTPConverter.h.
|
inlinevirtualinherited |
Definition at line 201 of file TopLevelTPConverter.h.
|
inlineoverridevirtualinherited |
Convert persistent object representation to transient.
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.
|
inlineoverridevirtualinherited |
Convert persistent object representation to transient.
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.
|
inlineinherited |
@release the persistent object from this converter
Definition at line 82 of file TopLevelTPCnvBaseP.h.
|
inlineprotectedinherited |
Remember that elemental TP converters from the given top-level converter are already registered.
cnv | [IN] top-level TP converter - source of the elemental TP converters |
Definition at line 156 of file TopLevelTPCnvBase.h.
|
inlineinherited |
Set the persistent storage space for the main TP converter.
Definition at line 152 of file TopLevelTPConverter.h.
|
virtual |
Definition at line 15 of file JetElementCollectionCnv_tlp1.cxx.
|
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.
persObj | [IN] persistent object |
Implements TopLevelTPCnvBaseP< TL_PERS >.
Implemented in TrackCollectionCnv_tlp7, TrackCollectionCnv_tlp6, and SegmentCollectionCnv_tlp4.
|
inlineoverridevirtualinherited |
Take ownership of the persistent object.
Also initialize all elemental TP converters to use that object.
persObj | [IN] the persistent object passed as void* |
Implements TopLevelTPCnvBase.
Definition at line 104 of file TopLevelTPCnvBaseP.h.
|
inlineoverridevirtualinherited |
return C++ type id of the transient class this converter is for
Implements ITPCnvBase.
Definition at line 166 of file TopLevelTPConverter.h.
|
inlinevirtualinherited |
Definition at line 210 of file TopLevelTPConverter.h.
|
inlineoverridevirtualinherited |
Convert transient object representation to persistent.
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.
|
inlineoverridevirtualinherited |
Convert transient object representation to persistent.
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.
|
protectedinherited |
Map of elemental TP converters indexed by transient typeid - used for writing.
Definition at line 180 of file TopLevelTPCnvBase.h.
|
protectedinherited |
Map of elemental TP converters indexed by their ID - used for reading.
Definition at line 177 of file TopLevelTPCnvBase.h.
|
protected |
Definition at line 33 of file JetElementCollectionCnv_tlp1.h.
|
protected |
Definition at line 32 of file JetElementCollectionCnv_tlp1.h.
|
protectedinherited |
Definition at line 217 of file TopLevelTPConverter.h.
|
protectedinherited |
Set top-level converters from which elemental TP converters were registered.
Definition at line 184 of file TopLevelTPCnvBase.h.
|
protectedinherited |
The persistent object this conveter is working on.
Definition at line 128 of file TopLevelTPCnvBaseP.h.
|
protectedinherited |
Counter used to create typed IDs used in the transient Ref.
Definition at line 187 of file TopLevelTPCnvBase.h.