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

#include <JetSamplingCnv_p1.h>

Inheritance diagram for JetSamplingCnv_p1:
Collaboration diagram for JetSamplingCnv_p1:

Public Types

using base_class = TPConverterConstBase
 
typedef TRANS Trans_t
 
typedef PERS Pers_t
 
typedef PERS PersBase_t
 
typedef TRANS TransBase_t
 
typedef ITPConverterFor< TRANS > PolyCnvBase_t
 
typedef Gaudi::PluginService::Factory< ITPCnvBase *()> Factory
 

Public Member Functions

 JetSamplingCnv_p1 ()
 Default constructor: More...
 
virtual void persToTrans (const JetSampling_p1 *pers, JetSampling *trans, MsgStream &msg) const override
 Method creating the transient representation of JetSampling from its persistent representation JetSampling_p1. More...
 
virtual void transToPers (const JetSampling *trans, JetSampling_p1 *pers, MsgStream &msg) const override
 Method creating the persistent representation JetSampling_p1 from its transient representation JetSampling. More...
 
virtual void transToPers (const TRANS *transObj, PERS *persObj, MsgStream &log) const=0
 Convert transient representation to persistent one. More...
 
virtual void transToPers (const TRANS *transObj, PERS *persObj, MsgStream &log) override final
 
virtual void persToTrans (const PERS *persObj, TRANS *transObj, MsgStream &log) const=0
 Convert persistent representation to transient one. More...
 
virtual void persToTrans (const PERS *persObj, TRANS *transObj, MsgStream &log) override final
 
virtual void persToTrans (const PERS *persObj, TRANS *transObj, MsgStream &log) const =0
 Convert persistent representation to transient one. More...
 
virtual void persToTrans (const PERS *persObj, TRANS *transObj, MsgStream &log) override final
 Convert persistent representation to transient one. More...
 
virtual void transToPers (const TRANS *transObj, PERS *persObj, MsgStream &log) const =0
 Convert transient representation to persistent one. More...
 
virtual void transToPers (const TRANS *transObj, PERS *persObj, MsgStream &log) override final
 Convert transient representation to persistent one. More...
 
virtual TRANS * createTransientConst (const PERS *persObj, MsgStream &log) const
 
virtual PERScreatePersistentConst (const TRANS *transObj, MsgStream &log) const
 
virtual TPObjRef virt_toPersistent (const TRANS *trans, MsgStream &log)
 Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter. More...
 
virtual TPObjRef virt_toPersistentWithKey (const TRANS *trans, const std::string &key, MsgStream &log)
 Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter. More...
 
virtual void pstoreToTrans (unsigned index, TRANS *trans, MsgStream &log)
 Convert persistent representation stored in the storage vector of the top-level object to transient. More...
 
virtual TRANS * createTransient (const PERS *persObj, MsgStream &log)
 Create transient representation of a persistent object. More...
 
virtual TRANS * createTransientWithKey (const PERS *persObj, const std::string &key, MsgStream &log)
 Create transient representation of a persistent object, with SG key. More...
 
virtual TRANS * virt_createTransFromPStore (unsigned index, MsgStream &log)
 Internal interface method that is used to invoke the real conversion method (createTransient) More...
 
virtual TRANS * virt_createTransFromPStoreWithKey (unsigned index, const std::string &key, MsgStream &log)
 Internal interface method that is used to invoke the real conversion method (createTransient) More...
 
virtual void persToTransWithKey (const PERS *persObj, TRANS *transObj, const std::string &, MsgStream &log)
 Convert persistent representation to transient one. More...
 
virtual void transToPersWithKey (const TRANS *transObj, PERS *persObj, const std::string &, MsgStream &log)
 Convert transient representation to persistent one. More...
 
virtual void persToTransUntyped (const void *pers, void *trans, MsgStream &log)
 Convert persistent object representation to transient. More...
 
virtual void transToPersUntyped (const void *trans, void *pers, MsgStream &log)
 Convert transient object representation to persistent. More...
 
virtual void persToTransWithKeyUntyped (const void *pers, void *trans, const std::string &key, MsgStream &log)
 Convert persistent object representation to transient. More...
 
virtual void transToPersWithKeyUntyped (const void *trans, void *pers, const std::string &key, MsgStream &log)
 Convert transient object representation to persistent. More...
 
virtual PERScreatePersistent (const TRANS *transObj, MsgStream &log)
 Create persistent representation of a transient object. More...
 
virtual PERScreatePersistentWithKey (const TRANS *transObj, const std::string &key, MsgStream &log)
 Create persistent representation of a transient object, with SG key. More...
 
TPObjRef toPersistentWithKey_impl (const TRANS *trans, const std::string &key, MsgStream &log)
 Convert transient object to persistent representation. More...
 
virtual const std::type_info & transientTInfo () const
 return C++ type id of the transient class this converter is for More...
 
virtual const std::type_info & transientTInfo () const
 return C++ type id of the transient class this converter is for More...
 
virtual const std::type_info & persistentTInfo () const
 return C++ type id of the persistent class this converter is for More...
 
virtual const std::type_info & persistentTInfo () const =0
 return C++ type id of the persistent class this converter is for More...
 
void setPStorage (std::vector< PERS > *storage)
 Tell this converter which storage vector it should use to store or retrieve persistent representations. More...
 
void setRecursive (bool flag=true)
 Tell the converter if it should work in recursive mode slower but it can safely handle recursion. More...
 
void ignoreRecursion (bool flag=false)
 Tell the converter to ignore recursion (do not throw errors) even when recurion is detected. More...
 
virtual void reservePStorage (size_t size)
 Reserve 'size' elements for persistent storage. More...
 
template<class CNV >
CNV * converterForType (CNV *cnv, const std::type_info &t_info, MsgStream &log) const
 Find converter for a given C++ type ID, that is or ihnerits from CNV type. More...
 
template<class CNV >
CNV * converterForRef (CNV *cnv, const TPObjRef &ref, MsgStream &log) const
 Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type. More...
 
template<class CNV >
TPObjRef baseToPersistent (CNV **cnv, const typename CNV::Trans_t *transObj, MsgStream &log) const
 Persistify bass class of a given object and store the persistent represenation in the storage vector of the top-level persistent object. More...
 
template<class CNV >
TPObjRef toPersistent (CNV **cnv, const typename CNV::TransBase_t *transObj, MsgStream &log) const
 Persistify an object and store the persistent represenation in the storage vector of the top-level persistent object. More...
 
template<class CNV , class TRANS_T >
void fillTransFromPStore (CNV **cnv, const TPObjRef &ref, TRANS_T *trans, MsgStream &log) const
 Convert persistent object, stored in the the top-level persistent object and referenced by the TP Ref, to transient representation. More...
 
template<class CNV >
CNV::Trans_t * createTransFromPStore (CNV **cnv, const TPObjRef &ref, MsgStream &log) const
 Create transient representation of a persistent object, stored in the the top-level persistent object and referenced by the TP Ref. More...
 
virtual void initPrivateConverters (TopLevelTPCnvBase *)
 
virtual TopLevelTPCnvBasetopConverter ()
 return the top-level converter for this elemental TP converter More...
 
virtual const TopLevelTPCnvBasetopConverter () const
 return the top-level converter for this elemental TP converter More...
 
const std::type_info & transBaseTInfo () const
 return C++ type id of the common base transient type for all converters for a group of polymorphic types More...
 
virtual const TPObjRef::typeID_ttypeID () const
 Return TP typeID for persistent objects produced by this converter. More...
 
unsigned typeIDvalue () const
 inlined non-virtual version to get the typeID value fast More...
 
virtual void setRuntimeTopConverter (TopLevelTPCnvBase *topConverter)
 Set runtime top-level converter - usually it is the owning TL converter, but in case of extended objects it will be the TL converter of the extended object. More...
 
virtual void setTopConverter (TopLevelTPCnvBase *topConverter, const TPObjRef::typeID_t &TPtypeID)
 Set which top-level converter owns this elemental converter, and what TPtypeID was assigned to the persistent objects it produces. More...
 
void setReadingFlag ()
 
void clearReadingFlag ()
 
bool wasUsedForReading ()
 
virtual void converterNotFound (const std::type_info &converterType, ITPConverter *c, const std::string &typeName, MsgStream &log) const
 method called when the right TP converter was not found during writing More...
 
virtual void converterNotFound (unsigned typeID, ITPConverter *c, const std::string &typeName, MsgStream &log) const
 method called when the right TP converter was not found during reading More...
 

Protected Attributes

std::vector< PERS > * m_pStorage
 the address of the storage vector for persistent representations More...
 
int m_curRecLevel
 count recursive invocations, to detect recursion More...
 
bool m_recursive
 if true, work in recursion-safe way (slower) More...
 
bool m_ignoreRecursion
 if true, do not throw errors in case of recursion. More...
 
TPObjRef::typeID_t m_pStorageTID
 TP Ref typeID for the persistent objects this converter is creating. More...
 
unsigned m_pStorageTIDvalue
 m_pStorageTID converted to integer value More...
 
TopLevelTPCnvBasem_topConverter
 top level converter that owns this elemental TP converter it also holds the storage object More...
 
TopLevelTPCnvBasem_topConverterRuntime
 top level converter "owning" this TP converter at runtime (different from m_topConverter in case the top-level converter and object have extensions) More...
 
bool m_wasUsedForReading
 flag set when using this converter for reading triggers search for a new converter before writing, to prevent possible use of old version More...
 

Static Protected Attributes

static const HepLorentzVectorCnv_p1 m_hlvCnv
 

Detailed Description

Definition at line 29 of file JetSamplingCnv_p1.h.

Member Typedef Documentation

◆ base_class

template<class TRANS , class PERS >
using TPConverterConstBase< TRANS, PERS >::base_class = TPConverterConstBase
inherited

Definition at line 779 of file TPConverter.h.

◆ Factory

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

Definition at line 26 of file ITPCnvBase.h.

◆ Pers_t

typedef PERS TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::Pers_t
inherited

Definition at line 335 of file TPConverter.h.

◆ PersBase_t

typedef PERS TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::PersBase_t
inherited

Definition at line 336 of file TPConverter.h.

◆ PolyCnvBase_t

template<class TRANS >
typedef ITPConverterFor< TRANS > ITPConverterFor< TRANS >::PolyCnvBase_t
inherited

Definition at line 41 of file TPConverter.h.

◆ Trans_t

typedef TRANS TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::Trans_t
inherited

Definition at line 334 of file TPConverter.h.

◆ TransBase_t

template<class TRANS >
typedef TRANS ITPConverterFor< TRANS >::TransBase_t
inherited

Definition at line 39 of file TPConverter.h.

Constructor & Destructor Documentation

◆ JetSamplingCnv_p1()

