ATLAS Offline Software
Loading...
Searching...
No Matches
CscSimDataCollectionCnv.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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(), "CscSimDataCollectionCnv" );
26 ATH_MSG_DEBUG("createPersistent(): main converter");
27 CscSimDataCollection_PERS *pixdc_p= m_TPConverter_p2.createPersistent( transCont, log );
28 return pixdc_p;
29}
30
32 MsgStream log(msgSvc(), "CscSimDataCollectionCnv" );
33 static const pool::Guid p0_guid("250EC949-F98B-4F74-9034-178847D1B622");
34 static const pool::Guid p1_guid("DD2A8397-4435-4DA2-AD14-ADD7294694B2");
35 static const pool::Guid p2_guid("023993E1-BAAA-4F36-8CD4-8F03E3983E8D");
36 static const pool::Guid p3_guid("018F5280-E75C-7B27-9881-75B356B2A282");
37 ATH_MSG_DEBUG("createTransient(): main converter");
38 CscSimDataCollection* p_collection(nullptr);
39 if( compareClassGuid(p3_guid) ) {
40 ATH_MSG_DEBUG("createTransient(): T/P version 3 detected");
41 std::unique_ptr< Muon::CscSimDataCollection_p3 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_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::CscSimDataCollection_p2 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_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::CscSimDataCollection_p1 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_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< CscSimDataCollection > col_vect( poolReadObject< CscSimDataCollection >() );
60 p_collection = col_vect.release();
61 }
62 //----------------------------------------------------------------
63 else {
64 throw std::runtime_error("Unsupported persistent version of CscSimDataCollection");
65
66 }
67 return p_collection;
68}
#define ATH_MSG_DEBUG(x)
T_AthenaPoolCustomCnv< CscSimDataCollection, CscSimDataCollection_PERS > CscSimDataCollectionCnvBase
Muon::CscSimDataCollection_p2 CscSimDataCollection_PERS
virtual CscSimDataCollection * createTransient()
virtual ~CscSimDataCollectionCnv()
CscSimDataCollectionCnv_p2 m_TPConverter_p2
virtual CscSimDataCollection_PERS * createPersistent(CscSimDataCollection *transCont)
CscSimDataCollectionCnv(ISvcLocator *svcloc)
CscSimDataCollectionCnv_p3 m_TPConverter_p3
CscSimDataCollectionCnv_p1 m_TPConverter_p1