ATLAS Offline Software
Loading...
Searching...
No Matches
GenericMuonSimHitCollectionCnv.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
18#include "HitManagement/AthenaHitsVector.h" //for back-compatibility
19
20
25
27
29 MsgStream log(msgSvc(), "GenericMuonSimHitCollectionCnv" );
30 ATH_MSG_DEBUG("createPersistent(): main converter");
31 GenericMuonSimHitCollection_PERS *pixdc_p= m_TPConverter_p2.createPersistent( transCont, log );
32 return pixdc_p;
33}
34
36 MsgStream log(msgSvc(), "GenericMuonSimHitCollectionCnv" );
37 static const pool::Guid p1_guid("C2D5D558-2671-11E1-AAFA-001E4F3E5646");
38 static const pool::Guid p2_guid("3760C0D8-C7EA-42C7-925A-E841196F2138");
39 static const pool::Guid p3_guid("018E2DAC-18EB-7635-A068-B08EFB5CD64A");
40 ATH_MSG_DEBUG("createTransient(): main converter");
41 GenericMuonSimHitCollection* p_collection(nullptr);
42 if( compareClassGuid(p3_guid) ) {
43 ATH_MSG_DEBUG("createTransient(): T/P version 3 detected");
44 std::unique_ptr< Muon::GenericMuonSimHitCollection_p3 > col_vect( this->poolReadObject< Muon::GenericMuonSimHitCollection_p3 >() );
45 p_collection = m_TPConverter_p3.createTransient( col_vect.get(), log );
46 } else if( compareClassGuid(p2_guid) ) {
47 ATH_MSG_DEBUG("createTransient(): T/P version 2 detected");
48 std::unique_ptr< Muon::GenericMuonSimHitCollection_p2 > col_vect( this->poolReadObject< Muon::GenericMuonSimHitCollection_p2 >() );
49 p_collection = m_TPConverter_p2.createTransient( col_vect.get(), log );
50 } else if( compareClassGuid(p1_guid) ) {
51 ATH_MSG_DEBUG("createTransient(): T/P version 1 detected");
52 std::unique_ptr< Muon::GenericMuonSimHitCollection_p1 > col_vect( this->poolReadObject< Muon::GenericMuonSimHitCollection_p1 >() );
53 p_collection = m_TPConverter_p1.createTransient( col_vect.get(), log );
54 }
55 //----------------------------------------------------------------
56 else {
57 throw std::runtime_error("Unsupported persistent version of GenericMuonSimHitCollection");
58
59 }
60 return p_collection;
61}
#define ATH_MSG_DEBUG(x)
T_AthenaPoolCustomCnv< GenericMuonSimHitCollection, GenericMuonSimHitCollection_PERS > GenericMuonSimHitCollectionCnvBase
Muon::GenericMuonSimHitCollection_p2 GenericMuonSimHitCollection_PERS
AtlasHitsVector< GenericMuonSimHit > GenericMuonSimHitCollection
virtual GenericMuonSimHitCollection * createTransient()
GenericMuonSimHitCollectionCnv_p3 m_TPConverter_p3
virtual GenericMuonSimHitCollection_PERS * createPersistent(GenericMuonSimHitCollection *transCont)
GenericMuonSimHitCollectionCnv_p2 m_TPConverter_p2
GenericMuonSimHitCollectionCnv_p1 m_TPConverter_p1