JetSamplingCnv_p1::JetSamplingCnv_p1 ( )
inline

Default constructor:

Definition at line 62 of file JetSamplingCnv_p1.h.

63 {}

Member Function Documentation

◆ baseToPersistent()

template<class TRANS >
template<class CNV >
TPObjRef ITPConverterFor< TRANS >::baseToPersistent ( CNV **  cnv,
const typename CNV::Trans_t *  transObj,
MsgStream &  log 
) const
inlineinherited

Persistify bass class of a given object and store the persistent represenation in the storage vector of the top-level persistent object.

The converter is located using the transient type from the CNV parameter, not from the object itself (because we need the base type, not the actual type)

Parameters
cnv[IN/OUT] type of this parameter decides which converter will be used. Once the converter is found, this pointer will be set so the search is done only once
transObj[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Definition at line 97 of file TPConverter.h.

97  {
98  if( !*cnv || (*cnv)->wasUsedForReading() ) {
99  // don't trust the converter if it was used for reading, find again
100  *cnv = converterForType( *cnv, typeid(typename CNV::Trans_t), log );
101  if( !*cnv ) return TPObjRef();
102  (*cnv)->clearReadingFlag();
103  }
104 // return (**cnv).toPersistent_impl(transObj, log);
105  return (**cnv).virt_toPersistent(transObj, log);
106  }

◆ clearReadingFlag()

template<class TRANS >
void ITPConverterFor< TRANS >::clearReadingFlag ( )
inlineinherited

Definition at line 235 of file TPConverter.h.

235 { m_wasUsedForReading = false; }

◆ converterForRef()

template<class TRANS >
template<class CNV >
CNV* ITPConverterFor< TRANS >::converterForRef ( CNV *  cnv,
const TPObjRef ref,
MsgStream &  log 
) const
inlineinherited

Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type.

Parameters
cnv[IN] parameter specifying the converter type
ref[IN] TP Ref to an object for which a converter is sought
log[IN] output message stream
Returns
CNV* pointer to the converter, if found

Definition at line 74 of file TPConverter.h.

74  {
76  cnv = dynamic_cast<CNV*>(c);
77  if( !cnv )
78  this->converterNotFound( ref.typeID(), c, typeid(CNV).name(), log );
79  return cnv;
80  }

◆ converterForType()

template<class TRANS >
template<class CNV >
CNV* ITPConverterFor< TRANS >::converterForType ( CNV *  cnv,
const std::type_info &  t_info,
MsgStream &  log 
) const
inlineinherited

Find converter for a given C++ type ID, that is or ihnerits from CNV type.

Parameters
cnv[IN] parameter specifying the converter type
t_info[IN] C++ type id for which a converter is sought
log[IN] output message stream
Returns
CNV* pointer to the converter, if found

Definition at line 58 of file TPConverter.h.

58  {
60  cnv = dynamic_cast< CNV* >( c );
61  if( !cnv )
62  this->converterNotFound( typeid(CNV), c, t_info.name(), log );
63  return cnv;
64  }

◆ converterNotFound() [1/2]

void ITPConverter::converterNotFound ( const std::type_info &  converterType,
ITPConverter c,
const std::string &  typeName,
MsgStream &  log 
) const
virtualinherited

method called when the right TP converter was not found during writing

  • useful as a debugging hook, prints a detailed error message
Parameters
converterType[IN] converterType that was requested
c[IN] converter that was actually found (0 if not)
typeName[IN] the C++ type name of the type for which converter was searched for
log[IN] output message stream

Definition at line 22 of file ITPConverter.cxx.

26 {
27  log << MSG::ERROR << ">>>>>> in parent TP converter " << typeid(*this).name()
28  << ": could not find matching TP converter for type " << typeName << endmsg;
29  if( c ) {
30  log << MSG::ERROR << " - found incompatible converter of type "
31  << typeid(*c).name() << endmsg;
32  }
33  log << MSG::ERROR << " Converter handle type was " << converterType.name() << endmsg;
34  errorHandler();
35 }

◆ converterNotFound() [2/2]

void ITPConverter::converterNotFound ( unsigned  typeID,
ITPConverter c,
const std::string &  typeName,
MsgStream &  log 
) const
virtualinherited

method called when the right TP converter was not found during reading

  • useful as a debugging hook, prints a detailed error message
Parameters
typeID[IN] converter ID that was requested
c[IN] converter that was actually found (0 if not)
typeName[IN] the C++ type name of the type for which converter was searched for
log[IN] output message stream

Definition at line 40 of file ITPConverter.cxx.

44 {
45  log << MSG::ERROR << ">>>>>> in parent TP converter " << typeid(*this).name()
46  << " requested TP converter for TP type ID " << typeID << " not found " << endmsg;
47  if( c ) {
48  log << MSG::ERROR << " - found converter " << typeid(*c).name()
49  << " for " << c->transientTInfo().name()
50  << " with an incompatible base type " << c->transBaseTInfo().name()
51  << endmsg;
52  }
53  log << MSG::ERROR << " Converter handle type was " << reqCnvTypeName << endmsg;
54  errorHandler();
55 }

◆ createPersistent()

virtual PERS* TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::createPersistent ( const TRANS *  transObj,
MsgStream &  log 
)
virtualinherited

Create persistent representation of a transient object.

Simply creates a new persistent object and calls transToPers()

Parameters
transObj[IN] transient object
log[IN] output message stream
Returns
the created persistent representation

◆ createPersistentConst()

template<class TRANS , class PERS >
virtual PERS* TPConverterConstBase< TRANS, PERS >::createPersistentConst ( const TRANS *  transObj,
MsgStream &  log 
) const
virtualinherited

◆ createPersistentWithKey()

virtual PERS* TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::createPersistentWithKey ( const TRANS *  transObj,
const std::string &  key,
MsgStream &  log 
)
virtualinherited

Create persistent representation of a transient object, with SG key.

Simply creates a new persistent object and calls transToPersWithKey()

Parameters
transObj[IN] transient object
key[IN] SG key of object being written
log[IN] output message stream
Returns
the created persistent representation

◆ createTransFromPStore()

template<class TRANS >
template<class CNV >
CNV::Trans_t* ITPConverterFor< TRANS >::createTransFromPStore ( CNV **  cnv,
const TPObjRef ref,
MsgStream &  log 
) const
inlineinherited

Create transient representation of a persistent object, stored in the the top-level persistent object and referenced by the TP Ref.

If a TP converter is not specified, it will be found based on the Ref type.

Parameters
cnv[IN][OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
ref[IN] TP Ref to the persistent object to be converted
log[IN] output message stream
Returns
pointer to the created transient represention

Definition at line 172 of file TPConverter.h.

172  {
173  if( ref.isNull() ) return 0;
174  CNV *temp_cnv_p = 0;
175  if( !cnv ) cnv = &temp_cnv_p;
176  // see if we already have a converter and if it is the right one
177  if( !*cnv || (*cnv)->typeID().value() != ref.typeID() ) {
178  // we don't - find the right converter for ref.typeID()
179  *cnv = converterForRef( *cnv, ref, log );
180  if( !*cnv ) return 0;
181  (*cnv)->setReadingFlag();
182  }
183  return (**cnv).virt_createTransFromPStore( ref.index(), log );
184  }

◆ createTransient()

virtual TRANS* TPPolyCnvBase< TRANS , TRANS, PERS >::createTransient ( const PERS persObj,
MsgStream &  log 
)
virtualinherited

Create transient representation of a persistent object.

Simply creates a new transient object and calls persToTrans()

Parameters
persObj[IN] persistent object
log[IN] output message stream
Returns
the created transient object

◆ createTransientConst()

template<class TRANS , class PERS >
virtual TRANS* TPConverterConstBase< TRANS, PERS >::createTransientConst ( const PERS persObj,
MsgStream &  log 
) const
virtualinherited

◆ createTransientWithKey()

virtual TRANS* TPPolyCnvBase< TRANS , TRANS, PERS >::createTransientWithKey ( const PERS persObj,
const std::string &  key,
MsgStream &  log 
)
virtualinherited

Create transient representation of a persistent object, with SG key.

Simply creates a new transient object and calls persToTransWithKey()

Parameters
persObj[IN] persistent object
key[IN] SG key of object being read
log[IN] output message stream
Returns
the created transient object

◆ fillTransFromPStore()

template<class TRANS >
template<class CNV , class TRANS_T >
void ITPConverterFor< TRANS >::fillTransFromPStore ( CNV **  cnv,
const TPObjRef ref,
TRANS_T *  trans,
MsgStream &  log 
) const
inlineinherited

Convert persistent object, stored in the the top-level persistent object and referenced by the TP Ref, to transient representation.

An empty transient object to be filled in is provided. If converter is not given, it will be found based on the Ref type.

Parameters
cnv[IN][OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
ref[IN] TP Ref to the persistent object to be converted
trans[IN] pointer to the empty transient object
log[IN] output message stream

Definition at line 145 of file TPConverter.h.

145  {
146  if( ref.isNull() ) return;
147  CNV *temp_cnv_p = 0;
148  if( !cnv ) cnv = &temp_cnv_p;
149  // see if we already have a converter and if it is the right one
150  if( !*cnv || (*cnv)->typeID().value() != ref.typeID() ) {
151  // we don't - find the right converter for ref.typeID()
152  *cnv = converterForRef( *cnv, ref, log );
153  if( !*cnv ) return;
154  (*cnv)->setReadingFlag();
155  }
156  (**cnv).pstoreToTrans( ref.index(), trans, log );
157  }

◆ ignoreRecursion()

void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::ignoreRecursion ( bool  flag = false)
inlineinherited

Tell the converter to ignore recursion (do not throw errors) even when recurion is detected.

UNSAFE! use only if you are sure you preallocated enough persistent storage

Definition at line 568 of file TPConverter.h.

568  {
570  }

◆ initPrivateConverters()

template<class TRANS >
virtual void ITPConverterFor< TRANS >::initPrivateConverters ( TopLevelTPCnvBase )
inlinevirtualinherited

◆ persistentTInfo() [1/2]

virtual const std::type_info& TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::persistentTInfo ( ) const
inlinevirtualinherited

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

Returns
std::type_info&

Definition at line 482 of file TPConverter.h.

482 { return typeid(PERS); }

◆ persistentTInfo() [2/2]

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

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

Returns
std::type_info&

Implemented in TopLevelTPConverter< MAIN_CNV, TL_PERS >, TPAbstractPolyCnvBase< TRANS_BASE, TRANS, PERS >, and DummyDetElementSurfaceCnv_p1.

◆ persToTrans() [1/5]

void JetSamplingCnv_p1::persToTrans ( const JetSampling_p1 pers,
JetSampling trans,
MsgStream &  msg 
) const
overridevirtual

Method creating the transient representation of JetSampling from its persistent representation JetSampling_p1.

Definition at line 34 of file JetSamplingCnv_p1.cxx.

37 {
38 // msg << MSG::DEBUG << "Loading JetSampling from persistent state..."
39 // << endmsg;
40 
41  CLHEP::HepLorentzVector tmp;
42  m_hlvCnv.persToTrans( &pers->m_pr, &tmp, msg );
43  trans->set_hlv_rec (tmp);
44  m_hlvCnv.persToTrans( &pers->m_pt, &tmp, msg );
45  trans->set_hlv_pic (tmp);
46  m_hlvCnv.persToTrans( &pers->m_pn, &tmp, msg );
47  trans->set_hlv_ntj (tmp);
48 
49  // Persistent does not have the data driven jet kinematics m_pd,
50  // so we do not set it in transient, it will be initialize to zero in the constructor
51 
52  m_hlvCnv.persToTrans( &pers->m_h1, &tmp, msg );
53  trans->set_hlv_h1 (tmp);
54  m_hlvCnv.persToTrans( &pers->m_pisa, &tmp, msg );
55  trans->set_hlv_pisa (tmp);
56  m_hlvCnv.persToTrans( &pers->m_samp, &tmp, msg );
57  trans->set_hlv_samp (tmp);
58 
59  // Jet sampling layer info
60  TPCNV_PERSTOTRANS( pers, trans, m_ejsPreSamplerB );
61  TPCNV_PERSTOTRANS( pers, trans, m_ejsPreSamplerE );
62  TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB1 );
63  TPCNV_PERSTOTRANS( pers, trans, m_ejsEME1 );
64  TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB2 );
65  TPCNV_PERSTOTRANS( pers, trans, m_ejsEME2 );
66  TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB3 );
67  TPCNV_PERSTOTRANS( pers, trans, m_ejsEME3 );
68  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar0 );
69  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt0 );
70  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar1 );
71  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt1 );
72  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar2 );
73  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt2 );
74  TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC0 );
75  TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC1 );
76  TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC2 );
77  TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC3 );
78  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap1 );
79  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap2 );
80  TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap3 );
81  TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL0 );
82  TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL1 );
83  TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL2 );
84 
85  // Distance to 1st and 2nd NTJ is not present in persistent
86  // representation JetSampling_p1, but it is present in current
87  // transient representation JetSampling.
88  // We fill them to the biggest integer negative number
89  trans->m_dr1 = -1.*INT_MAX;
90  trans->m_dr2 = -1.*INT_MAX;
91 
92  TPCNV_PERSTOTRANS( pers, trans, m_tot );
93  TPCNV_PERSTOTRANS( pers, trans, m_ctot );
94  TPCNV_PERSTOTRANS( pers, trans, m_ehad );
95  TPCNV_PERSTOTRANS( pers, trans, m_eem );
96 
97  // JetSums does not exist in transient, removed from here
98 
99  TPCNV_PERSTOTRANS( pers, trans, m_eCryo );
100  TPCNV_PERSTOTRANS( pers, trans, m_eGap );
101  TPCNV_PERSTOTRANS( pers, trans, m_eScint );
102  TPCNV_PERSTOTRANS( pers, trans, m_eNull );
103 
104  // JetECS: Transient has more/finer granularity that can not be rebuilt from old variables
105  // in persistent JetSampling_p1
106  // Those variables will be set to -1.*INT_MAX, largest negative integer value
107  for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p1::ECS_t>; ++i ) {
108  TPCNV_PERSTOTRANS( pers, trans, m_ePreSamBCell[i] );
109  TPCNV_PERSTOTRANS( pers, trans, m_ePreSamECell[i] );
110  TPCNV_PERSTOTRANS( pers, trans, m_eEMB1Cell[i] );
111  TPCNV_PERSTOTRANS( pers, trans, m_eEME1Cell[i] );
112 
113  // In Transient XXXCell1 is for eta < 0.8
114  // and XXXCell2 is for eta >= 0.8 but in persistent we only have
115  // the sum of both. The converter will store this sum into XXXCell1 and
116  // will set XXXCell2 to the largest negative integer number.
117  trans->m_eEMB2Cell1[i] = pers->m_eEMB2Cell[i];
118  trans->m_eEMB2Cell2[i] = -1.*INT_MAX;
119  trans->m_eEMB3Cell1[i] = pers->m_eEMB3Cell[i];
120  trans->m_eEMB3Cell2[i] = -1.*INT_MAX;
121 
122  // In Transient XXXCell1 is for eta < 2.5
123  // and XXXCell2 is for eta >= 2.5 but in persistent we only have
124  // the sum of both. The converter will store this sum into XXXCell1 and
125  // will set XXXCell2 to the largest negative integer number.
126  trans->m_eEME2Cell1[i] = pers->m_eEME2Cell[i];
127  trans->m_eEME2Cell2[i] = -1.*INT_MAX;
128  trans->m_eEME3Cell1[i] = pers->m_eEME3Cell[i];
129  trans->m_eEME3Cell2[i] = -1.*INT_MAX;
130 
131  TPCNV_PERSTOTRANS( pers, trans, m_eTileBar0Cell[i] );
132  TPCNV_PERSTOTRANS( pers, trans, m_eTileBar1Cell[i] );
133  TPCNV_PERSTOTRANS( pers, trans, m_eTileBar2Cell[i] );
134  TPCNV_PERSTOTRANS( pers, trans, m_eTileExt0Cell[i] );
135  TPCNV_PERSTOTRANS( pers, trans, m_eTileExt1Cell[i] );
136  TPCNV_PERSTOTRANS( pers, trans, m_eTileExt2Cell[i] );
137 
138  // In Transient XXXCell1 is for eta < 2.5
139  // and XXXCell2 is for eta >= 2.5 but in persistent we only have
140  // the sum of both. The converter will store this sum into XXXCell1 and
141  // will set XXXCell2 to the largest negative integer number.
142  trans->m_eHec0Cell1[i] = pers->m_eHec0Cell[i];
143  trans->m_eHec1Cell1[i] = pers->m_eHec1Cell[i];
144  trans->m_eHec2Cell1[i] = pers->m_eHec2Cell[i];
145  trans->m_eHec3Cell1[i] = pers->m_eHec3Cell[i];
146  trans->m_eHec0Cell2[i] = -1.*INT_MAX;
147  trans->m_eHec1Cell2[i] = -1.*INT_MAX;
148  trans->m_eHec2Cell2[i] = -1.*INT_MAX;
149  trans->m_eHec3Cell2[i] = -1.*INT_MAX;
150 
151  TPCNV_PERSTOTRANS( pers, trans, m_eFCal0Cell[i] );
152  TPCNV_PERSTOTRANS( pers, trans, m_eFCal1Cell[i] );
153  TPCNV_PERSTOTRANS( pers, trans, m_eFCal2Cell[i] );
154  }
155 
156 
157  // Energy in cone radii
158  for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p1::ERad_t>; ++i ) {
159 
160  // Name of energy in cone radii in transient is different from persistent
161  trans->m_erad_cells[i] = pers->m_erad[i];
162 
163  // Persistent does not have m_erad_track, set transient value to -INT_MAX
164  trans->m_erad_tracks[i] = -1.*INT_MAX;
165  }
166 
167 // msg << MSG::DEBUG << "Loaded JetSampling from persistent state [OK]"
168 // << endmsg;
169  }

