ATLAS Offline Software
TileMuFeatureCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #include "TileMuFeatureCnv.h"
14 
17 
18 //createPersistent
20  MsgStream mlog(msgSvc(), "TileMuFeatureConverter" );
21 
22  mlog << MSG::DEBUG << "TileMuFeatureCnv::createPersistent" << endmsg;
23 
24  TileMuFeatureCnv_p1 converter;
25  TileMuFeature_PERS *persObj = converter.createPersistent( transObj, mlog );
26  return persObj;
27 }
28 
29 //createTransient
31  MsgStream mlog(msgSvc(), "TileMuFeatureConverter" );
32 
33  mlog << MSG::DEBUG << "TileMuFeatureCnv::createTransient " << endmsg;
34 
35  static const pool::Guid p1_guid("F853E605-AFD5-44F9-98BC-4D777CBCBEE4");
36  // from "TrigEvent/TrigMuonEventTPCnv/TrigMuonEventTPCnv/selection.xml"
37 
38  static const pool::Guid p0_guid("526B0709-442D-4D2C-8C1F-8C3922149656");
39  // from "TrigEvent/TrigMuonEvent/TrigMuonEvent/selection.xml"
40 
41  if( compareClassGuid(p1_guid) ) {
42  std::unique_ptr< TileMuFeature_p1 > col_vect( poolReadObject< TileMuFeature_p1 >() );
43  TileMuFeatureCnv_p1 converter;
44  return converter.createTransient( col_vect.get(), mlog );
45 
46  }
47  else if( compareClassGuid(p0_guid) ) {
48  // old version from before TP separation, just return it
49  return this->poolReadObject<TileMuFeature>();
50  }
51  else {
52  throw std::runtime_error("Unsupported persistent version");
53  }
54 
55 }
56 
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
TileMuFeature_p1
Definition: TileMuFeature_p1.h:24
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
TileMuFeatureCnv::createTransient
virtual TileMuFeature * createTransient()
Definition: TileMuFeatureCnv.cxx:30
TileMuFeatureCnv::TileMuFeatureCnv
TileMuFeatureCnv(ISvcLocator *svcloc)
Definition: TileMuFeatureCnv.cxx:15
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
TileMuFeatureCnv.h
python.InDetPriVxFinderConfig.mlog
mlog
Definition: InDetPriVxFinderConfig.py:139
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition: T_AthenaPoolCustomCnv.h:132
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
TileMuFeatureCnv::createPersistent
virtual TileMuFeature_PERS * createPersistent(TileMuFeature *transObj)
Definition: TileMuFeatureCnv.cxx:19
TileMuFeatureCnv_p1.h
DEBUG
#define DEBUG
Definition: page_access.h:11
TileMuFeatureCnv_p1
Definition: TileMuFeatureCnv_p1.h:29
TileMuFeatureCnv::~TileMuFeatureCnv
~TileMuFeatureCnv()
Definition: TileMuFeatureCnv.cxx:16
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
TileMuFeature
Definition: TileMuFeature.h:33