ATLAS Offline Software
Loading...
Searching...
No Matches
MuonSimDataCollectionCnv.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// Gaudi
8#include "GaudiKernel/StatusCode.h"
9#include "GaudiKernel/MsgStream.h"
10
11// Athena
13
16
21
23
25 MsgStream log(msgSvc(), "MuonSimDataCollectionCnv" );
26 ATH_MSG_DEBUG("createPersistent(): main converter");
27 MuonSimDataCollection_PERS *pixdc_p= m_TPConverter_p2.createPersistent( transCont, log );
28 return pixdc_p;
29}
30
32 MsgStream log(msgSvc(), "MuonSimDataCollectionCnv" );
33 static const pool::Guid p0_guid("5B50C32E-A036-4B49-AC97-716E53210BE2");
34 static const pool::Guid p1_guid("0605B4A3-3744-4486-B39D-F9C9E809D868");
35 static const pool::Guid p2_guid("E0AA3013-4EF7-45B6-BDB1-17B21BF60791");
36 static const pool::Guid p3_guid("018F527E-346B-7A37-8C3D-5E7420A9C76A");
37 ATH_MSG_DEBUG("createTransient(): main converter");
38 MuonSimDataCollection* p_collection(nullptr);
39 if( compareClassGuid(p3_guid) ) {
40 ATH_MSG_DEBUG("createTransient(): T/P version 3 detected");
41 std::unique_ptr< Muon::MuonSimDataCollection_p3 > col_vect( this->poolReadObject< Muon::MuonSimDataCollection_p3 >() );
42 p_collection = m_TPConverter_p3.createTransient( col_vect.get(), log );
43 }
44 //----------------------------------------------------------------
45 else if( compareClassGuid(p2_guid) ) {
46 ATH_MSG_DEBUG("createTransient(): T/P version 2 detected");
47 std::unique_ptr< Muon::MuonSimDataCollection_p2 > col_vect( this->poolReadObject< Muon::MuonSimDataCollection_p2 >() );
48 p_collection = m_TPConverter_p2.createTransient( col_vect.get(), log );
49 }
50 //----------------------------------------------------------------
51 else if( compareClassGuid(p1_guid) ) {
52 ATH_MSG_DEBUG("createTransient(): T/P version 1 detected");
53 std::unique_ptr< Muon::MuonSimDataCollection_p1 > col_vect( this->poolReadObject< Muon::MuonSimDataCollection_p1 >() );
54 p_collection = m_TPConverter_p1.createTransient( col_vect.get(), log );
55 }
56 //----------------------------------------------------------------
57 else if( compareClassGuid(p0_guid) ){
58 if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): Old input file"<<std::endl;
59 std::unique_ptr< MuonSimDataCollection > col_vect( poolReadObject< MuonSimDataCollection >() );
60 p_collection = col_vect.release();
61 }
62 //----------------------------------------------------------------
63 else {
64 throw std::runtime_error("Unsupported persistent version of MuonSimDataCollection");
65
66 }
67 return p_collection;
68}
#define ATH_MSG_DEBUG(x)
Muon::MuonSimDataCollection_p2 MuonSimDataCollection_PERS
T_AthenaPoolCustomCnv< MuonSimDataCollection, MuonSimDataCollection_PERS > MuonSimDataCollectionCnvBase
virtual MuonSimDataCollection * createTransient()
MuonSimDataCollectionCnv(ISvcLocator *svcloc)
MuonSimDataCollectionCnv_p3 m_TPConverter_p3
virtual ~MuonSimDataCollectionCnv()
virtual MuonSimDataCollection_PERS * createPersistent(MuonSimDataCollection *transCont)
MuonSimDataCollectionCnv_p2 m_TPConverter_p2
MuonSimDataCollectionCnv_p1 m_TPConverter_p1