◆ persToTrans() [2/5]

template<class TRANS , class PERS >
virtual void TPConverterConstBase< TRANS, PERS >::persToTrans ( const PERS persObj,
TRANS *  transObj,
MsgStream &  log 
) const
pure virtualinherited

Convert persistent representation to transient one.

Copies data members from persistent object to an existing transient one. Needs to be implemented by the developer on the actual converter.

Parameters
persObj[IN] persistent object
transObj[IN] transient object
log[IN] output message stream

Implemented in TPCnvVectorConst< TrigCaloClusterContainer, TrigCaloClusterContainer_p3, TrigCaloClusterCnv_p3 >, TPCnvStdVectorConst< std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 >, TrigMonTECnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 >, TrigMonSeqCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 >, TrigMonRoiCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 >, TrigMonROBDataCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 >, TrigMonROBCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 >, TrigMonAlgCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 >, TrigConfSigCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 >, TrigConfSeqCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 >, TrigConfChainCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 >, TrigConfAlgCnv_p1 >, TPPtrVectorCnvConst< std::vector< const JetTagInfoBase * >, std::vector< TPObjRef >, ITPConverterFor< JetTagInfoBase > >, TPPtrVectorCnvConst< std::vector< const JetAssociationBase * >, std::vector< TPObjRef >, ITPConverterFor< JetAssociationBase > >, TPCnvVectorConst< RingerRingsContainer, RingerRingsContainer_p2, RingerRingsCnv_p2 >, TPCnvStdVectorConst< TRANS, PERS, CONV >, TPCnvVectorConst< TRANS, PERS, CONV >, TPPtrVectorCnvConst< TRANS, PERS, CONV >, T_TilePoolContainerCnv< TRANS, PERS, CONV >, TPConverterWithKeyBase< TRANS, PERS >, TPCnvVectorConst< JetCollection, ParticleJetContainer_p1, ParticleJetCnv_p1 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p6, MuonCnv_p6 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p5, MuonCnv_p5 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p4, MuonCnv_p4 >, and TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p3, MuonCnv_p3 >.

◆ persToTrans() [3/5]

virtual void TPConverterConstBase< TRANS, PERS >::persToTrans

Convert persistent representation to transient one.

Copies data members from persistent object to an existing transient one. Needs to be implemented by the developer on the actual converter.

Parameters
persObj[IN] persistent object
transObj[IN] transient object
log[IN] output message stream

◆ persToTrans() [4/5]

virtual void TPConverterConstBase< TRANS, PERS >::persToTrans
inlinefinaloverride

Definition at line 807 of file TPConverter.h.

810  {
811  return const_cast<const TPConverterConstBase*>(this)->persToTrans (persObj, transObj, log);
812  }

◆ persToTrans() [5/5]

template<class TRANS , class PERS >
virtual void TPConverterConstBase< TRANS, PERS >::persToTrans ( const PERS persObj,
TRANS *  transObj,
MsgStream &  log 
)
inlinefinaloverridevirtualinherited

Convert persistent representation to transient one.

Copies data members from persistent object to an existing transient one. Needs to be implemented by the developer on the actual converter.

Parameters
persObj[IN] persistent object
transObj[IN] transient object
log[IN] output message stream

Implements TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 807 of file TPConverter.h.

810  {
811  return const_cast<const TPConverterConstBase*>(this)->persToTrans (persObj, transObj, log);
812  }

