|
ATLAS Offline Software
|
#include <CaloClusterContainerCnv_p5.h>
|
virtual void | persToTrans (const CaloClusterContainer_p5 *pers, CaloClusterContainer *trans, MsgStream &log) const override |
|
virtual void | transToPers (const CaloClusterContainer *trans, CaloClusterContainer_p5 *pers, MsgStream &log) const override |
|
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 PERS * | createPersistentConst (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 PERS * | createPersistent (const TRANS *transObj, MsgStream &log) |
| Create persistent representation of a transient object. More...
|
|
virtual PERS * | createPersistentWithKey (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 TopLevelTPCnvBase * | topConverter () |
| return the top-level converter for this elemental TP converter More...
|
|
virtual const TopLevelTPCnvBase * | topConverter () 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_t & | typeID () 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...
|
|
◆ base_class
template<class TRANS , class PERS >
◆ CellLinkState
◆ Factory
◆ Pers_t
◆ PersBase_t
◆ PolyCnvBase_t
◆ ShowerLinkState
◆ Trans_t
◆ TransBase_t
◆ baseToPersistent()
template<class TRANS >
template<class CNV >
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.
98 if( !*cnv || (*cnv)->wasUsedForReading() ) {
102 (*cnv)->clearReadingFlag();
105 return (**cnv).virt_toPersistent(transObj,
log);
◆ clearReadingFlag()
◆ converterForRef()
template<class TRANS >
template<class CNV >
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.
76 cnv =
dynamic_cast<CNV*
>(
c);
◆ 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.
60 cnv =
dynamic_cast< CNV*
>(
c );
◆ 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.
27 log << MSG::ERROR <<
">>>>>> in parent TP converter " <<
typeid(*this).name()
28 <<
": could not find matching TP converter for type " <<
typeName <<
endmsg;
30 log << MSG::ERROR <<
" - found incompatible converter of type "
31 <<
typeid(*c).name() <<
endmsg;
33 log << MSG::ERROR <<
" Converter handle type was " << converterType.name() <<
endmsg;
◆ 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.
45 log << MSG::ERROR <<
">>>>>> in parent TP converter " <<
typeid(*this).name()
46 <<
" requested TP converter for TP type ID " <<
typeID <<
" not found " <<
endmsg;
48 log << MSG::ERROR <<
" - found converter " <<
typeid(*c).name()
49 <<
" for " <<
c->transientTInfo().name()
50 <<
" with an incompatible base type " <<
c->transBaseTInfo().name()
53 log << MSG::ERROR <<
" Converter handle type was " << reqCnvTypeName <<
endmsg;
◆ createPersistent()
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 >
◆ createPersistentWithKey()
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 >
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.
173 if(
ref.isNull() )
return 0;
175 if( !cnv ) cnv = &temp_cnv_p;
177 if( !*cnv || (*cnv)->typeID().value() !=
ref.typeID() ) {
180 if( !*cnv )
return 0;
181 (*cnv)->setReadingFlag();
183 return (**cnv).virt_createTransFromPStore(
ref.index(),
log );
◆ createTransient()
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 >
◆ createTransientWithKey()
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 >
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.
146 if(
ref.isNull() )
return;
148 if( !cnv ) cnv = &temp_cnv_p;
150 if( !*cnv || (*cnv)->typeID().value() !=
ref.typeID() ) {
154 (*cnv)->setReadingFlag();
156 (**cnv).pstoreToTrans(
ref.index(), trans,
log );
◆ ignoreRecursion()
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.
◆ initPrivateConverters()
Reimplemented in JetConverterBase< Jet_p5 >, JetConverterBase< Jet_p6 >, JetCnv_p4, TauPi0DetailsCnv_p2, TauPi0ClusterCnv_p1, TauPi0DetailsCnv_p1, TauPi0CandidateCnv_p1, TrackParticleBaseCnv_p1, TrigVertexCnv_p1, TrigVertexCnv_p2, TrigInDetTrackCollectionCnv_p1, MeasuredNeutralAtaSurfaceCnv_p1< SURFACE_CNV, ATA_SURFACE >, MeasuredNeutralAtaSurfaceCnv_p1< NeutralAtaStraightLineCnv_p1, Trk::NeutralAtaStraightLine >, MeasuredNeutralAtaSurfaceCnv_p1< NeutralAtaPlaneCnv_p1, Trk::NeutralAtaPlane >, MeasuredNeutralAtaSurfaceCnv_p1< NeutralAtaDiscCnv_p1, Trk::NeutralAtaDisc >, MeasuredNeutralAtaSurfaceCnv_p1< NeutralAtaCylinderCnv_p1, Trk::NeutralAtaCylinder >, SegmentCnv_p1, VxCandidateCnv_p1, MeasuredAtaSurfaceCnv_p1< SURFACE_CNV, ATA_SURFACE >, TrackCnv_p3, MeasuredAtaSurfaceCnv_p1< AtaDiscCnv_p1, Trk::AtaDisc >, MeasuredAtaSurfaceCnv_p1< AtaPlaneCnv_p1, Trk::AtaPlane >, MeasuredAtaSurfaceCnv_p1< AtaCylinderCnv_p1, Trk::AtaCylinder >, MeasuredAtaSurfaceCnv_p1< CurvilinearParametersCnv_p1, Trk::CurvilinearParameters >, MeasuredAtaSurfaceCnv_p1< AtaStraightLineCnv_p1, Trk::AtaStraightLine >, TrackCnv_p4, TrackParticleCnv_p2, TrackCnv_p1, TrackCnv_p2, TrackCnv_p12, V0CandidateCnv_p1, VxCandidateCnv_p2, and TrackParticleCnv_p3.
Definition at line 187 of file TPConverter.h.
◆ persistentTInfo() [1/2]
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 |
◆ persToTrans() [1/6]
Definition at line 29 of file CaloClusterContainerCnv_p5.cxx.
48 std::vector<float> temp_Moments;
52 std::vector<float>::const_iterator i_mom = temp_Moments.begin();
53 std::vector<float>::const_iterator i_mom_e = temp_Moments.end();
56 unsigned int nkeys =
keys.size();
60 std::vector<float> tmp_badChannelEta;
61 std::vector<float> tmp_badChannelPhi;
66 std::vector<float> tmp_rawE;
67 std::vector<float> tmp_rawEtaPhiM;
69 C.expandToFloat(pers->
m_rawE,tmp_rawE);
70 std::vector<float>::const_iterator iraw1 = tmp_rawE.begin();
71 std::vector<float>::const_iterator iraw2 = tmp_rawE.end();
75 std::vector<float>::const_iterator iraw3 = tmp_rawEtaPhiM.begin();
76 std::vector<float>::const_iterator iraw4 = tmp_rawEtaPhiM.end();
82 bool mom_overrun_err =
false;
83 bool store_overrun_err =
false;
84 bool raw_overrun_err =
false;
91 log << MSG::WARNING <<
" problem to decode bad channel information, not filled..." <<
endmsg;
114 for (
int i=0;
i<nVar;++
i) {
118 for (
int j=0;j<nSamplings; ++j){
122 if (
c1 < dataStore_size)
126 if (!store_overrun_err) {
128 "CaloClusterContainerCnv_p5")
129 <<
"Corrupted data: data store array overrun "
130 << pers->
m_vec.size() <<
" clusters "
131 << nkeys <<
" moment keys "
132 << temp_Moments.size() <<
" total moments.";
133 store_overrun_err =
true;
137 static_cast<samptype
>(j),
143 static_cast<samptype
>(j));
160 for (
unsigned short i=0;
i<nkeys;++
i) {
162 if (i_mom == i_mom_e) {
164 if (!mom_overrun_err) {
166 "CaloClusterContainerCnv_p5")
167 <<
"Corrupted data: moment array overrun "
168 << pers->
m_vec.size() <<
" clusters "
169 << nkeys <<
" moment keys "
170 << temp_Moments.size() <<
" total moments.";
171 mom_overrun_err =
true;
178 transStore.insert (transStore.end(), CaloClusterMomentStore::moment_store::value_type(
keys[
i],
val ) );
185 while (ibad1 != ibad2 && (*ibad1) ==
index) {
186 float eta = tmp_badChannelEta[nbad] + transCluster->
eta();
200 if (iraw1 != iraw2) {
201 if (std::fabs(transCluster->
e())>0.1) {
202 transCluster->
m_rawE = (*iraw1) * transCluster->
e();
205 transCluster->
m_rawE = (*iraw1);
208 if (iraw3 != iraw4) {
209 transCluster->
m_rawEta = (*iraw3) + transCluster->
eta();
212 if (iraw3 != iraw4) {
216 if (iraw3 == iraw4 && !raw_overrun_err) {
218 "CaloClusterContainerCnv_p5")
219 <<
"Corrupted data: raw array overrun "
220 << pers->
m_vec.size() <<
" clusters "
221 << tmp_rawE.size() <<
" raw values.";
222 raw_overrun_err =
true;
224 if (iraw3 != iraw4) {
225 transCluster->
m_rawM = (*iraw3);
240 if (i_mom != i_mom_e && !mom_overrun_err) {
242 "CaloClusterContainerCnv_p5")
243 <<
"Corrupted data: not all moments read "
244 << pers->
m_vec.size() <<
" clusters "
245 << nkeys <<
" moment keys "
246 << temp_Moments.size() <<
" total moments "
247 << i_mom-temp_Moments.begin() <<
" read.";
250 if (
c1 != dataStore_size && !store_overrun_err) {
252 "CaloClusterContainerCnv_p5")
253 <<
"Corrupted data: not all data store members read "
254 << dataStore_size <<
" elements "
258 if (iraw1 != iraw2 && !raw_overrun_err) {
260 "CaloClusterContainerCnv_p5")
261 <<
"Corrupted data: not all raw values read "
262 << pers->
m_vec.size() <<
" clusters "
263 << tmp_rawE.size() <<
" raw values "
264 << iraw1-tmp_rawE.begin() <<
" read.";
267 if (iraw3 != iraw4 && !raw_overrun_err) {
269 "CaloClusterContainerCnv_p5")
270 <<
"Corrupted data: not all raw values read "
271 << pers->
m_vec.size() <<
" clusters "
272 << tmp_rawEtaPhiM.size() <<
" raw values "
273 << iraw3-tmp_rawEtaPhiM.begin() <<
" read.";
277 if (ibad1 != ibad2) {
279 "CaloClusterContainerCnv_p5")
280 <<
"Corrupted data: not all bad data read "
◆ persToTrans() [2/6]
◆ persToTrans() [3/6]
template<class TRANS , class PERS >
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() [4/6]
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() [5/6]
◆ persToTrans() [6/6]
template<class TRANS , class PERS >
|
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.
◆ persToTransUntyped()
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.
405 reinterpret_cast<TRANS*
> (trans),
◆ persToTransWithKey()
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.
◆ persToTransWithKeyUntyped()
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.
426 reinterpret_cast<TRANS*
> (trans),
◆ 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.
◆ reservePStorage()
◆ setPStorage()
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.
◆ setReadingFlag()
◆ setRecursive()
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.
◆ setRuntimeTopConverter()
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()
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.
◆ topConverter() [1/2]
return the top-level converter for this elemental TP converter
- Returns
- TopLevelTPCnvBas
Reimplemented from ITPConverter.
Definition at line 191 of file TPConverter.h.
◆ topConverter() [2/2]
return the top-level converter for this elemental TP converter
- Returns
- TopLevelTPCnvBas
Reimplemented from ITPConverter.
Definition at line 196 of file TPConverter.h.
◆ toPersistent()
template<class TRANS >
template<class CNV >
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.
122 if( !cnv ) cnv = &temp_cnv_p;
123 if( !*cnv || (*cnv)->wasUsedForReading() ) {
127 (*cnv)->clearReadingFlag();
129 return (**cnv).virt_toPersistent(transObj,
log);
◆ toPersistentWithKey_impl()
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()
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]
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]
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/6]
◆ transToPers() [2/6]
Definition at line 292 of file CaloClusterContainerCnv_p5.cxx.
336 for (
int w=0;
w<nMom;
w++){
344 "CaloClusterContainerCnv_p5")
345 <<
"Inconsistent number of cluster moments: cluster "
346 << it2 - trans->
begin() <<
" of " << trans->
size()
347 <<
" have " <<
ms.size()
353 std::vector<float> temp_Moments;
355 std::vector<float> tmp_badChannelEta;
356 std::vector<float> tmp_badChannelPhi;
358 std::vector<float> tmp_rawE;
359 std::vector<float> tmp_rawEtaPhiM;
360 tmp_rawE.reserve(trans->
size());
361 tmp_rawEtaPhiM.reserve(3*trans->
size());
383 for (
int i=0;
i<nVar;++
i) {
388 for (
int j=0;j<nSamplings; ++j)
389 if ( testbit(
cl.m_samplingPattern, j)) {
391 (
static_cast<vartype
>(
i),
392 static_cast<samptype
>(j)));
397 for (
int j=0;j<nSamplings; ++j)
398 if ( testbit(
cl.m_samplingPattern, j))
404 for (
int j=0;j<nSamplings; ++j)
405 if ( testbit(
cl.m_samplingPattern, j))
407 static_cast<samptype
>(j)))
410 static_cast<samptype
>(j))
412 <<
"\t sampling: "<<j<<
endmsg;
420 std::vector<unsigned short>::const_iterator itk =
422 std::vector<unsigned short>::const_iterator itk_e =
425 cl.m_momentStore.begin();
427 cl.m_momentStore.end();
428 for (; itk != itk_e; ++itk) {
430 if (itm != itm_e && itm.getMomentType() == *itk) {
431 val = (*itm).getValue();
435 itm =
cl.m_momentStore.find
438 val = (*itm).getValue();
442 temp_Moments.push_back(
val);
450 float etac =
bad.getEta()-(
cl.eta());
454 short status = ((sampl & 0xff) | ((
flag.packedData() & 0xff) << 8));
455 tmp_badChannelEta.push_back(etac);
456 tmp_badChannelPhi.push_back(phic);
463 if (std::fabs(
e)>0.1) {
465 tmp_rawE.push_back(
eratio);
468 tmp_rawE.push_back(
cl.m_rawE);
469 tmp_rawEtaPhiM.push_back(
cl.m_rawEta-
cl.eta());
471 tmp_rawEtaPhiM.push_back( dphi);
472 tmp_rawEtaPhiM.push_back(
cl.m_rawM);
488 C.reduce(tmp_rawE,pers->
m_rawE);
◆ transToPers() [3/6]
template<class TRANS , class PERS >
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() [4/6]
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() [5/6]
◆ transToPers() [6/6]
template<class TRANS , class PERS >
|
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.
◆ transToPersUntyped()
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.
414 transToPers (
reinterpret_cast<const TRANS*
> (trans),
415 reinterpret_cast<PERS*
> (pers),
◆ transToPersWithKey()
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.
◆ transToPersWithKeyUntyped()
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.
438 reinterpret_cast<PERS*
> (pers),
◆ typeID()
◆ typeIDvalue()
inlined non-virtual version to get the typeID value fast
Definition at line 211 of file TPConverter.h.
◆ 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.
◆ 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.
◆ virt_toPersistent()
template<class TRANS , class PERS >
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.
◆ virt_toPersistentWithKey()
template<class TRANS , class PERS >
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.
◆ wasUsedForReading()
◆ m_caloTowerSegCnv
◆ m_cellElementLinkCnv
◆ m_curRecLevel
count recursive invocations, to detect recursion
Definition at line 582 of file TPConverter.h.
◆ m_ignoreRecursion
if true, do not throw errors in case of recursion.
Definition at line 588 of file TPConverter.h.
◆ m_P4EEtaPhiMCnv
◆ m_pStorage
the address of the storage vector for persistent representations
Definition at line 579 of file TPConverter.h.
◆ m_pStorageTID
TP Ref typeID for the persistent objects this converter is creating.
Definition at line 292 of file TPConverter.h.
◆ m_pStorageTIDvalue
m_pStorageTID converted to integer value
Definition at line 295 of file TPConverter.h.
◆ m_recursive
if true, work in recursion-safe way (slower)
Definition at line 585 of file TPConverter.h.
◆ m_showerElementLinkCnv
◆ m_topConverter
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
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
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:
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
virtual const TPObjRef::typeID_t & typeID() const =0
Return TP typeID for persistent objects produced by this converter.
ITPConverter * converterForType(const std::type_info &info) const
Find and return a TP converter for a given C++ type info.
std::vector< PERS > * m_pStorage
the address of the storage vector for persistent representations
MomentType
enums to identify different moments
char data[hepevt_bytes_allocation_ATLAS]
setCharge setNTRTHiThresholdHits eratio
double phi0() const
Returns raw of cluster seed.
CaloClusterMomentStore m_momentStore
cluster moments
Const iterator class for DataVector/DataList.
void setTime(double theTime)
Set cluster time.
static const AthenaBarCode_t UNDEFINEDBARCODE
double m_altPhi
Stores calibrated (cell weight) signal.
TopLevelTPCnvBase * m_topConverter
top level converter that owns this elemental TP converter it also holds the storage object
value_type retrieveData(variable_key_type theVariable, sampling_key_type theSampling) const
Retrieve const reference to individual variable.
Scalar phi() const
phi method
virtual const CaloTowerSeg & getTowerSeg() const
Retrieve tower segmentation.
TPObjRef toPersistentWithKey_impl(const TRANS *trans, const std::string &key, MsgStream &log)
Convert transient object to persistent representation.
void transToPers(State &state, const Link_t &trans, PersLink_t &pers, const SG::ThinningCache *cache, MsgStream &log) const
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
unsigned value() const
Returns the type ID as an integer.
Scalar eta() const
pseudorapidity method
virtual void transToPers(const TRANS *transObj, PERS *persObj, MsgStream &log) const =0
Convert transient representation to persistent one.
double m_eta0
Cluster seed
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
virtual void setMomentStore(const moment_store &rMomStore)
Set internal store.
bool storeData(variable_key_type theVariable, sampling_key_type theSampling, value_type theData)
}
ElementLinkCnv_p2< ElementLink< CaloShowerContainer > > m_showerElementLinkCnv
unsigned int m_samplingPattern
unsigned short m_nMoments
unsigned int m_varTypePattern
ElementLinkInt_p2 m_dataLink
std::vector< short > m_badLayerStatusList
ElementLinkInt_p2 m_cellLink
ITPConverter * converterForRef(const TPObjRef &ref) const
Find and return a TP converter for persistent type referenced by ref.
double m_altE
Stores calibrated (cell weight) signal.
CaloTowerSeg_p1 m_towerSeg
virtual TRANS * createTransientWithKey(const PERS *persObj, const std::string &key, MsgStream &log)
Create transient representation of a persistent object, with SG key.
Internally used iterator.
virtual void transToPers(const P4EEtaPhiM *transObj, P4EEtaPhiMFloat_p2 *persObj, MsgStream &log) const override
Method creating the persistent representation P4EEtaPhiMFloat_p2 from its transient representation P4...
virtual double getBasicEnergy() const
Access basic energy scale signal.
bool setDefaultSignalState(signalstate_t s)
Sets default signal state.
P4EEtaPhiMCnv_p2 m_P4EEtaPhiMCnv
bool removeVariable(variable_key_type theVariable, sampling_key_type theSampling)
Remove a certain variable.
bool m_ignoreRecursion
if true, do not throw errors in case of recursion.
virtual TopLevelTPCnvBase * topConverter()
return the top-level converter for this elemental TP converter
std::vector< unsigned int > m_Mvalue
Stores CaloClusterMoment in a keyed map.
unsigned int m_caloRecoStatus
virtual void transToPers(const TRANS *transObj, PERS *persObj, MsgStream &log)=0
Convert transient representation to persistent one.
bool m_wasUsedForReading
flag set when using this converter for reading triggers search for a new converter before writing,...
void persToTrans(const CaloTowerSeg_p1 *, CaloTowerSeg *) const
ElementLinkCnv_p2< ElementLink< CaloShowerContainer > >::State ShowerLinkState
ElementLinkContNames_p2 m_linkNames
cell_link_type m_cellLink
Local pointer to cell store.
data_link_type m_dataLink
{
std::vector< unsigned int > m_rawE
ElementLinkCnv_p2< ElementLink< CaloCellLinkContainer > >::State CellLinkState
size_t getNumberOfSamplings() const
Set variable type pattern for this store.
double m_phi0
Cluster seed
unsigned int m_varTypePattern
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.
void expandToFloat(const std::vector< unsigned int > &vc, std::vector< float > &vf)
size_t getNumberOfVariableTypes() const
Return number of variable types.
TPObjRef::typeID_t m_pStorageTID
TP Ref typeID for the persistent objects this converter is creating.
void reduce(const std::vector< float > &vf, std::vector< unsigned int > &vi)
bool m_endcap
Flag is true if at least one cell in EMB.
CaloSamplingData m_dataStore
{\ brief Cached Stores
ElementLinkCnv_p2< ElementLink< CaloCellLinkContainer > > m_cellElementLinkCnv
double m_altM
Stores calibrated (cell weight) signal.
virtual void persToTransWithKey(const PERS *persObj, TRANS *transObj, const std::string &, MsgStream &log)
Convert persistent representation to transient one.
Principal data class for CaloCell clusters.
double m_rawM
Stores raw signal.
void transToPers(const CaloTowerSeg *, CaloTowerSeg_p1 *) const
unsigned int m_samplingPattern
Sampling pattern.
TopLevelTPCnvBase * m_topConverterRuntime
top level converter "owning" this TP converter at runtime (different from m_topConverter in case the ...
std::vector< CaloClusterBadChannelData > badChannelList
Get Bad Channel information.
static double fix(double phi)
virtual void transToPers(const CaloClusterContainer *trans, CaloClusterContainer_p5 *pers, MsgStream &log) const override
virtual void persToTrans(const CaloClusterContainer_p5 *pers, CaloClusterContainer *trans, MsgStream &log) const override
void clear()
Erase all the elements in the collection.
void persToTrans(State &state, const PersLink_t &pers, Link_t &trans, MsgStream &log) const
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.
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
std::vector< float > m_dataStore
double m_rawPhi
Stores raw signal.
virtual void persToTrans(const PERS *persObj, TRANS *transObj, MsgStream &log) const =0
Convert persistent representation to transient one.
std::vector< unsigned int > m_badPhiList
double getTime() const
Access cluster time.
RpcSectorLogicContainer_p1 PERS
value_type push_back(value_type pElem)
Add an element to the end of the collection.
std::vector< unsigned int > m_badEtaList
CaloRecoStatus m_status
Calorimeter reconstruction status.
contType::const_iterator const_iterator
virtual void transToPersWithKey(const TRANS *transObj, PERS *persObj, const std::string &, MsgStream &log)
Convert transient representation to persistent one.
double m_altEta
Stores calibrated (cell weight) signal.
virtual void initPrivateConverters(TopLevelTPCnvBase *)
bool m_recursive
if true, work in recursion-safe way (slower)
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
CaloTowerSegCnv_p1 m_caloTowerSegCnv
unsigned int m_clusterSize
std::vector< unsigned int > m_rawEtaPhiM
contType::iterator iterator
std::vector< short > m_badClusIndexList
unsigned m_pStorageTIDvalue
m_pStorageTID converted to integer value
unsigned int getClusterSize() const
Get cluster size.
std::map< moment_key, moment_value > moment_store
Internal moment store type.
virtual double eta() const
Retrieve eta independent of signal state.
CaloClusterMomentContainer_p2 m_momentContainer
const boost::regex ref(r_ef)
std::vector< unsigned short > m_Mkey
virtual void persToTrans(const PERS *persObj, TRANS *transObj, MsgStream &log)=0
Convert persistent representation to transient one.
P4EEtaPhiMFloat_p2 m_P4EEtaPhiM
virtual double e() const
Retrieve energy independent of signal state.
void setClusterSize(unsigned int theClusterSize)
Set cluster size.
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
virtual const store_type & getStatusWord() const
retrieve the entire status word
double m_rawE
Stores raw signal.
double eta0() const
Returns raw of cluster seed.
Data object stores CaloTower segmentation.
virtual void setTowerSeg(const CaloTowerSeg &towerSeg)
Set tower segmentation into CaloClusterContainer.
virtual void setBasicEnergy(double theEnergy)
Set basic energy scale signal.
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
unsigned typeID() const
returns the type ID (as integer) of the referenced object
Simple data object to store all variables in calorimeter samplings.
setBGCode setTAP setLVL2ErrorBits bool
void addBadChannel(const CaloClusterBadChannelData &badChannel)
Add Bad channel information.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
size_type size() const noexcept
Returns the number of elements in the collection.
bool m_barrel
Flag is true if at least one cell in EMB.
reconstruction status indicator
void resetBadChannel()
Reset Bad channel list.
double m_rawEta
Stores raw signal.
virtual void persToTrans(const P4EEtaPhiMFloat_p2 *persObj, P4EEtaPhiM *transObj, MsgStream &log) const override
Method creating the transient representation of P4EEtaPhiM from its persistent representation P4EEtaP...
int m_curRecLevel
count recursive invocations, to detect recursion
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static double diff(double phi1, double phi2)
simple phi1 - phi2 calculation, but result is fixed to respect range.
virtual double phi() const
Retrieve phi independent of signal state.