ATLAS Offline Software
Loading...
Searching...
No Matches
STGC_RawDataContainerCnv.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
8
10 STGC_RawDataContainerCnvBase(svcloc, "STGC_RawDataContainerCnv")
11{
12}
13
15
17 // Call base clase initialize
19
20 // Get the helper from the detector store
21 const sTgcIdHelper *idHelper;
22 ATH_CHECK( detStore()->retrieve(idHelper) );
23 m_TPConverter_p1.initialize(idHelper);
24 m_TPConverter_p2.initialize(idHelper);
25 m_TPConverter_p3.initialize(idHelper);
26
27 return StatusCode::SUCCESS;
28}
29
33
36{
37 using namespace Muon;
38
39 STGC_RawDataContainer *transCont = nullptr;
40 static const pool::Guid p3_guid("693ACD72-6796-4251-A932-9ABAF679A2B3");
41 static const pool::Guid p2_guid("F66FDF31-1BFD-43DE-B793-93635D98597E");
42 static const pool::Guid p1_guid("E9229710-DB8A-447E-9546-4BAB079C7547");
43
44 if( compareClassGuid(p3_guid) ) {
45 std::unique_ptr< STGC_RawDataContainer_p3 > cont( this->poolReadObject<STGC_RawDataContainer_p3>() );
46 const STGC_RawDataContainer_p3* constCont = cont.get();
47 transCont = m_TPConverter_p3.createTransient( constCont, msg() );
48
49 } else if( compareClassGuid(p2_guid) ) {
50 std::unique_ptr< STGC_RawDataContainer_p2 > cont( this->poolReadObject<STGC_RawDataContainer_p2>() );
51 const STGC_RawDataContainer_p2* constCont = cont.get();
52 transCont = m_TPConverter_p2.createTransient( constCont, msg() );
53
54 } else if( compareClassGuid(p1_guid) ) {
55 std::unique_ptr< STGC_RawDataContainer_p1 > cont( this->poolReadObject<STGC_RawDataContainer_p1>() );
56 const STGC_RawDataContainer_p1* constCont = cont.get();
57 transCont = m_TPConverter_p1.createTransient( constCont, msg() );
58
59 } else {
60 throw std::runtime_error("Unsupported persistent version of STGC Raw Data (RDO) container");
61 }
62 return transCont;
63}
#define ATH_CHECK
Evaluate an expression and check for errors.
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS > STGC_RawDataContainerCnvBase
Muon::STGC_RawDataContainer_p3 STGC_RawDataContainer_PERS
Muon::STGC_RawDataContainerCnv_p2 m_TPConverter_p2
STGC_RawDataContainerCnv(ISvcLocator *svcloc)
virtual Muon::STGC_RawDataContainer * createTransient()
Muon::STGC_RawDataContainerCnv_p3 m_TPConverter_p3
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Muon::STGC_RawDataContainerCnv_p1 m_TPConverter_p1
virtual STGC_RawDataContainer_PERS * createPersistent(Muon::STGC_RawDataContainer *transCont)
virtual ~STGC_RawDataContainerCnv()
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.