◆ persToTransUntyped()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::persToTransUntyped ( const void *  pers,
void *  trans,
MsgStream &  log 
)
inlinevirtualinherited

Convert persistent object representation to transient.

Parameters
pers[IN] void* pointer to the persistent object
trans[OUT] void* pointer to the empty transient object
log[IN] output message stream

Implements ITPCnvBase.

Definition at line 400 of file TPConverter.h.

403  {
404  persToTrans (reinterpret_cast<const PERS*> (pers),
405  reinterpret_cast<TRANS*> (trans),
406  log);
407  }

◆ persToTransWithKey()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::persToTransWithKey ( const PERS persObj,
TRANS *  transObj,
const std::string &  ,
MsgStream &  log 
)
inlinevirtualinherited

Convert persistent representation to transient one.

Copies data members from persistent object to an existing transient one. Needs to be implemented by the developer on the actual converter.

Parameters
persObj[IN] persistent object
transObj[IN] transient object
log[IN] output message stream

Reimplemented in TPConverterWithKeyBase< TRANS, PERS >.

Definition at line 376 of file TPConverter.h.

379  {
380  return persToTrans (persObj, transObj, log);
381  }

◆ persToTransWithKeyUntyped()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::persToTransWithKeyUntyped ( const void *  pers,
void *  trans,
const std::string &  key,
MsgStream &  log 
)
inlinevirtualinherited

Convert persistent object representation to transient.

Parameters
pers[IN] void* pointer to the persistent object
trans[OUT] void* pointer to the empty transient object
key[IN] SG key of object being read.
log[IN] output message stream

Reimplemented from ITPCnvBase.

Definition at line 420 of file TPConverter.h.

424  {
425  persToTransWithKey (reinterpret_cast<const PERS*> (pers),
426  reinterpret_cast<TRANS*> (trans),
427  key,
428  log);
429  }

◆ pstoreToTrans()

template<class TRANS , class PERS >
virtual void TPConverterBase< TRANS, PERS >::pstoreToTrans ( unsigned  index,
TRANS *  trans,
MsgStream &  log 
)
inlinevirtualinherited

Convert persistent representation stored in the storage vector of the top-level object to transient.

Internal.

Parameters
index[IN] index of the persistent representation in the storage vector
trans[IN] empty transient object
log[IN] output message stream

Reimplemented from TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 760 of file TPConverter.h.

760  {
761  assert (index < this->m_pStorage->size());
762  this->persToTrans( &(*this->m_pStorage)[index], trans, log );
763  }

◆ reservePStorage()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::reservePStorage ( size_t  size)
inlinevirtualinherited

Reserve 'size' elements for persistent storage.

Implements ITPConverter.

Definition at line 573 of file TPConverter.h.

573  {
574  m_pStorage->reserve( size );
575  }

◆ setPStorage()

void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::setPStorage ( std::vector< PERS > *  storage)
inlineinherited

Tell this converter which storage vector it should use to store or retrieve persistent representations.

Parameters
storage[IN] the address of the storage vector

Definition at line 551 of file TPConverter.h.

551  {
552  m_pStorage = storage;
553  m_curRecLevel = 0;
554  }

◆ setReadingFlag()

template<class TRANS >
void ITPConverterFor< TRANS >::setReadingFlag ( )
inlineinherited

Definition at line 234 of file TPConverter.h.

234 { m_wasUsedForReading = true; }

◆ setRecursive()

void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::setRecursive ( bool  flag = true)
inlineinherited

Tell the converter if it should work in recursive mode slower but it can safely handle recursion.

Definition at line 559 of file TPConverter.h.

559  {
560  m_recursive = flag;
561  }

◆ setRuntimeTopConverter()

template<class TRANS >
virtual void ITPConverterFor< TRANS >::setRuntimeTopConverter ( TopLevelTPCnvBase topConverter)
inlinevirtualinherited

Set runtime top-level converter - usually it is the owning TL converter, but in case of extended objects it will be the TL converter of the extended object.

Parameters
topConverter[IN] runtime top-level converter for this converter

Implements ITPConverter.

Definition at line 215 of file TPConverter.h.

◆ setTopConverter()

template<class TRANS >
virtual void ITPConverterFor< TRANS >::setTopConverter ( TopLevelTPCnvBase topConverter,
const TPObjRef::typeID_t TPtypeID 
)
inlinevirtualinherited

Set which top-level converter owns this elemental converter, and what TPtypeID was assigned to the persistent objects it produces.

Parameters
topConverter[IN] the top-level converter owning this converter
TPtypeID[IN] TP type id for persistent objects (used in TP refs)

Implements ITPConverter.

Definition at line 221 of file TPConverter.h.

223  {
225  m_pStorageTID = TPtypeID;
226  m_pStorageTIDvalue = TPtypeID.value();
228  }

◆ topConverter() [1/2]

template<class TRANS >
virtual TopLevelTPCnvBase* ITPConverterFor< TRANS >::topConverter ( )
inlinevirtualinherited

return the top-level converter for this elemental TP converter

Returns
TopLevelTPCnvBas

Reimplemented from ITPConverter.

Definition at line 191 of file TPConverter.h.

191  {
192  return m_topConverter;
193  }

◆ topConverter() [2/2]

template<class TRANS >
virtual const TopLevelTPCnvBase* ITPConverterFor< TRANS >::topConverter ( ) const
inlinevirtualinherited

return the top-level converter for this elemental TP converter

Returns
TopLevelTPCnvBas

Reimplemented from ITPConverter.

Definition at line 196 of file TPConverter.h.

196  {
197  return m_topConverter;
198  }

◆ toPersistent()

template<class TRANS >
template<class CNV >
TPObjRef ITPConverterFor< TRANS >::toPersistent ( CNV **  cnv,
const typename CNV::TransBase_t *  transObj,
MsgStream &  log 
) const
inlineinherited

Persistify an object and store the persistent represenation in the storage vector of the top-level persistent object.

The correct converter is located using the actual object type.

