ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonByteStream
src
CscRdoContByteStreamCnv.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MuonByteStream/CscRdoContByteStreamCnv.h
"
6
7
#include "
AthenaBaseComps/AthCheckMacros.h
"
8
#include "
AthenaKernel/StorableConversions.h
"
9
#include "GaudiKernel/IRegistry.h"
10
#include "
ByteStreamCnvSvcBase/ByteStreamAddress.h
"
11
#include "
MuonRDO/CscRawDataContainer.h
"
12
13
CscRdoContByteStreamCnv::CscRdoContByteStreamCnv
(ISvcLocator* svcloc) :
14
AthConstConverter
(
storageType
(),
classID
(), svcloc,
"CscRdoContByteStreamCnv"
),
m_tool
(
"Muon::CscRdoContByteStreamTool"
) {}
15
16
// class ID
17
CLID
CscRdoContByteStreamCnv::classID
() {
return
ClassID_traits<CscRawDataContainer>::ID
(); }
18
19
long
CscRdoContByteStreamCnv::storageType
() {
return
ByteStreamAddress::storageType
(); }
20
21
// initialize
22
StatusCode
CscRdoContByteStreamCnv::initialize
() {
23
ATH_MSG_DEBUG
(
" initialize "
);
24
25
ATH_CHECK
(AthConstConverter::initialize());
26
ATH_CHECK
(
m_tool
.retrieve());
27
return
StatusCode::SUCCESS;
28
}
29
30
// convert CSC RDOs in the container into ByteStream
31
StatusCode
CscRdoContByteStreamCnv::createRepConst
(DataObject* pObj, IOpaqueAddress*& pAddr)
const
{
32
// retrieve CSC RDO container
33
CscRawDataContainer
* cont =
nullptr
;
34
SG::fromStorable
(pObj, cont);
35
if
(!cont) {
36
ATH_MSG_ERROR
(
" Can not cast to CscRawDataContainer"
);
37
return
StatusCode::FAILURE;
38
}
39
40
// create address
41
std::string nm = pObj->registry()->name();
42
pAddr =
new
ByteStreamAddress
(
classID
(), nm,
""
);
43
44
return
m_tool
->convert(cont,
msg
());
45
}
AthCheckMacros.h
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition
AthMsgStreamMacros.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
ByteStreamAddress.h
CscRawDataContainer.h
CscRdoContByteStreamCnv.h
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
StorableConversions.h
convert to and from a SG storable
AthConstConverter::AthConstConverter
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
Definition
AthConstConverter.h:35
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition
AthMessaging.h:167
ByteStreamAddress
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
Definition
ByteStreamAddress.h:28
ByteStreamAddress::storageType
static constexpr long storageType()
Definition
ByteStreamAddress.h:51
CscRawDataContainer
This container provides access to collections of CSC RDOs and a mechanism for recording them.
Definition
CscRawDataContainer.h:23
CscRdoContByteStreamCnv::classID
static CLID classID()
Definition
CscRdoContByteStreamCnv.cxx:17
CscRdoContByteStreamCnv::m_tool
ToolHandle< Muon::ICSC_RDOtoByteStreamTool > m_tool
Definition
CscRdoContByteStreamCnv.h:40
CscRdoContByteStreamCnv::CscRdoContByteStreamCnv
CscRdoContByteStreamCnv(ISvcLocator *svcloc)
Definition
CscRdoContByteStreamCnv.cxx:13
CscRdoContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition
CscRdoContByteStreamCnv.cxx:22
CscRdoContByteStreamCnv::storageType
static long storageType()
Definition
CscRdoContByteStreamCnv.cxx:19
CscRdoContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition
CscRdoContByteStreamCnv.cxx:31
SG::fromStorable
bool fromStorable(DataObject *pDObj, T *&pTrans, bool quiet=false, IRegisterTransient *irt=0, bool isConst=true)
Definition
StorableConversions.h:169
ClassID_traits::ID
static constexpr CLID ID()
Definition
Control/AthenaKernel/AthenaKernel/ClassID_traits.h:44
Generated on
for ATLAS Offline Software by
1.17.0