ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1Topo
L1TopoByteStream
src
L1TopoPhase1ByteStreamTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//author: @asonay
6
//email: anil.sonay@cern.ch
7
8
#ifndef L1TOPOPHASE1BYTESTREAMTOOL_H
9
#define L1TOPOPHASE1BYTESTREAMTOOL_H
10
11
// Trigger includes
12
#include "
TrigT1ResultByteStream/IL1TriggerByteStreamTool.h
"
13
14
// Athena includes
15
#include "
AthenaBaseComps/AthAlgTool.h
"
16
// Gaudi includes
17
#include "Gaudi/Property.h"
18
19
//xAOD
20
#include "
xAODTrigL1Calo/L1TopoRawDataContainer.h
"
21
#include "
xAODTrigL1Calo/L1TopoRawDataAuxContainer.h
"
22
23
#include "
CxxUtils/span.h
"
24
25
using
ROBF
=
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
;
26
using
WROBF
=
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment
;
27
28
class
L1TopoPhase1ByteStreamTool
:
public
extends<AthAlgTool, IL1TriggerByteStreamTool> {
29
30
public
:
31
L1TopoPhase1ByteStreamTool
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent);
32
virtual
~L1TopoPhase1ByteStreamTool
()
override
=
default
;
33
// ------------------------- IAlgTool methods ---------------------------------
34
virtual
StatusCode
initialize
()
override
;
35
// ------------------------- IL1TriggerByteStreamTool methods -----------------
37
virtual
StatusCode
convertFromBS
(
const
std::vector<const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment*>& vrobf,
const
EventContext& eventContext)
const override
;
39
virtual
StatusCode
convertToBS
(std::vector<OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment*>& vrobf,
40
const
xAOD::TrigCompositeContainer
*
tc
,
41
const
EventContext& eventContext)
override
;
43
virtual
const
std::vector<uint32_t>&
robIds
()
const override
{
44
return
m_robIds
.value();
45
}
46
private
:
47
// ------------------------- Private Methods ---------------------------------
48
StatusCode
convert
(
const
ROBF
* rob,
const
std::unique_ptr<xAOD::L1TopoRawDataContainer> &container)
const
;
49
50
// ------------------------- Properties --------------------------------------
51
// ROBIDs property required by the interface
52
Gaudi::Property<std::vector<uint32_t>>
m_robIds
{
this
,
"ROBIDs"
, {},
"List of ROB IDs required for conversion to/from xAOD RoI"
};
53
54
// Write handle keys for the L1TopoRAWDataContainer for BS->xAOD mode of operation
55
SG::WriteHandleKey< xAOD::L1TopoRawDataContainer >
m_topoRawWriteKey
{
this
,
"L1TopoPhase1RAWDataWriteContainer"
,
"L1_Phase1L1TopoRAWData"
,
"Write Phase1 L1Topo RAW data"
};
56
57
// Read handle keys for the L1Calo EDMs for xAOD->BS mode of operation
58
SG::ReadHandleKey< xAOD::L1TopoRawDataContainer >
m_topoRawReadKey
{
this
,
"L1TopoPhase1RAWDataReadContainer"
,
"L1_Phase1L1TopoRAWData"
,
"Read Phase1 L1Topo RAW data"
};
59
60
//------------------------- Private Vars ---------------------------------------
61
62
};
63
#endif
// L1TOPOPHASE1BYTESTREAMTOOL_H
AthAlgTool.h
ROBF
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment ROBF
Definition
ByteStreamMergeOutputSvc.cxx:16
IL1TriggerByteStreamTool.h
L1TopoRawDataAuxContainer.h
L1TopoRawDataContainer.h
tc
static Double_t tc
Definition
LArPhysWaveHECTool.cxx:38
WROBF
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment WROBF
Definition
MCEventInfoByteStreamTool.cxx:21
L1TopoPhase1ByteStreamTool::initialize
virtual StatusCode initialize() override
Definition
L1TopoPhase1ByteStreamTool.cxx:26
L1TopoPhase1ByteStreamTool::robIds
virtual const std::vector< uint32_t > & robIds() const override
Declare ROB IDs for conversion.
Definition
L1TopoPhase1ByteStreamTool.h:43
L1TopoPhase1ByteStreamTool::m_robIds
Gaudi::Property< std::vector< uint32_t > > m_robIds
Definition
L1TopoPhase1ByteStreamTool.h:52
L1TopoPhase1ByteStreamTool::convertToBS
virtual StatusCode convertToBS(std::vector< OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment * > &vrobf, const xAOD::TrigCompositeContainer *tc, const EventContext &eventContext) override
xAOD->BS conversion
Definition
L1TopoPhase1ByteStreamTool.cxx:62
L1TopoPhase1ByteStreamTool::convertFromBS
virtual StatusCode convertFromBS(const std::vector< const OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment * > &vrobf, const EventContext &eventContext) const override
BS->xAOD conversion.
Definition
L1TopoPhase1ByteStreamTool.cxx:41
L1TopoPhase1ByteStreamTool::~L1TopoPhase1ByteStreamTool
virtual ~L1TopoPhase1ByteStreamTool() override=default
L1TopoPhase1ByteStreamTool::L1TopoPhase1ByteStreamTool
L1TopoPhase1ByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition
L1TopoPhase1ByteStreamTool.cxx:20
L1TopoPhase1ByteStreamTool::m_topoRawWriteKey
SG::WriteHandleKey< xAOD::L1TopoRawDataContainer > m_topoRawWriteKey
Definition
L1TopoPhase1ByteStreamTool.h:55
L1TopoPhase1ByteStreamTool::m_topoRawReadKey
SG::ReadHandleKey< xAOD::L1TopoRawDataContainer > m_topoRawReadKey
Definition
L1TopoPhase1ByteStreamTool.h:58
L1TopoPhase1ByteStreamTool::convert
StatusCode convert(const ROBF *rob, const std::unique_ptr< xAOD::L1TopoRawDataContainer > &container) const
Definition
L1TopoPhase1ByteStreamTool.cxx:68
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment
eformat::write::ROBFragment ROBFragment
Definition
RawEvent.h:33
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment
eformat::ROBFragment< PointerType > ROBFragment
Definition
RawEvent.h:27
xAOD::TrigCompositeContainer
TrigCompositeContainer_v1 TrigCompositeContainer
Declare the latest version of the container.
Definition
TrigCompositeContainer.h:17
span.h
Simplified version of the C++20 std::span.
type
Generated on
for ATLAS Offline Software by
1.17.0