Parameters
cnv[IN/OUT] pointer to the converter, usually 0 at the start. Once the right converter is found, this pointer will be set so the search is done only once
transObj[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object

Definition at line 119 of file TPConverter.h.

119  {
120  if( !transObj ) return TPObjRef();
121  CNV *temp_cnv_p = 0;
122  if( !cnv ) cnv = &temp_cnv_p;
123  if( !*cnv || (*cnv)->wasUsedForReading() ) {
124  // don't trust the converter if it was used for reading, find again
125  *cnv = converterForType( *cnv, typeid(*transObj), log );
126  if( !*cnv ) return TPObjRef();
127  (*cnv)->clearReadingFlag();
128  }
129  return (**cnv).virt_toPersistent(transObj, log);
130  }

◆ toPersistentWithKey_impl()

TPObjRef TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::toPersistentWithKey_impl ( const TRANS *  trans,
const std::string &  key,
MsgStream &  log 
)
inherited

Convert transient object to persistent representation.

Stores the result in the storage vector of the top-level object and returns a TP Ref to it.

Parameters
trans[IN] transient object
key[IN] SG key of object being converted
log[IN] output message stream
Returns
TP reference to the persistent representation

◆ transBaseTInfo()

template<class TRANS >
const std::type_info& ITPConverterFor< TRANS >::transBaseTInfo ( ) const
inlinevirtualinherited

return C++ type id of the common base transient type for all converters for a group of polymorphic types

Returns
std::type_info& this method is not overwritten in the subclasses like transientTInfo()

Implements ITPConverter.

Definition at line 205 of file TPConverter.h.

205 { return typeid(TRANS); }

◆ transientTInfo() [1/2]

template<class TRANS >
virtual const std::type_info& ITPConverterFor< TRANS >::transientTInfo ( ) const
inlinevirtualinherited

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

Returns
std::type_info&

Implements ITPCnvBase.

Reimplemented in TPAbstractPolyCnvBase< Analysis::MuonContainer, Analysis::MuonContainer, MuonContainer_p3 >, TPAbstractPolyCnvBase< TileTrackMuFeatureContainer, TileTrackMuFeatureContainer, TileTrackMuFeatureContainer_p3 >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Cluster * >, std::vector< Analysis::TauPi0Cluster * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< IsoMuonFeatureContainer, IsoMuonFeatureContainer, IsoMuonFeatureContainer_p2 >, TPAbstractPolyCnvBase< MuonFeatureDetailsContainer, MuonFeatureDetailsContainer, MuonFeatureDetailsContainer_p2 >, TPAbstractPolyCnvBase< std::vector< Trk::VxCandidate * >, std::vector< Trk::VxCandidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< MuonFeatureContainer, MuonFeatureContainer, MuonFeatureContainer_p3 >, TPAbstractPolyCnvBase< std::vector< TrigConfAlg >, std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 > >, TPAbstractPolyCnvBase< TrigT2MbtsBitsContainer, TrigT2MbtsBitsContainer, TrigT2MbtsBitsContainer_p3 >, TPAbstractPolyCnvBase< TrigCompositeContainer, TrigCompositeContainer, TrigCompositeContainer_p1 >, TPAbstractPolyCnvBase< LumiBlockCollection, LumiBlockCollection, LumiBlockCollection_p2 >, TPAbstractPolyCnvBase< TrigTauClusterContainer, TrigTauClusterContainer, TrigTauClusterContainer_p5 >, TPAbstractPolyCnvBase< TrigRNNOutputContainer, TrigRNNOutputContainer, TrigRNNOutputContainer_p2 >, TPAbstractPolyCnvBase< TrigRoiDescriptorCollection, TrigRoiDescriptorCollection, TrigRoiDescriptorCollection_p3 >, TPAbstractPolyCnvBase< TrigTauClusterContainer, TrigTauClusterContainer, TrigTauClusterContainer_p4 >, TPAbstractPolyCnvBase< TrigT2JetContainer, TrigT2JetContainer, TrigT2JetContainer_p3 >, TPAbstractPolyCnvBase< TrigPassBitsCollection, TrigPassBitsCollection, TrigPassBitsCollection_p1 >, TPAbstractPolyCnvBase< TrigRoiDescriptorCollection, TrigRoiDescriptorCollection, TrigRoiDescriptorCollection_p2 >, TPAbstractPolyCnvBase< std::vector< const JetTagInfoBase * >, std::vector< const JetTagInfoBase * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< TrigMuonEFIsolationContainer, TrigMuonEFIsolationContainer, TrigMuonEFIsolationContainer_p1 >, TPAbstractPolyCnvBase< TrigTauClusterContainer, TrigTauClusterContainer, TrigTauClusterContainer_p3 >, TPAbstractPolyCnvBase< MultiComponentStateOnSurfaceDV, MultiComponentStateOnSurfaceDV, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< RingerRingsContainer, RingerRingsContainer, RingerRingsContainer_p2 >, TPAbstractPolyCnvBase< std::vector< Trk::VxTrackAtVertex * >, std::vector< Trk::VxTrackAtVertex * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< TrigMonTE >, std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 > >, TPAbstractPolyCnvBase< Analysis::MuonContainer, Analysis::MuonContainer, MuonContainer_p6 >, TPAbstractPolyCnvBase< TrigMissingETContainer, TrigMissingETContainer, TrigMissingETContainer_p3 >, TPAbstractPolyCnvBase< TileHitVector, TileHitVector, TileHitVector_p1 >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p2 > >, TPAbstractPolyCnvBase< TrigMuonEFIsolationContainer, TrigMuonEFIsolationContainer, TrigMuonEFIsolationContainer_p2 >, TPAbstractPolyCnvBase< std::vector< TrigConfSeq >, std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 > >, TPAbstractPolyCnvBase< TrigTrtHitCountsCollection, TrigTrtHitCountsCollection, TrigTrtHitCountsCollection_p2 >, TPAbstractPolyCnvBase< JetCollection, JetCollection, ParticleJetContainer_p1 >, TPAbstractPolyCnvBase< TrigL2BjetContainer, TrigL2BjetContainer, TrigL2BjetContainer_p3 >, TPAbstractPolyCnvBase< TrigPassFlagsCollection, TrigPassFlagsCollection, TrigPassFlagsCollection_p1 >, TPAbstractPolyCnvBase< DataVector< const Trk::MeasurementBase >, DataVector< const Trk::MeasurementBase >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p3 > >, TPAbstractPolyCnvBase< TrigTauTracksInfoCollection, TrigTauTracksInfoCollection, TrigTauTracksInfoCollection_p2 >, TPAbstractPolyCnvBase< TrackInVertexVector, TrackInVertexVector, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< TrigTauClusterDetailsContainer, TrigTauClusterDetailsContainer, TrigTauClusterDetailsContainer_p2 >, TPAbstractPolyCnvBase< std::vector< Analysis::TauShot * >, std::vector< Analysis::TauShot * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< TrigEMClusterContainer, TrigEMClusterContainer, TrigEMClusterContainer_p4 >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p4 > >, TPAbstractPolyCnvBase< std::vector< TrigMonRoi >, std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 > >, TPAbstractPolyCnvBase< TrigMuonEFContainer, TrigMuonEFContainer, TrigMuonEFContainer_p2 >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p5 > >, TPAbstractPolyCnvBase< TrigTauContainer, TrigTauContainer, TrigTauContainer_p3 >, TPAbstractPolyCnvBase< TrigEMClusterContainer, TrigEMClusterContainer, TrigEMClusterContainer_p3 >, TPAbstractPolyCnvBase< ElectronMuonTopoInfoContainer, ElectronMuonTopoInfoContainer, ElectronMuonTopoInfoContainer_p1 >, TPAbstractPolyCnvBase< TrigInDetTrackCollection, TrigInDetTrackCollection, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< std::vector< const Trk::TrackParameters * >, std::vector< const Trk::TrackParameters * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< EventBookkeeperCollection, EventBookkeeperCollection, EventBookkeeperCollection_p2 >, TPAbstractPolyCnvBase< SkimDecisionCollection, SkimDecisionCollection, SkimDecisionCollection_p1 >, TPAbstractPolyCnvBase< std::vector< TrigConfChain >, std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 > >, TPAbstractPolyCnvBase< Trk::TrackStates, Trk::TrackStates, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< CombinedMuonFeatureContainer, CombinedMuonFeatureContainer, CombinedMuonFeatureContainer_p4 >, TPAbstractPolyCnvBase< TrigPhotonContainer, TrigPhotonContainer, TrigPhotonContainer_p3 >, TPAbstractPolyCnvBase< std::vector< TrigMonSeq >, std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 > >, TPAbstractPolyCnvBase< EventBookkeeperCollection, EventBookkeeperCollection, EventBookkeeperCollection_p1 >, TPAbstractPolyCnvBase< std::vector< TrigMonAlg >, std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 > >, TPAbstractPolyCnvBase< CombinedMuonFeatureContainer, CombinedMuonFeatureContainer, CombinedMuonFeatureContainer_p3 >, TPAbstractPolyCnvBase< DataVector< eflowObject >, DataVector< eflowObject >, std::vector< eflowObject_p1 > >, TPAbstractPolyCnvBase< std::vector< Analysis::TauPi0Candidate * >, std::vector< Analysis::TauPi0Candidate * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< CombinedMuonFeatureContainer, CombinedMuonFeatureContainer, CombinedMuonFeatureContainer_p2 >, TPAbstractPolyCnvBase< TrigElectronContainer, TrigElectronContainer, TrigElectronContainer_p3 >, TPAbstractPolyCnvBase< TrigSpacePointCountsCollection, TrigSpacePointCountsCollection, TrigSpacePointCountsCollection_p4 >, TPAbstractPolyCnvBase< Analysis::MuonContainer, Analysis::MuonContainer, MuonContainer_p5 >, TPAbstractPolyCnvBase< TileMuFeatureContainer, TileMuFeatureContainer, TileMuFeatureContainer_p2 >, TPAbstractPolyCnvBase< std::vector< TrigConfSig >, std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 > >, TPAbstractPolyCnvBase< std::vector< TrigMonROBData >, std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 > >, TPAbstractPolyCnvBase< Analysis::MuonContainer, Analysis::MuonContainer, MuonContainer_p4 >, TPAbstractPolyCnvBase< LumiBlockCollection, LumiBlockCollection, LumiBlockCollection_p1 >, TPAbstractPolyCnvBase< std::vector< const JetAssociationBase * >, std::vector< const JetAssociationBase * >, std::vector< TPObjRef > >, TPAbstractPolyCnvBase< IsoMuonFeatureContainer, IsoMuonFeatureContainer, IsoMuonFeatureContainer_p3 >, TPAbstractPolyCnvBase< TrigCaloClusterContainer, TrigCaloClusterContainer, TrigCaloClusterContainer_p3 >, and TPAbstractPolyCnvBase< std::vector< TrigMonROB >, std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 > >.

Definition at line 201 of file TPConverter.h.

201 { return typeid(TRANS); }

◆ transientTInfo() [2/2]

virtual const std::type_info& TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::transientTInfo ( ) const
inlinevirtualinherited

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

Returns
std::type_info&

Definition at line 479 of file TPConverter.h.

479 { return typeid(TRANS); }

◆ transToPers() [1/5]

void JetSamplingCnv_p1::transToPers ( const JetSampling trans,
JetSampling_p1 pers,
MsgStream &  msg 
) const
overridevirtual

Method creating the persistent representation JetSampling_p1 from its transient representation JetSampling.

Definition at line 171 of file JetSamplingCnv_p1.cxx.

174 {
175 // msg << MSG::DEBUG << "Creating persistent state of JetSampling..."
176 // << endmsg;
177 
178  m_hlvCnv.transToPers( &trans->m_pr, &pers->m_pr, msg );
179  m_hlvCnv.transToPers( &trans->m_pt, &pers->m_pt, msg );
180  m_hlvCnv.transToPers( &trans->m_pn, &pers->m_pn, msg );
181  m_hlvCnv.transToPers( &trans->m_h1, &pers->m_h1, msg );
182  m_hlvCnv.transToPers( &trans->m_pisa, &pers->m_pisa, msg );
183  m_hlvCnv.transToPers( &trans->m_samp, &pers->m_samp, msg );
184 
185  // Jet sampling layer info
186  TPCNV_TRANSTOPERS( trans, pers, m_ejsPreSamplerB );
187  TPCNV_TRANSTOPERS( trans, pers, m_ejsPreSamplerE );
188  TPCNV_TRANSTOPERS( trans, pers, m_ejsEMB1 );
189  TPCNV_TRANSTOPERS( trans, pers, m_ejsEME1 );
190  TPCNV_TRANSTOPERS( trans, pers, m_ejsEMB2 );
191  TPCNV_TRANSTOPERS( trans, pers, m_ejsEME2 );
192  TPCNV_TRANSTOPERS( trans, pers, m_ejsEMB3 );
193  TPCNV_TRANSTOPERS( trans, pers, m_ejsEME3 );
194  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileBar0 );
195  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileExt0 );
196  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileBar1 );
197  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileExt1 );
198  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileBar2 );
199  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileExt2 );
200  TPCNV_TRANSTOPERS( trans, pers, m_ejsHEC0 );
201  TPCNV_TRANSTOPERS( trans, pers, m_ejsHEC1 );
202  TPCNV_TRANSTOPERS( trans, pers, m_ejsHEC2 );
203  TPCNV_TRANSTOPERS( trans, pers, m_ejsHEC3 );
204  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileGap1 );
205  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileGap2 );
206  TPCNV_TRANSTOPERS( trans, pers, m_ejsTileGap3 );
207  TPCNV_TRANSTOPERS( trans, pers, m_ejsFCAL0 );
208  TPCNV_TRANSTOPERS( trans, pers, m_ejsFCAL1 );
209  TPCNV_TRANSTOPERS( trans, pers, m_ejsFCAL2 );
210 
211  TPCNV_TRANSTOPERS( trans, pers, m_tot );
212  TPCNV_TRANSTOPERS( trans, pers, m_ctot );
213  TPCNV_TRANSTOPERS( trans, pers, m_ehad );
214  TPCNV_TRANSTOPERS( trans, pers, m_eem );
215 
216  // JetSums does not exist in transient represtation
217  // however they are still accessible using some functions
218  // that calculate them throught JetECS
219  pers->m_edEMB0Cell[0] = trans->eEMBCell(0); //EMB
220  pers->m_edEMB0Cell[1] = trans->eEMBCell(1);
221  pers->m_edEME0Cell[0] = trans->eEMECell(0); //EME
222  pers->m_edEME0Cell[1] = trans->eEMECell(1);
223  for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p1::ECS_t>; ++i ) {
224  pers->m_edEMB1Cell[i] = trans->eEMBCell(0, i); // EMB
225  pers->m_edEMB2Cell[i] = trans->eEMBCell(1, i);
226  pers->m_edEME1Cell[i] = trans->eEMECell(0, i); // EME
227  pers->m_edEME2Cell[i] = trans->eEMECell(1, i);
228  pers->m_edTile1Cell[i] = trans->eTileCell(0, i); // TILE
229  pers->m_edTile2Cell[i] = trans->eTileCell(1, i);
230  pers->m_edHec1Cell[i] = trans->eHecCell(0, i); // HEC
231  pers->m_edHec2Cell[i] = trans->eHecCell(1, i);
232  pers->m_edFCal1Cell[i] = trans->eFCalCell(0, i); // FCAL
233  pers->m_edFCal2Cell[i] = trans->eFCalCell(1, i);
234  }
235 
236  TPCNV_TRANSTOPERS( trans, pers, m_eCryo );
237  TPCNV_TRANSTOPERS( trans, pers, m_eGap );
238  TPCNV_TRANSTOPERS( trans, pers, m_eScint );
239  TPCNV_TRANSTOPERS( trans, pers, m_eNull );
240 
241  // JetECS: some in persistent are different than in transient
242  for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p1::ECS_t>; ++i ) {
243  TPCNV_TRANSTOPERS( trans, pers, m_ePreSamBCell[i] );
244  TPCNV_TRANSTOPERS( trans, pers, m_ePreSamECell[i] );
245  TPCNV_TRANSTOPERS( trans, pers, m_eEMB1Cell[i] );
246  TPCNV_TRANSTOPERS( trans, pers, m_eEME1Cell[i] );
247 
248  // Transient has the energy separated in 2 eta bins, for eta < 0.8 and eta >=0.8
249  // the persistent variables is the sum of both
250  pers->m_eEMB2Cell[i] = trans->m_eEMB2Cell1[i] + trans->m_eEMB2Cell2[i];
251  pers->m_eEMB3Cell[i] = trans->m_eEMB3Cell1[i] + trans->m_eEMB3Cell2[i];
252 
253  // Transient has the energy separated in 2 eta bins, for eta < 2.5 and eta >=2.5
254  // the persistent variables is the sum of both
255  pers->m_eEME2Cell[i] = trans->m_eEME2Cell1[i] + trans->m_eEME2Cell2[i];
256  pers->m_eEME3Cell[i] = trans->m_eEME3Cell1[i] + trans->m_eEME3Cell2[i];
257 
258  TPCNV_TRANSTOPERS( trans, pers, m_eTileBar0Cell[i] );
259  TPCNV_TRANSTOPERS( trans, pers, m_eTileBar1Cell[i] );
260  TPCNV_TRANSTOPERS( trans, pers, m_eTileBar2Cell[i] );
261  TPCNV_TRANSTOPERS( trans, pers, m_eTileExt0Cell[i] );
262  TPCNV_TRANSTOPERS( trans, pers, m_eTileExt1Cell[i] );
263  TPCNV_TRANSTOPERS( trans, pers, m_eTileExt2Cell[i] );
264 
265  // Transient has the energy separated in 2 eta bins, for eta < 2.5 and eta >=2.5
266  // the persistent variables is the sum of both
267  pers->m_eHec0Cell[i] = trans->m_eHec0Cell1[i] + trans->m_eHec0Cell2[i];
268  pers->m_eHec1Cell[i] = trans->m_eHec1Cell1[i] + trans->m_eHec1Cell2[i];
269  pers->m_eHec2Cell[i] = trans->m_eHec2Cell1[i] + trans->m_eHec2Cell2[i];
270  pers->m_eHec3Cell[i] = trans->m_eHec3Cell1[i] + trans->m_eHec3Cell2[i];
271 
272  TPCNV_TRANSTOPERS( trans, pers, m_eFCal0Cell[i] );
273  TPCNV_TRANSTOPERS( trans, pers, m_eFCal1Cell[i] );
274  TPCNV_TRANSTOPERS( trans, pers, m_eFCal2Cell[i] );
275  }
276 
277  // Energy in cone radii
278  for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p1::ERad_t>; ++i ) {
279  // Name of energy in cone radii in transient is different from persistent
280  pers->m_erad[i] = trans->m_erad_cells[i];
281 
282  // Persistent does not contain m_erad_tracks
283  }
284 
285 // msg << MSG::DEBUG << "Created persistent state of JetSampling [OK]"
286 // << endmsg;
287  }

