ATLAS Offline Software
EventShapeStoreCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #include "EventShapeStoreCnv.h"
9 
11 {
12  MsgStream report( msgSvc(), "EventShapeStoreConverter" );
13  report << MSG::INFO << "Writing EventShapeStore_p1" << endmsg;
14  EventShapeStoreCnv_p1 TPconverter;
15  EventShapeStore_PERS *persObj = TPconverter.createPersistent( transObj, report );
16 
17  return persObj;
18 }
19 
21 {
22  static const pool::Guid p1_guid("730C49D9-47C2-45D4-A755-1313F4A2ACB1");
23  if( compareClassGuid(p1_guid) )
24  {
25  EventShapeStoreCnv_p1 TPconverter;
26  // using unique_ptr ensures deletion of the persistent object
27  std::unique_ptr<EventShapeStore_p1> shapestore( poolReadObject< EventShapeStore_p1 >() );
28  MsgStream report( msgSvc(), "EventShapeStoreCnv" );
29  report << MSG::INFO << "Reading EventShapeStore_p1" << endmsg;
30  return TPconverter.createTransient( shapestore.get(), report );
31  }
32  throw std::runtime_error("Unsupported persistent version of EventShapeStore");
33 }
EventShapeStore_p1
Definition: EventShapeStore_p1.h:11
EventShapeStoreCnv::createPersistent
virtual EventShapeStore_PERS * createPersistent(EventShapeStore *transObj)
Definition: EventShapeStoreCnv.cxx:10
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
checkTP.report
report
Definition: checkTP.py:127
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
EventShapeStoreCnv.h
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
EventShapeStoreCnv_p1.h
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EventShapeStore
Definition: EventShapeStore.h:15
EventShapeStoreCnv::createTransient
virtual EventShapeStore * createTransient()
Definition: EventShapeStoreCnv.cxx:20
EventShapeStoreConverterBase< EventShapeStore_p1 >
Definition: EventShapeStoreCnv_p1.h:20
EventShapeStore_p1.h
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.