ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventAthenaPool
src
TgcCoinDataContainerCnv.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
/* Takashi Kubota - June 30, 2008 */
6
#include "
TgcCoinDataContainerCnv.h
"
7
8
// Gaudi
9
#include "GaudiKernel/StatusCode.h"
10
#include "GaudiKernel/MsgStream.h"
11
12
// Athena
13
#include "
StoreGate/StoreGateSvc.h
"
14
15
// Id includes
16
#include "
MuonIdHelpers/TgcIdHelper.h
"
17
#include "
MuonTrigCoinData/TgcCoinDataContainer.h
"
18
#include "
MuonReadoutGeometry/TgcReadoutElement.h
"
19
20
21
22
TgcCoinDataContainerCnv::TgcCoinDataContainerCnv
(ISvcLocator* svcloc) :
23
TgcCoinDataContainerCnvBase
(svcloc,
"TgcCoinDataContainerCnv"
)
24
{
25
}
26
27
TgcCoinDataContainerCnv::~TgcCoinDataContainerCnv
() =
default
;
28
29
StatusCode
TgcCoinDataContainerCnv::initialize
() {
30
// Call base clase initialize
31
ATH_CHECK
(
TgcCoinDataContainerCnvBase::initialize
() );
32
33
return
StatusCode::SUCCESS;
34
}
35
36
TgcCoinDataContainer_PERS
*
TgcCoinDataContainerCnv::createPersistent
(
Muon::TgcCoinDataContainer
* transCont) {
37
TgcCoinDataContainer_PERS
*pixdc_p=
m_TPConverter_tlp3
.createPersistent( transCont,
msg
() );
38
return
pixdc_p;
39
}
40
41
Muon::TgcCoinDataContainer
*
TgcCoinDataContainerCnv::createTransient
(
const
Token
* token) {
42
static
const
Guid
p0_guid(
"F81C4564-B1C5-4053-A6F6-E0ED77907BE5"
);
// before t/p split
43
static
const
Guid
p1_guid(
"C312D3F5-60DB-41D5-895B-9FD4EF443E0B"
);
// with TgcCoinData_tlp1
44
static
const
Guid
p2_guid(
"524775D8-A66F-4AD3-912E-7D05389C1011"
);
// with TgcCoinData_tlp2
45
static
const
Guid
p3_guid(
"95BF89C7-1FFC-464F-A14D-742F9E874E56"
);
// with TgcCoinData_tlp3
46
Muon::TgcCoinDataContainer
* p_collection(
nullptr
);
47
if
(
compareClassGuid
(token, p3_guid) ) {
48
poolReadObject< TgcCoinDataContainer_PERS >
(
m_TPConverter_tlp3
, token );
49
p_collection =
m_TPConverter_tlp3
.createTransient(
msg
() );
50
}
51
else
if
(
compareClassGuid
(token, p2_guid) ) {
52
poolReadObject< TgcCoinDataContainer_PERS >
(
m_TPConverter_tlp2
, token );
53
p_collection =
m_TPConverter_tlp2
.createTransient(
msg
() );
54
}
55
else
if
(
compareClassGuid
(token, p1_guid) ) {
56
poolReadObject< Muon::TgcCoinDataContainer_tlp1 >
(
m_TPConverter_tlp1
, token );
57
p_collection =
m_TPConverter_tlp1
.createTransient(
msg
() );
58
}
59
else
if
(
compareClassGuid
(token, p0_guid) ) {
60
throw
std::runtime_error(
"Not currently supporting reading non TP-split CoinDatas"
);
61
}
62
else
{
63
throw
std::runtime_error(
"Unsupported persistent version of TgcCoinDataContainer"
);
64
65
}
66
return
p_collection;
67
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
TgcReadoutElement.h
StoreGateSvc.h
TgcCoinDataContainerCnv.h
TgcCoinDataContainer_PERS
Muon::TgcCoinDataContainer_tlp3 TgcCoinDataContainer_PERS
Definition
TgcCoinDataContainerCnv.h:21
TgcCoinDataContainerCnvBase
T_AthenaPoolCustomCnv< Muon::TgcCoinDataContainer, TgcCoinDataContainer_PERS > TgcCoinDataContainerCnvBase
Definition
TgcCoinDataContainerCnv.h:22
TgcCoinDataContainer.h
TgcIdHelper.h
T_AthenaPoolCustomCnv< Muon::TgcCoinDataContainer, TgcCoinDataContainer_PERS >::msg
MsgStream & msg() const
Definition
AthMessaging.h:167
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnv< Muon::TgcCoinDataContainer, TgcCoinDataContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< Muon::TgcCoinDataContainer, TgcCoinDataContainer_PERS >::initialize
virtual StatusCode initialize()
T_AthenaPoolCustomCnv< Muon::TgcCoinDataContainer, TgcCoinDataContainer_PERS >::poolReadObject
P * poolReadObject(const Token *token)
TgcCoinDataContainerCnv::m_TPConverter_tlp1
TgcCoinDataContainerCnv_tlp1 m_TPConverter_tlp1
Definition
TgcCoinDataContainerCnv.h:48
TgcCoinDataContainerCnv::TgcCoinDataContainerCnv
TgcCoinDataContainerCnv(ISvcLocator *svcloc)
Definition
TgcCoinDataContainerCnv.cxx:22
TgcCoinDataContainerCnv::createTransient
virtual Muon::TgcCoinDataContainer * createTransient(const Token *token)
Definition
TgcCoinDataContainerCnv.cxx:41
TgcCoinDataContainerCnv::m_TPConverter_tlp3
TgcCoinDataContainerCnv_tlp3 m_TPConverter_tlp3
Definition
TgcCoinDataContainerCnv.h:50
TgcCoinDataContainerCnv::m_TPConverter_tlp2
TgcCoinDataContainerCnv_tlp2 m_TPConverter_tlp2
Definition
TgcCoinDataContainerCnv.h:49
TgcCoinDataContainerCnv::~TgcCoinDataContainerCnv
virtual ~TgcCoinDataContainerCnv()
TgcCoinDataContainerCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition
TgcCoinDataContainerCnv.cxx:29
TgcCoinDataContainerCnv::createPersistent
virtual TgcCoinDataContainer_PERS * createPersistent(Muon::TgcCoinDataContainer *transCont)
Definition
TgcCoinDataContainerCnv.cxx:36
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
Muon::TgcCoinDataContainer
MuonCoinDataContainer< TgcCoinDataCollection > TgcCoinDataContainer
Definition
TgcCoinDataContainer.h:14
Generated on
for ATLAS Offline Software by
1.17.0