◆ transToPers() [2/5]

template<class TRANS , class PERS >
virtual void TPConverterConstBase< TRANS, PERS >::transToPers ( const TRANS *  transObj,
PERS persObj,
MsgStream &  log 
) const
pure virtualinherited

Convert transient representation to persistent one.

Copies data members from transient object to an existing persistent one. Needs to be implemented by the developer on the actual converter.

Parameters
transObj[IN] transient object
persObj[IN] persistent object
log[IN] output message stream

Implemented in TPCnvVectorConst< TrigCaloClusterContainer, TrigCaloClusterContainer_p3, TrigCaloClusterCnv_p3 >, TPCnvStdVectorConst< TRANS, PERS, CONV >, TPCnvVectorConst< TRANS, PERS, CONV >, TPPtrVectorCnvConst< TRANS, PERS, CONV >, TPPolyVectorCnvConst< TRANS, PERS, CONV >, T_TilePoolContainerCnv< TRANS, PERS, CONV >, TPConverterWithKeyBase< TRANS, PERS >, TPCnvStdVectorConst< std::vector< TrigMonTE >, std::vector< TrigMonTE_p1 >, TrigMonTECnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonSeq >, std::vector< TrigMonSeq_p1 >, TrigMonSeqCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonRoi >, std::vector< TrigMonRoi_p1 >, TrigMonRoiCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonROBData >, std::vector< TrigMonROBData_p1 >, TrigMonROBDataCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonROB >, std::vector< TrigMonROB_p1 >, TrigMonROBCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigMonAlg >, std::vector< TrigMonAlg_p1 >, TrigMonAlgCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfSig >, std::vector< TrigConfSig_p1 >, TrigConfSigCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfSeq >, std::vector< TrigConfSeq_p1 >, TrigConfSeqCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfChain >, std::vector< TrigConfChain_p1 >, TrigConfChainCnv_p1 >, TPCnvStdVectorConst< std::vector< TrigConfAlg >, std::vector< TrigConfAlg_p1 >, TrigConfAlgCnv_p1 >, TPPtrVectorCnvConst< std::vector< const JetTagInfoBase * >, std::vector< TPObjRef >, ITPConverterFor< JetTagInfoBase > >, TPPolyVectorCnvConst< std::vector< const JetTagInfoBase * >, std::vector< TPObjRef >, ITPConverterFor< JetTagInfoBase > >, TPPtrVectorCnvConst< std::vector< const JetAssociationBase * >, std::vector< TPObjRef >, ITPConverterFor< JetAssociationBase > >, TPPolyVectorCnvConst< std::vector< const JetAssociationBase * >, std::vector< TPObjRef >, ITPConverterFor< JetAssociationBase > >, TPCnvVectorConst< RingerRingsContainer, RingerRingsContainer_p2, RingerRingsCnv_p2 >, TPCnvVectorConst< JetCollection, ParticleJetContainer_p1, ParticleJetCnv_p1 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p6, MuonCnv_p6 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p5, MuonCnv_p5 >, TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p4, MuonCnv_p4 >, and TPCnvVectorConst< Analysis::MuonContainer, MuonContainer_p3, MuonCnv_p3 >.

◆ transToPers() [3/5]

virtual void TPConverterConstBase< TRANS, PERS >::transToPers

Convert transient representation to persistent one.

Copies data members from transient object to an existing persistent one. Needs to be implemented by the developer on the actual converter.

Parameters
transObj[IN] transient object
persObj[IN] persistent object
log[IN] output message stream

◆ transToPers() [4/5]

virtual void TPConverterConstBase< TRANS, PERS >::transToPers
inlinefinaloverride

Definition at line 815 of file TPConverter.h.

818  {
819  return const_cast<const TPConverterConstBase*>(this)->transToPers (transObj, persObj, log);
820  }

◆ transToPers() [5/5]

template<class TRANS , class PERS >
virtual void TPConverterConstBase< TRANS, PERS >::transToPers ( const TRANS *  transObj,
PERS persObj,
MsgStream &  log 
)
inlinefinaloverridevirtualinherited

Convert transient representation to persistent one.

Copies data members from transient object to an existing persistent one. Needs to be implemented by the developer on the actual converter.

Parameters
transObj[IN] transient object
persObj[IN] persistent object
log[IN] output message stream

Implements TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 815 of file TPConverter.h.

818  {
819  return const_cast<const TPConverterConstBase*>(this)->transToPers (transObj, persObj, log);
820  }

◆ transToPersUntyped()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::transToPersUntyped ( const void *  trans,
void *  pers,
MsgStream &  log 
)
inlinevirtualinherited

Convert transient object representation to persistent.

Parameters
trans[IN] void* pointer to the transient object
pers[OUT] void* pointer to the empty persistent object
log[IN] output message stream

Implements ITPCnvBase.

Definition at line 410 of file TPConverter.h.

413  {
414  transToPers (reinterpret_cast<const TRANS*> (trans),
415  reinterpret_cast<PERS*> (pers),
416  log);
417  }

◆ transToPersWithKey()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::transToPersWithKey ( const TRANS *  transObj,
PERS persObj,
const std::string &  ,
MsgStream &  log 
)
inlinevirtualinherited

Convert transient representation to persistent one.

Copies data members from transient object to an existing persistent one. Needs to be implemented by the developer on the actual converter.

Parameters
transObj[IN] transient object
persObj[IN] persistent object
key[IN] SG key of object being written.
log[IN] output message stream

Reimplemented in TPConverterWithKeyBase< TRANS, PERS >.

Definition at line 392 of file TPConverter.h.

395  {
396  return transToPers (transObj, persObj, log);
397  }

◆ transToPersWithKeyUntyped()

virtual void TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::transToPersWithKeyUntyped ( const void *  trans,
void *  pers,
const std::string &  key,
MsgStream &  log 
)
inlinevirtualinherited

Convert transient object representation to persistent.

Parameters
trans[IN] void* pointer to the transient object
pers[OUT] void* pointer to the empty persistent object
key[IN] SG key of object being written.
log[IN] output message stream

Reimplemented from ITPCnvBase.

Definition at line 432 of file TPConverter.h.

436  {
437  transToPersWithKey (reinterpret_cast<const TRANS*> (trans),
438  reinterpret_cast<PERS*> (pers),
439  key,
440  log);
441  }

◆ typeID()

template<class TRANS >
virtual const TPObjRef::typeID_t& ITPConverterFor< TRANS >::typeID ( ) const
inlinevirtualinherited

Return TP typeID for persistent objects produced by this converter.

Returns
TPObjRef::typeID_t&

Implements ITPConverter.

Definition at line 208 of file TPConverter.h.

208 { return m_pStorageTID; }

◆ typeIDvalue()

template<class TRANS >
unsigned ITPConverterFor< TRANS >::typeIDvalue ( ) const
inlineinherited

inlined non-virtual version to get the typeID value fast

Definition at line 211 of file TPConverter.h.

211 { return m_pStorageTIDvalue; }

◆ virt_createTransFromPStore()

virtual TRANS* TPPolyCnvBase< TRANS , TRANS, PERS >::virt_createTransFromPStore ( unsigned  index,
MsgStream &  log 
)
inlinevirtualinherited

