ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArByteStream
src
LArLATOMEHeaderContByteStreamCnv.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 "
LArByteStream/LArLATOMEHeaderContByteStreamCnv.h
"
6
#include "
LArByteStream/LArLATOMEDecoder.h
"
7
#include "
LArRawEvent/LArLATOMEHeaderContainer.h
"
8
9
#include "
ByteStreamCnvSvcBase/IROBDataProviderSvc.h
"
10
#include "
ByteStreamData/RawEvent.h
"
11
#include "GaudiKernel/DataObject.h"
12
#include "GaudiKernel/IRegistry.h"
13
#include "
AthenaKernel/CLASS_DEF.h
"
14
// For LATOME while no Condition alg exists
15
#include "
LArLATOMEROBIDs.h
"
16
17
18
LArLATOMEHeaderContByteStreamCnv::LArLATOMEHeaderContByteStreamCnv
(ISvcLocator* svcloc) :
19
AthConstConverter
(
storageType
(),
classID
(),svcloc,
"LArLATOMEHeaderContByteStreamCnv"
),
20
m_scTool
(
"LArLATOMEDecoder"
),
21
m_rdpSvc
(
"ROBDataProviderSvc"
,
name
()) {};
22
23
24
LArLATOMEHeaderContByteStreamCnv::~LArLATOMEHeaderContByteStreamCnv
() {}
25
26
CLID
LArLATOMEHeaderContByteStreamCnv::classID
(){
27
return
ClassID_traits<LArLATOMEHeaderContainer>::ID
() ;
28
}
29
30
31
StatusCode
32
LArLATOMEHeaderContByteStreamCnv::initialize
() {
33
ATH_MSG_DEBUG
(
"initialize "
);
34
ATH_CHECK
( AthConstConverter::initialize());
35
ATH_CHECK
(
m_rdpSvc
.retrieve());
36
ATH_CHECK
(
m_scTool
.retrieve());
37
return
StatusCode::SUCCESS;
38
}
39
40
StatusCode
41
LArLATOMEHeaderContByteStreamCnv::createObjConst
(IOpaqueAddress* pAddr, DataObject*& pObj)
const
{
42
ATH_MSG_VERBOSE
(
"Executing CreateObj method for LArLATOMEHeaderContainer"
);
43
44
ByteStreamAddress
* pRE_Addr{};
45
ATH_CHECK
( (pRE_Addr =
dynamic_cast<
ByteStreamAddress
*
>
(pAddr)) !=
nullptr
);
46
47
const
EventContext& ctx = pRE_Addr->
getEventContext
();
48
49
std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*> robFrags;
50
m_rdpSvc
->getROBData(ctx,
LArByteStream::s_allROBIDs_LATOME
, robFrags );
51
const
std::string& key = *(pAddr->par());
// Get key used in the StoreGateSvc::retrieve function
52
// get gain and pass to convert function.
53
std::unique_ptr<LArLATOMEHeaderContainer> header_coll=std::make_unique<LArLATOMEHeaderContainer>();
54
55
// Convert the RawEvent to LArDigitContainer
56
ATH_MSG_VERBOSE
(
"Converting LATOME_HEADER (from ByteStream). key="
<< key);
57
58
59
//Supercell readout
60
StatusCode
sc
=
m_scTool
->convert(robFrags,
nullptr
,
nullptr
,
nullptr
,
nullptr
,
nullptr
, header_coll.get());
61
if
(
sc
!=StatusCode::SUCCESS) {
62
ATH_MSG_WARNING
(
"Conversion tool returned an error. LAr SC containers might be empty."
);
63
}
64
pObj =
SG::asStorable
(std::move(header_coll));
65
66
return
StatusCode::SUCCESS;
67
68
}
69
70
StatusCode
71
LArLATOMEHeaderContByteStreamCnv::createRepConst
(DataObject* , IOpaqueAddress*& )
const
72
{
73
return
StatusCode::SUCCESS;
74
}
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x,...)
Definition
AthMsgStreamMacros.h:43
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x,...)
Definition
AthMsgStreamMacros.h:46
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x,...)
Definition
AthMsgStreamMacros.h:42
CLASS_DEF.h
macros to associate a CLID to a type
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
IROBDataProviderSvc.h
LArLATOMEDecoder.h
Byte stream converter of LATOME.
LArLATOMEHeaderContByteStreamCnv.h
LArLATOMEHeaderContainer.h
LArLATOMEROBIDs.h
sc
static Double_t sc
Definition
LArPhysWaveHECTool.cxx:37
RawEvent.h
AthConstConverter::AthConstConverter
AthConstConverter(long storage_type, const CLID &class_type, ISvcLocator *svc, const std::string &name)
Definition
AthConstConverter.h:35
AthConstConverter::name
const std::string & name() const
Definition
AthConstConverter.h:67
ByteStreamAddress
IOpaqueAddress for ByteStreamCnvSvc, with ROB ids.
Definition
ByteStreamAddress.h:28
ByteStreamAddress::getEventContext
const EventContext & getEventContext() const
Definition
ByteStreamAddress.h:62
LArLATOMEHeaderContByteStreamCnv::createObjConst
virtual StatusCode createObjConst(IOpaqueAddress *pAddr, DataObject *&pObj) const override
Create the transient representation of an object.
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:41
LArLATOMEHeaderContByteStreamCnv::classID
static CLID classID()
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:26
LArLATOMEHeaderContByteStreamCnv::createRepConst
virtual StatusCode createRepConst(DataObject *pObj, IOpaqueAddress *&pAddr) const override
Convert the transient object to the requested representation.
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:71
LArLATOMEHeaderContByteStreamCnv::initialize
virtual StatusCode initialize() override
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:32
LArLATOMEHeaderContByteStreamCnv::storageType
static long storageType()
Definition
LArLATOMEHeaderContByteStreamCnv.h:39
LArLATOMEHeaderContByteStreamCnv::~LArLATOMEHeaderContByteStreamCnv
virtual ~LArLATOMEHeaderContByteStreamCnv()
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:24
LArLATOMEHeaderContByteStreamCnv::LArLATOMEHeaderContByteStreamCnv
LArLATOMEHeaderContByteStreamCnv(ISvcLocator *svcloc)
Definition
LArLATOMEHeaderContByteStreamCnv.cxx:18
LArLATOMEHeaderContByteStreamCnv::m_scTool
ToolHandle< LArLATOMEDecoder > m_scTool
Definition
LArLATOMEHeaderContByteStreamCnv.h:43
LArLATOMEHeaderContByteStreamCnv::m_rdpSvc
ServiceHandle< IROBDataProviderSvc > m_rdpSvc
Definition
LArLATOMEHeaderContByteStreamCnv.h:44
LArByteStream::s_allROBIDs_LATOME
static const std::vector< uint32_t > s_allROBIDs_LATOME
Definition
LArLATOMEROBIDs.h:8
SG::asStorable
DataObject * asStorable(SG::DataObjectSharedPtr< T > pObject)
Definition
DataObjectSharedPtr.h:31
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