ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventAthenaPool
src
CscStripPrepDataContainerCnv.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 "
CscStripPrepDataContainerCnv.h
"
6
7
#include "GaudiKernel/StatusCode.h"
8
#include "GaudiKernel/MsgStream.h"
9
#include "
StoreGate/StoreGateSvc.h
"
10
#include "
MuonPrepRawData/CscStripPrepDataContainer.h
"
11
12
CscStripPrepDataContainerCnv::CscStripPrepDataContainerCnv
(ISvcLocator* svcloc) :
13
CscStripPrepDataContainerCnvBase
(svcloc,
"CscStripPrepDataContainerCnv"
)
14
{
15
}
16
17
CscStripPrepDataContainerCnv::~CscStripPrepDataContainerCnv
() =
default
;
18
19
StatusCode
CscStripPrepDataContainerCnv::initialize
() {
20
// Call base clase initialize
21
ATH_CHECK
(
CscStripPrepDataContainerCnvBase::initialize
() );
22
23
return
StatusCode::SUCCESS;
24
}
25
26
CscStripPrepDataContainer_PERS
*
CscStripPrepDataContainerCnv::createPersistent
(
Muon::CscStripPrepDataContainer
* transCont) {
27
CscStripPrepDataContainer_PERS
*pixdc_p=
m_TPConverter
.createPersistent( transCont,
msg
() );
28
return
pixdc_p;
29
}
30
31
Muon::CscStripPrepDataContainer
*
CscStripPrepDataContainerCnv::createTransient
(
const
Token
* token) {
32
static
const
Guid
p0_guid(
"A41C9D99-F977-43B5-8DFC-819F057A9136"
);
// before t/p split
33
static
const
Guid
p1_guid(
"6075244C-C6BB-4E24-B711-E7E4ED0F7462"
);
// with CscStripPrepData_tlp1
34
35
Muon::CscStripPrepDataContainer
* p_collection(
nullptr
);
36
if
(
compareClassGuid
(token, p1_guid) ) {
37
std::unique_ptr< CscStripPrepDataContainer_PERS > p_coll(
poolReadObject< CscStripPrepDataContainer_PERS >
(token) );
38
p_collection =
m_TPConverter
.createTransient( p_coll.get(),
msg
() );
39
}
40
41
else
if
(
compareClassGuid
(token, p0_guid) ) {
42
throw
std::runtime_error(
"Not currently supporting reading non TP-split PRDs"
);
43
}
44
else
{
45
throw
std::runtime_error(
"Unsupported persistent version of CscStripPrepDataContainer"
);
46
47
}
48
return
p_collection;
49
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
CscStripPrepDataContainerCnv.h
CscStripPrepDataContainerCnvBase
T_AthenaPoolCustomCnv< Muon::CscStripPrepDataContainer, CscStripPrepDataContainer_PERS > CscStripPrepDataContainerCnvBase
Definition
CscStripPrepDataContainerCnv.h:18
CscStripPrepDataContainer_PERS
Muon::CscStripPrepDataContainer_tlp1 CscStripPrepDataContainer_PERS
Definition
CscStripPrepDataContainerCnv.h:17
CscStripPrepDataContainer.h
StoreGateSvc.h
T_AthenaPoolCustomCnv< Muon::CscStripPrepDataContainer, CscStripPrepDataContainer_PERS >::msg
MsgStream & msg() const
Definition
AthMessaging.h:167
CscStripPrepDataContainerCnv::createTransient
virtual Muon::CscStripPrepDataContainer * createTransient(const Token *token)
Definition
CscStripPrepDataContainerCnv.cxx:31
CscStripPrepDataContainerCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition
CscStripPrepDataContainerCnv.cxx:19
CscStripPrepDataContainerCnv::createPersistent
virtual CscStripPrepDataContainer_PERS * createPersistent(Muon::CscStripPrepDataContainer *transCont)
Definition
CscStripPrepDataContainerCnv.cxx:26
CscStripPrepDataContainerCnv::m_TPConverter
CscStripPrepDataContainerCnv_tlp1 m_TPConverter
Definition
CscStripPrepDataContainerCnv.h:42
CscStripPrepDataContainerCnv::~CscStripPrepDataContainerCnv
virtual ~CscStripPrepDataContainerCnv()
CscStripPrepDataContainerCnv::CscStripPrepDataContainerCnv
CscStripPrepDataContainerCnv(ISvcLocator *svcloc)
Definition
CscStripPrepDataContainerCnv.cxx:12
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnv< Muon::CscStripPrepDataContainer, CscStripPrepDataContainer_PERS >::compareClassGuid
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
T_AthenaPoolCustomCnv< Muon::CscStripPrepDataContainer, CscStripPrepDataContainer_PERS >::initialize
virtual StatusCode initialize()
T_AthenaPoolCustomCnv< Muon::CscStripPrepDataContainer, CscStripPrepDataContainer_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
Muon::CscStripPrepDataContainer
MuonPrepDataContainerT< CscStripPrepData > CscStripPrepDataContainer
Definition
MuonPrepDataContainer.h:98
Generated on
for ATLAS Offline Software by
1.17.0