Internal interface method that is used to invoke the real conversion method (createTransient)

Parameters
index[IN] index of the persistent object in the storage vector
log[IN] output message stream
Returns
Created transient object (by pointer)

Reimplemented from TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 706 of file TPConverter.h.

706  {
707  assert (index < this->m_pStorage->size());
708  return createTransient( &(*this->m_pStorage)[index], log );
709  }

◆ virt_createTransFromPStoreWithKey()

virtual TRANS* TPPolyCnvBase< TRANS , TRANS, PERS >::virt_createTransFromPStoreWithKey ( unsigned  index,
const std::string &  key,
MsgStream &  log 
)
inlinevirtualinherited

Internal interface method that is used to invoke the real conversion method (createTransient)

Parameters
index[IN] index of the persistent object in the storage vector
key[IN] SG key of the object being converted
log[IN] output message stream
Returns
Created transient object (by pointer)

Reimplemented from TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 718 of file TPConverter.h.

721  {
722  assert (index < this->m_pStorage->size());
723  return createTransientWithKey( &(*this->m_pStorage)[index], key, log );
724  }

◆ virt_toPersistent()

template<class TRANS , class PERS >
virtual TPObjRef TPConverterBase< TRANS, PERS >::virt_toPersistent ( const TRANS *  trans,
MsgStream &  log 
)
inlinevirtualinherited

Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.

Parameters
trans[IN] transient object
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object Here toPersistent_impl is invoked with the dynamic cast of the transient type pointer to it's actual type

Reimplemented from TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 747 of file TPConverter.h.

747  {
748  return this->toPersistentWithKey_impl( trans, "", log);
749  }

◆ virt_toPersistentWithKey()

template<class TRANS , class PERS >
virtual TPObjRef TPConverterBase< TRANS, PERS >::virt_toPersistentWithKey ( const TRANS *  trans,
const std::string &  key,
MsgStream &  log 
)
inlinevirtualinherited

Internal interface method that is used to invoke the real conversion method (toPersistent_impl) in the derived converter.

Parameters
trans[IN] transient object
key[IN] SG key of the object being converted.
log[IN] output message stream
Returns
TPObjRef TP reference to the persistent representation stored in the storage vector of the top-level persistent object Here toPersistentWithKey_impl is invoked with the dynamic cast of the transient type pointer to it's actual type

Reimplemented from TPAbstractPolyCnvBase< TRANS, TRANS, PERS >.

Definition at line 752 of file TPConverter.h.

755  {
756  return this->toPersistentWithKey_impl( trans, key, log);
757  }

◆ wasUsedForReading()

template<class TRANS >
bool ITPConverterFor< TRANS >::wasUsedForReading ( )
inlineinherited

Definition at line 236 of file TPConverter.h.

236 { return m_wasUsedForReading; }

Member Data Documentation

◆ m_curRecLevel

int TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::m_curRecLevel
protectedinherited

count recursive invocations, to detect recursion

Definition at line 582 of file TPConverter.h.

◆ m_hlvCnv

const HepLorentzVectorCnv_p1 JetSamplingCnv_p1::m_hlvCnv
staticprotected

Definition at line 58 of file JetSamplingCnv_p1.h.

◆ m_ignoreRecursion

bool TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::m_ignoreRecursion
protectedinherited

if true, do not throw errors in case of recursion.

Definition at line 588 of file TPConverter.h.

◆ m_pStorage

std::vector< PERS >* TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::m_pStorage
protectedinherited

the address of the storage vector for persistent representations

Definition at line 579 of file TPConverter.h.

◆ m_pStorageTID

template<class TRANS >
TPObjRef::typeID_t ITPConverterFor< TRANS >::m_pStorageTID
protectedinherited

TP Ref typeID for the persistent objects this converter is creating.

Definition at line 292 of file TPConverter.h.

◆ m_pStorageTIDvalue

template<class TRANS >
unsigned ITPConverterFor< TRANS >::m_pStorageTIDvalue
protectedinherited

m_pStorageTID converted to integer value

Definition at line 295 of file TPConverter.h.

◆ m_recursive

bool TPAbstractPolyCnvBase< TRANS , TRANS, PERS >::m_recursive
protectedinherited

if true, work in recursion-safe way (slower)

Definition at line 585 of file TPConverter.h.

◆ m_topConverter

template<class TRANS >
TopLevelTPCnvBase* ITPConverterFor< TRANS >::m_topConverter
protectedinherited

top level converter that owns this elemental TP converter it also holds the storage object

Definition at line 299 of file TPConverter.h.

◆ m_topConverterRuntime

template<class TRANS >
TopLevelTPCnvBase* ITPConverterFor< TRANS >::m_topConverterRuntime
protectedinherited

top level converter "owning" this TP converter at runtime (different from m_topConverter in case the top-level converter and object have extensions)

Definition at line 302 of file TPConverter.h.

◆ m_wasUsedForReading

template<class TRANS >
bool ITPConverterFor< TRANS >::m_wasUsedForReading
protectedinherited

flag set when using this converter for reading triggers search for a new converter before writing, to prevent possible use of old version

Definition at line 306 of file TPConverter.h.


