ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventAthenaPool
src
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
5
#include "
STGC_RawDataContainerCnv.h
"
6
#include "
StoreGate/StoreGateSvc.h
"
7
#include "
MuonIdHelpers/sTgcIdHelper.h
"
8
9
STGC_RawDataContainerCnv::STGC_RawDataContainerCnv
(ISvcLocator* svcloc) :
10
STGC_RawDataContainerCnvBase
(svcloc,
"STGC_RawDataContainerCnv"
)
11
{
12
}
13
14
STGC_RawDataContainerCnv::~STGC_RawDataContainerCnv
() =
default
;
15
16
StatusCode
STGC_RawDataContainerCnv::initialize
() {
17
// Call base clase initialize
18
ATH_CHECK
(
STGC_RawDataContainerCnvBase::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
30
STGC_RawDataContainer_PERS
*
STGC_RawDataContainerCnv::createPersistent
(
Muon::STGC_RawDataContainer
* transCont) {
31
return
m_TPConverter_p3
.createPersistent( transCont,
msg
() );
32
}
33
34
Muon::STGC_RawDataContainer
*
35
STGC_RawDataContainerCnv::createTransient
(
const
Token
* token)
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
(token, p3_guid) ) {
45
std::unique_ptr< STGC_RawDataContainer_p3 > cont( this->
poolReadObject<STGC_RawDataContainer_p3>
(token) );
46
const
STGC_RawDataContainer_p3
* constCont = cont.get();
47
transCont =
m_TPConverter_p3
.createTransient( constCont,
msg
() );
48
49
}
else
if
(
compareClassGuid
(token, p2_guid) ) {
50
std::unique_ptr< STGC_RawDataContainer_p2 > cont( this->
poolReadObject<STGC_RawDataContainer_p2>
(token) );
51
const
STGC_RawDataContainer_p2
* constCont = cont.get();
52
transCont =
m_TPConverter_p2
.createTransient( constCont,
msg
() );
53
54
}
else
if
(
compareClassGuid
(token, p1_guid) ) {
55
std::unique_ptr< STGC_RawDataContainer_p1 > cont( this->
poolReadObject<STGC_RawDataContainer_p1>
(token) );
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
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
STGC_RawDataContainerCnv.h
STGC_RawDataContainerCnvBase
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS > STGC_RawDataContainerCnvBase
Definition
STGC_RawDataContainerCnv.h:15
STGC_RawDataContainer_PERS
Muon::STGC_RawDataContainer_p3 STGC_RawDataContainer_PERS
Definition
STGC_RawDataContainerCnv.h:14
StoreGateSvc.h
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS >::msg
MsgStream & msg() const
Definition
AthMessaging.h:167
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
Definition
AthenaPoolConverter.h:68
Muon::STGC_RawDataContainer_p1
Definition
STGC_RawDataContainer_p1.h:14
Muon::STGC_RawDataContainer_p2
Definition
STGC_RawDataContainer_p2.h:14
Muon::STGC_RawDataContainer_p3
Definition
STGC_RawDataContainer_p3.h:14
Muon::STGC_RawDataContainer
Definition
STGC_RawDataContainer.h:18
STGC_RawDataContainerCnv::m_TPConverter_p2
Muon::STGC_RawDataContainerCnv_p2 m_TPConverter_p2
Definition
STGC_RawDataContainerCnv.h:34
STGC_RawDataContainerCnv::STGC_RawDataContainerCnv
STGC_RawDataContainerCnv(ISvcLocator *svcloc)
Definition
STGC_RawDataContainerCnv.cxx:9
STGC_RawDataContainerCnv::m_TPConverter_p3
Muon::STGC_RawDataContainerCnv_p3 m_TPConverter_p3
Definition
STGC_RawDataContainerCnv.h:35
STGC_RawDataContainerCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition
STGC_RawDataContainerCnv.cxx:16
STGC_RawDataContainerCnv::createTransient
virtual Muon::STGC_RawDataContainer * createTransient(const Token *token)
Definition
STGC_RawDataContainerCnv.cxx:35
STGC_RawDataContainerCnv::m_TPConverter_p1
Muon::STGC_RawDataContainerCnv_p1 m_TPConverter_p1
Definition
STGC_RawDataContainerCnv.h:33
STGC_RawDataContainerCnv::createPersistent
virtual STGC_RawDataContainer_PERS * createPersistent(Muon::STGC_RawDataContainer *transCont)
Definition
STGC_RawDataContainerCnv.cxx:30
STGC_RawDataContainerCnv::~STGC_RawDataContainerCnv
virtual ~STGC_RawDataContainerCnv()
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS >::initialize
virtual StatusCode initialize()
T_AthenaPoolCustomCnv< Muon::STGC_RawDataContainer, STGC_RawDataContainer_PERS >::poolReadObject
P * poolReadObject(const Token *token)
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
sTgcIdHelper
Definition
sTgcIdHelper.h:55
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
pool::Guid
::Guid Guid
Definition
T_AthenaPoolCustCnv.h:19
sTgcIdHelper.h
Generated on
for ATLAS Offline Software by
1.17.0