ATLAS Offline Software
Loading...
Searching...
No Matches
MMPrepDataContainerCnv.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7#include "GaudiKernel/StatusCode.h"
8#include "GaudiKernel/MsgStream.h"
11
16
18
20 // Call base clase initialize
22 return StatusCode::FAILURE;
23
24 // Get the messaging service, print where you are
25 MsgStream log(msgSvc(), "MMPrepDataContainerCnv");
26 if (log.level() <= MSG::INFO) log << MSG::INFO << "MMPrepDataContainerCnv::initialize()" << endmsg;
27
28 return StatusCode::SUCCESS;
29}
30
32 MsgStream log(msgSvc(), "MMPrepDataContainerCnv" );
33 if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createPersistent(): main converter"<<endmsg;
34 MMPrepDataContainer_PERS *pers= m_converter_p2.createPersistent( transCont, log );
35 // COMPRESS MMPrepDataContainer_PERS *pers= m_converter_p1.createPersistent( transCont, log );
36 return pers;
37}
38
40 MsgStream log(msgSvc(), "MMPrepDataContainerCnv" );
41 static const pool::Guid p1_guid("5E5C97E2-8D7C-11E2-9FCB-001517648C14");
42 static const pool::Guid p2_guid("86B42223-304D-4AFA-8E94-A49B23AC8865");
43 if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): main converter"<<endmsg;
44 Muon::MMPrepDataContainer* p_collection(nullptr);
45 if( compareClassGuid(p1_guid) ) {
46 if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): T/P version 1 detected"<<endmsg;
47 std::unique_ptr< Muon::MMPrepDataContainer_p1 > p_coll( poolReadObject< Muon::MMPrepDataContainer_p1 >() );
48 p_collection = m_converter_p1.createTransient( p_coll.get(), log );
49 } else if(compareClassGuid(p2_guid)) {
50 if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): T/P version 2 detected"<<endmsg;
51 std::unique_ptr< Muon::MMPrepDataContainer_p2 > p_coll( poolReadObject< Muon::MMPrepDataContainer_p2 >() );
52 p_collection = m_converter_p2.createTransient( p_coll.get(), log );
53
54 }else {
55 throw std::runtime_error("Unsupported persistent version of MMPrepDataContainer.");
56
57 }
58 return p_collection;
59}
#define endmsg
Muon::MMPrepDataContainer_p2 MMPrepDataContainer_PERS
T_AthenaPoolCustomCnv< Muon::MMPrepDataContainer, MMPrepDataContainer_PERS > MMPrepDataContainerCnvBase
Muon::MMPrepDataContainerCnv_p1 m_converter_p1
MMPrepDataContainerCnv(ISvcLocator *svcloc)
virtual ~MMPrepDataContainerCnv()
virtual MMPrepDataContainer_PERS * createPersistent(Muon::MMPrepDataContainer *transCont)
virtual Muon::MMPrepDataContainer * createTransient()
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Muon::MMPrepDataContainerCnv_p2 m_converter_p2
MuonPrepDataContainerT< MMPrepData > MMPrepDataContainer