The documentation for this class was generated from the following files:
ITPConverter::typeID
virtual const TPObjRef::typeID_t & typeID() const =0
Return TP typeID for persistent objects produced by this converter.
TopLevelTPCnvBase::converterForType
ITPConverter * converterForType(const std::type_info &info) const
Find and return a TP converter for a given C++ type info.
Definition: TopLevelTPCnvBase.h:80
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::m_pStorage
std::vector< PERS > * m_pStorage
the address of the storage vector for persistent representations
Definition: TPConverter.h:579
TPCNV_TRANSTOPERS
#define TPCNV_TRANSTOPERS(t, p, x)
Definition: JetSamplingCnv_p1.cxx:28
JetSampling::m_eHec3Cell1
double_array16 m_eHec3Cell1
Definition: JetSampling.h:342
JetSampling::set_hlv_samp
void set_hlv_samp(const CLHEP::HepLorentzVector &v)
Set 4-momentum for Jets Sampling/Layer.
Definition: JetSampling.h:66
ITPConverterFor::m_topConverter
TopLevelTPCnvBase * m_topConverter
top level converter that owns this elemental TP converter it also holds the storage object
Definition: TPConverter.h:299
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::toPersistentWithKey_impl
TPObjRef toPersistentWithKey_impl(const TRANS *trans, const std::string &key, MsgStream &log)
Convert transient object to persistent representation.
JetSampling_p1::m_edFCal1Cell
ECS_t m_edFCal1Cell
Definition: JetSampling_p1.h:116
JetSampling::m_pn
CLHEP::HepLorentzVector m_pn
Nearest Truth Jet kinematics.
Definition: JetSampling.h:267
TPObjRef::typeID_t::value
unsigned value() const
Returns the type ID as an integer.
Definition: TPObjRef.h:46
index
Definition: index.py:1
TPConverterConstBase::transToPers
virtual void transToPers(const TRANS *transObj, PERS *persObj, MsgStream &log) const =0
Convert transient representation to persistent one.
TPPolyCnvBase< TRANS, TRANS, PERS >::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
JetSampling_p1::m_erad
ERad_t m_erad
Definition: JetSampling_p1.h:148
JetSampling_p1::m_edEMB0Cell
JS_t m_edEMB0Cell
Definition: JetSampling_p1.h:106
JetSampling::eFCalCell
double eFCalCell(const int ireg, const int ie) const
Returns the jet energy in cell energy density bin ie for HEC, eta<2.5 (ireg=0) and eta>=2....
Definition: JetSampling.cxx:211
JetSampling_p1::m_eHec0Cell
ECS_t m_eHec0Cell
Definition: JetSampling_p1.h:138
JetSampling::m_pt
CLHEP::HepLorentzVector m_pt
Particle-In-Cone jet kinematics.
Definition: JetSampling.h:264
JetSampling_p1::m_edTile1Cell
ECS_t m_edTile1Cell
Definition: JetSampling_p1.h:112
TopLevelTPCnvBase::converterForRef
ITPConverter * converterForRef(const TPObjRef &ref) const
Find and return a TP converter for persistent type referenced by ref.
Definition: TopLevelTPCnvBase.h:89
JetSampling::m_pr
CLHEP::HepLorentzVector m_pr
Reconstructed Jet at EM scale kinematics.
Definition: JetSampling.h:261
JetSampling::eEMBCell
double eEMBCell(const int ireg) const
Sets jet energy in layer FCAL2
Definition: JetSampling.cxx:117
JetSampling::m_eEMB2Cell1
double_array16 m_eEMB2Cell1
Definition: JetSampling.h:325
TPPolyCnvBase< TRANS, TRANS, PERS >::createTransientWithKey
virtual TRANS * createTransientWithKey(const PERS *persObj, const std::string &key, MsgStream &log)
Create transient representation of a persistent object, with SG key.
JetSamplingCnv_p1::persToTrans
virtual void persToTrans(const JetSampling_p1 *pers, JetSampling *trans, MsgStream &msg) const override
Method creating the transient representation of JetSampling from its persistent representation JetSam...
Definition: JetSamplingCnv_p1.cxx:34
JetSampling::m_eEME2Cell2
double_array16 m_eEME2Cell2
Definition: JetSampling.h:330
JetSampling_p1::m_edEME2Cell
ECS_t m_edEME2Cell
Definition: JetSampling_p1.h:111
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::m_ignoreRecursion
bool m_ignoreRecursion
if true, do not throw errors in case of recursion.
Definition: TPConverter.h:588
ITPConverterFor::topConverter
virtual TopLevelTPCnvBase * topConverter()
return the top-level converter for this elemental TP converter
Definition: TPConverter.h:191
TPObjRef
Definition: TPObjRef.h:20
JetSamplingCnv_p1::m_hlvCnv
static const HepLorentzVectorCnv_p1 m_hlvCnv
Definition: JetSamplingCnv_p1.h:58
JetSampling_p1::m_eEMB2Cell
ECS_t m_eEMB2Cell
Definition: JetSampling_p1.h:127
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::transToPers
virtual void transToPers(const TRANS *transObj, PERS *persObj, MsgStream &log)=0
Convert transient representation to persistent one.
ITPConverterFor::m_wasUsedForReading
bool m_wasUsedForReading
flag set when using this converter for reading triggers search for a new converter before writing,...
Definition: TPConverter.h:306
JetSampling_p1::m_pt
HepLorentzVector_p1 m_pt
Truth jet kinematics.
Definition: JetSampling_p1.h:60
JetSampling::set_hlv_rec
void set_hlv_rec(const CLHEP::HepLorentzVector &v)
Set 4-momentum for uncalibrated jet.
Definition: JetSampling.h:59
JetSampling_p1::m_edEME0Cell
JS_t m_edEME0Cell
Definition: JetSampling_p1.h:109
JetSampling::m_samp
CLHEP::HepLorentzVector m_samp
Kinematics of the PISA calibrated jet
Definition: JetSampling.h:276
JetSampling::m_eEME3Cell1
double_array16 m_eEME3Cell1
Definition: JetSampling.h:331
TPCNV_PERSTOTRANS
#define TPCNV_PERSTOTRANS(p, t, x)
Definition: JetSamplingCnv_p1.cxx:27
JetSampling::set_hlv_pisa
void set_hlv_pisa(const CLHEP::HepLorentzVector &v)
Set 4-momentum for Jets PISA.
Definition: JetSampling.h:65
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
JetSampling::m_eEMB3Cell1
double_array16 m_eEMB3Cell1
Definition: JetSampling.h:327
JetSampling::set_hlv_ntj
void set_hlv_ntj(const CLHEP::HepLorentzVector &v)
Set 4-momentum for Nearest-Truth-Jet.
Definition: JetSampling.h:61
ITPConverterFor::converterForType
CNV * converterForType(CNV *cnv, const std::type_info &t_info, MsgStream &log) const
Find converter for a given C++ type ID, that is or ihnerits from CNV type.
Definition: TPConverter.h:58
lumiFormat.i
int i
Definition: lumiFormat.py:85
JetSampling_p1::m_edFCal2Cell
ECS_t m_edFCal2Cell
Definition: JetSampling_p1.h:117
JetSampling_p1::m_edEMB1Cell
ECS_t m_edEMB1Cell
Definition: JetSampling_p1.h:107
ITPConverterFor::m_pStorageTID
TPObjRef::typeID_t m_pStorageTID
TP Ref typeID for the persistent objects this converter is creating.
Definition: TPConverter.h:292
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
JetSampling::m_eHec3Cell2
double_array16 m_eHec3Cell2
Definition: JetSampling.h:346
JetSampling::m_eEME3Cell2
double_array16 m_eEME3Cell2
Definition: JetSampling.h:332
JetSampling::m_dr1
double m_dr1
Kinematics of the Sampling calbirated jet
Definition: JetSampling.h:278
master.flag
bool flag
Definition: master.py:29
JetSamplingCnv_p1::transToPers
virtual void transToPers(const JetSampling *trans, JetSampling_p1 *pers, MsgStream &msg) const override
Method creating the persistent representation JetSampling_p1 from its transient representation JetSam...
Definition: JetSamplingCnv_p1.cxx:171
JetSampling::m_eHec2Cell2
double_array16 m_eHec2Cell2
Definition: JetSampling.h:345
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::persToTransWithKey
virtual void persToTransWithKey(const PERS *persObj, TRANS *transObj, const std::string &, MsgStream &log)
Convert persistent representation to transient one.
Definition: TPConverter.h:376
JetSampling::eEMECell
double eEMECell(const int ireg) const
Returns the jet energy in cell energy density bin ie for EMB2 (ireg=0) and EMB3 (ireg=1)
Definition: JetSampling.cxx:145
JetSampling::eHecCell
double eHecCell(const int ireg, const int ie) const
Returns the jet energy in cell energy density bin ie for TileBar (ireg=0) and TileExt (ireg=1) calori...
Definition: JetSampling.cxx:191
HepLorentzVectorCnv_p1::transToPers
virtual void transToPers(const CLHEP::HepLorentzVector *transObj, HepLorentzVector_p1 *persObj, MsgStream &log) const override
Method creating the persistent representation HepLorentzVector_p1 from its transient representation H...
Definition: HepLorentzVectorCnv_p1.cxx:35
JetSampling_p1::m_edHec1Cell
ECS_t m_edHec1Cell
Definition: JetSampling_p1.h:114
JetSampling::set_hlv_h1
void set_hlv_h1(const CLHEP::HepLorentzVector &v)
Set 4-momentum for Jets H1.
Definition: JetSampling.h:64
ITPConverterFor::m_topConverterRuntime
TopLevelTPCnvBase * m_topConverterRuntime
top level converter "owning" this TP converter at runtime (different from m_topConverter in case the ...
Definition: TPConverter.h:302
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
JetSampling_p1::m_samp
HepLorentzVector_p1 m_samp
Calib jet kinematics (samplings)
Definition: JetSampling_p1.h:72
JetSampling_p1::m_edHec2Cell
ECS_t m_edHec2Cell
Definition: JetSampling_p1.h:115
JetSampling::m_eHec2Cell1
double_array16 m_eHec2Cell1
Definition: JetSampling.h:341
JetSampling::m_eHec0Cell2
double_array16 m_eHec0Cell2
Definition: JetSampling.h:343
ITPConverterFor::converterForRef
CNV * converterForRef(CNV *cnv, const TPObjRef &ref, MsgStream &log) const
Find converter for a TP type ID (passed in a TP Ref), that is or ihnerits from CNV type.
Definition: TPConverter.h:74
JetSampling::m_eEMB3Cell2
double_array16 m_eEMB3Cell2
Definition: JetSampling.h:328
JetSampling_p1::m_eEMB3Cell
ECS_t m_eEMB3Cell
Definition: JetSampling_p1.h:128
TPConverterConstBase::persToTrans
virtual void persToTrans(const PERS *persObj, TRANS *transObj, MsgStream &log) const =0
Convert persistent representation to transient one.
JetSampling_p1::m_eHec1Cell
ECS_t m_eHec1Cell
Definition: JetSampling_p1.h:139
JetSampling::set_hlv_pic
void set_hlv_pic(const CLHEP::HepLorentzVector &v)
Set 4-momentum for Particle-In-Cone jet.
Definition: JetSampling.h:60
PERS
RpcSectorLogicContainer_p1 PERS
Definition: RpcSectorLogicContainerCnv.h:13
JetSampling::m_h1
CLHEP::HepLorentzVector m_h1
Definition: JetSampling.h:274
RpcSectorLogicContainer_p1
Class to represent.
Definition: RpcSectorLogicContainer_p1.h:19
JetSampling_p1::m_eHec2Cell
ECS_t m_eHec2Cell
Definition: JetSampling_p1.h:140
HepLorentzVectorCnv_p1::persToTrans
virtual void persToTrans(const HepLorentzVector_p1 *persObj, CLHEP::HepLorentzVector *transObj, MsgStream &log) const override
Method creating the transient representation of HepLorentzVector from its persistent representation H...
Definition: HepLorentzVectorCnv_p1.cxx:26
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::transToPersWithKey
virtual void transToPersWithKey(const TRANS *transObj, PERS *persObj, const std::string &, MsgStream &log)
Convert transient representation to persistent one.
Definition: TPConverter.h:392
JetSampling_p1::m_edTile2Cell
ECS_t m_edTile2Cell
Definition: JetSampling_p1.h:113
JetSampling::m_erad_cells
double_array10 m_erad_cells
Definition: JetSampling.h:352
JetSampling_p1::m_eEME2Cell
ECS_t m_eEME2Cell
Definition: JetSampling_p1.h:130
ITPConverterFor::initPrivateConverters
virtual void initPrivateConverters(TopLevelTPCnvBase *)
Definition: TPConverter.h:187
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::m_recursive
bool m_recursive
if true, work in recursion-safe way (slower)
Definition: TPConverter.h:585
JetSampling::m_eHec0Cell1
double_array16 m_eHec0Cell1
Definition: JetSampling.h:339
JetSampling_p1::m_edEME1Cell
ECS_t m_edEME1Cell
Definition: JetSampling_p1.h:110
JetSampling_p1::m_eEME3Cell
ECS_t m_eEME3Cell
Definition: JetSampling_p1.h:131
ITPConverterFor::m_pStorageTIDvalue
unsigned m_pStorageTIDvalue
m_pStorageTID converted to integer value
Definition: TPConverter.h:295
JetSampling::m_eEMB2Cell2
double_array16 m_eEMB2Cell2
Definition: JetSampling.h:326
JetSampling::m_pisa
CLHEP::HepLorentzVector m_pisa
Kinematics of the H1 calibrated jet
Definition: JetSampling.h:275
JetSampling_p1::m_edEMB2Cell
ECS_t m_edEMB2Cell
Definition: JetSampling_p1.h:108
ref
const boost::regex ref(r_ef)
JetSampling::m_eHec1Cell1
double_array16 m_eHec1Cell1
Definition: JetSampling.h:340
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::persToTrans
virtual void persToTrans(const PERS *persObj, TRANS *transObj, MsgStream &log)=0
Convert persistent representation to transient one.
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
JetSampling_p1::m_h1
HepLorentzVector_p1 m_h1
Calib jet kinematics (H1)
Definition: JetSampling_p1.h:66
JetSampling_p1::m_pr
HepLorentzVector_p1 m_pr
Reco jet kinematics.
Definition: JetSampling_p1.h:57
ITPConverter
Definition: TPTools/TPTools/ITPConverter.h:32
ITPConverter::converterNotFound
virtual void converterNotFound(const std::type_info &converterType, ITPConverter *c, const std::string &typeName, MsgStream &log) const
method called when the right TP converter was not found during writing
Definition: ITPConverter.cxx:22
JetSampling::m_dr2
double m_dr2
Distance between reconstructed jet and closest NTJ jet
Definition: JetSampling.h:279
TPObjRef::typeID
unsigned typeID() const
returns the type ID (as integer) of the referenced object
Definition: TPObjRef.h:71
JetSampling::eTileCell
double eTileCell(const int ireg, const int ie) const
Returns the jet energy in cell energy density bin ie for EME2 (ireg=0) and EME3 (ireg=1)
Definition: JetSampling.cxx:173
JetSampling::m_erad_tracks
double_array10 m_erad_tracks
Definition: JetSampling.h:355
TPConverterConstBase
Definition: TPConverter.h:776
JetSampling_p1::m_eHec3Cell
ECS_t m_eHec3Cell
Definition: JetSampling_p1.h:141
JetSampling_p1::m_pisa
HepLorentzVector_p1 m_pisa
Calib jet kinematics (PISA)
Definition: JetSampling_p1.h:69
python.compressB64.c
def c
Definition: compressB64.py:93
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
JetSampling_p1::m_pn
HepLorentzVector_p1 m_pn
Nearest truth jet kinematics.
Definition: JetSampling_p1.h:63
JetSampling::m_eEME2Cell1
double_array16 m_eEME2Cell1
Definition: JetSampling.h:329
TPAbstractPolyCnvBase< TRANS, TRANS, PERS >::m_curRecLevel
int m_curRecLevel
count recursive invocations, to detect recursion
Definition: TPConverter.h:582
JetSampling::m_eHec1Cell2
double_array16 m_eHec1Cell2
Definition: JetSampling.h:344
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37