ATLAS Offline Software
Trigger
TrigT1
TrigT1CaloByteStream
src
RodHeaderByteStreamTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGT1CALOBYTESTREAM_RODHEADERBYTESTREAMTOOL_H
6
#define TRIGT1CALOBYTESTREAM_RODHEADERBYTESTREAMTOOL_H
7
8
#include <stdint.h>
9
10
#include <string>
11
#include <vector>
12
13
#include "eformat/SourceIdentifier.h"
14
#include "GaudiKernel/ToolHandle.h"
15
16
#include "
L1CaloSrcIdMap.h
"
17
#include "
AthenaBaseComps/AthAlgTool.h
"
18
#include "
ByteStreamCnvSvcBase/IROBDataProviderSvc.h
"
19
#include "
ByteStreamData/RawEvent.h
"
20
#include "
AthContainers/DataVector.h
"
21
22
class
IInterface;
23
class
InterfaceID;
24
class
StatusCode
;
25
class
IROBDataProviderSvc
;
26
27
namespace
LVL1
{
28
class
RODHeader
;
29
}
30
31
namespace
LVL1BS
{
32
33
class
L1CaloErrorByteStreamTool;
34
class
L1CaloSrcIdMap;
35
43
class
RodHeaderByteStreamTool
:
public
AthAlgTool
{
44
45
public
:
46
RodHeaderByteStreamTool
(
const
std::string&
type
,
const
std::string&
name
,
47
const
IInterface*
parent
);
48
virtual
~RodHeaderByteStreamTool
();
49
51
static
const
InterfaceID&
interfaceID
();
52
53
virtual
StatusCode
initialize
()
override
;
54
virtual
StatusCode
finalize
()
override
;
55
57
StatusCode
convert
(
const
std::string&
name
,
58
DataVector<LVL1::RODHeader>
* rhCollection)
const
;
59
60
StatusCode
convert
(
const
IROBDataProviderSvc::VROBFRAG
& robFrags,
61
DataVector<LVL1::RODHeader>
* rhCollection)
const
;
62
64
const
std::vector<uint32_t>&
sourceIDs
(
const
std::string& sgKey)
const
;
65
66
private
:
67
typedef
DataVector<LVL1::RODHeader>
RodHeaderCollection
;
68
typedef
IROBDataProviderSvc::VROBFRAG::const_iterator
ROBIterator
;
69
typedef
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
ROBPointer
;
70
typedef
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
RODPointer
;
71
73
std::vector<uint32_t>
makeAllRobIds
()
const
;
74
std::vector<uint32_t>
75
makeRobIds
(
int
numCrates,
int
crateOffset,
76
const
std::vector<int>& slinks,
int
daqOrRoi,
77
eformat::SubDetector subdet,
78
const
std::vector<uint32_t>& prop)
const
;
79
81
bool
isAppended
(
const
std::string& sgKey,
const
std::string&
flag
)
const
;
82
84
ServiceHandle<IROBDataProviderSvc>
m_robDataProvider
;
86
ToolHandle<LVL1BS::L1CaloErrorByteStreamTool>
m_errorTool
;
87
89
std::vector<uint32_t>
m_sourceIDsProp
;
90
std::vector<uint32_t>
m_sourceIDsPPProp
;
91
std::vector<uint32_t>
m_sourceIDsCPProp
;
92
std::vector<uint32_t>
m_sourceIDsJEPProp
;
93
std::vector<uint32_t>
m_sourceIDsCPRoIProp
;
94
std::vector<uint32_t>
m_sourceIDsJEPRoIProp
;
95
std::vector<uint32_t>
m_sourceIDsCPRoIBProp
;
96
std::vector<uint32_t>
m_sourceIDsJEPRoIBProp
;
98
const
L1CaloSrcIdMap
m_srcIdMap
;
99
100
bool
m_useSWROD
=
false
;
101
};
102
103
}
// end namespace
104
105
#endif
LVL1BS::RodHeaderByteStreamTool::finalize
virtual StatusCode finalize() override
Definition:
RodHeaderByteStreamTool.cxx:99
LVL1BS::RodHeaderByteStreamTool::makeAllRobIds
std::vector< uint32_t > makeAllRobIds() const
Fill vector with ROB IDs for given sub-detector.
Definition:
RodHeaderByteStreamTool.cxx:274
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsProp
std::vector< uint32_t > m_sourceIDsProp
ROB source IDs.
Definition:
RodHeaderByteStreamTool.h:89
LVL1BS::RodHeaderByteStreamTool::RodHeaderByteStreamTool
RodHeaderByteStreamTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition:
RodHeaderByteStreamTool.cxx:46
LVL1BS::L1CaloSrcIdMap
This class provides conversion between Lower level Source ID to higher level source ID for L1Calo Byt...
Definition:
L1CaloSrcIdMap.h:24
LVL1BS::RodHeaderByteStreamTool::m_useSWROD
bool m_useSWROD
Definition:
RodHeaderByteStreamTool.h:100
LVL1BS::RodHeaderByteStreamTool::m_robDataProvider
ServiceHandle< IROBDataProviderSvc > m_robDataProvider
Service for reading bytestream.
Definition:
RodHeaderByteStreamTool.h:84
LVL1BS::RodHeaderByteStreamTool::RodHeaderCollection
DataVector< LVL1::RODHeader > RodHeaderCollection
Definition:
RodHeaderByteStreamTool.h:67
LVL1BS::RodHeaderByteStreamTool::ROBIterator
IROBDataProviderSvc::VROBFRAG::const_iterator ROBIterator
Definition:
RodHeaderByteStreamTool.h:68
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition:
ICMMCPHitsCnvTool.h:18
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsJEPRoIBProp
std::vector< uint32_t > m_sourceIDsJEPRoIBProp
Definition:
RodHeaderByteStreamTool.h:96
LVL1BS::RodHeaderByteStreamTool::m_srcIdMap
const L1CaloSrcIdMap m_srcIdMap
Source ID converter.
Definition:
RodHeaderByteStreamTool.h:98
LVL1BS::RodHeaderByteStreamTool::m_errorTool
ToolHandle< LVL1BS::L1CaloErrorByteStreamTool > m_errorTool
Error collection tool.
Definition:
RodHeaderByteStreamTool.h:86
IROBDataProviderSvc
Interface class for managing ROB for both online and offline.
Definition:
IROBDataProviderSvc.h:23
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
const DataType * PointerType
Definition:
RawEvent.h:25
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsCPRoIBProp
std::vector< uint32_t > m_sourceIDsCPRoIBProp
Definition:
RodHeaderByteStreamTool.h:95
LVL1BS::RodHeaderByteStreamTool::~RodHeaderByteStreamTool
virtual ~RodHeaderByteStreamTool()
Definition:
RodHeaderByteStreamTool.cxx:79
RawEvent.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1BS::RodHeaderByteStreamTool
Tool to perform ROB fragments to ROD Header conversions.
Definition:
RodHeaderByteStreamTool.h:43
master.flag
bool flag
Definition:
master.py:29
AthAlgTool.h
test_pyathena.parent
parent
Definition:
test_pyathena.py:15
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsCPProp
std::vector< uint32_t > m_sourceIDsCPProp
Definition:
RodHeaderByteStreamTool.h:91
IROBDataProviderSvc::VROBFRAG
std::vector< const ROBF * > VROBFRAG
Definition:
IROBDataProviderSvc.h:27
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
LVL1BS::RodHeaderByteStreamTool::makeRobIds
std::vector< uint32_t > makeRobIds(int numCrates, int crateOffset, const std::vector< int > &slinks, int daqOrRoi, eformat::SubDetector subdet, const std::vector< uint32_t > &prop) const
Definition:
RodHeaderByteStreamTool.cxx:292
LVL1BS::RodHeaderByteStreamTool::isAppended
bool isAppended(const std::string &sgKey, const std::string &flag) const
Return true if StoreGate key ends in given string.
Definition:
RodHeaderByteStreamTool.cxx:320
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:228
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsJEPProp
std::vector< uint32_t > m_sourceIDsJEPProp
Definition:
RodHeaderByteStreamTool.h:92
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsJEPRoIProp
std::vector< uint32_t > m_sourceIDsJEPRoIProp
Definition:
RodHeaderByteStreamTool.h:94
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1BS::RodHeaderByteStreamTool::convert
StatusCode convert(const std::string &name, DataVector< LVL1::RODHeader > *rhCollection) const
Convert ROB fragments to RODHeaders.
Definition:
RodHeaderByteStreamTool.cxx:107
LVL1BS::RodHeaderByteStreamTool::RODPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType RODPointer
Definition:
RodHeaderByteStreamTool.h:70
xAOD::RODHeader
RODHeader_v2 RODHeader
Define the latest version of the RODHeader class.
Definition:
Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/RODHeader.h:14
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
LVL1BS
Definition:
ZdcModifySlices.h:10
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsCPRoIProp
std::vector< uint32_t > m_sourceIDsCPRoIProp
Definition:
RodHeaderByteStreamTool.h:93
LVL1BS::RodHeaderByteStreamTool::ROBPointer
OFFLINE_FRAGMENTS_NAMESPACE::PointerType ROBPointer
Definition:
RodHeaderByteStreamTool.h:69
L1CaloSrcIdMap.h
AthAlgTool
Definition:
AthAlgTool.h:26
LVL1BS::RodHeaderByteStreamTool::initialize
virtual StatusCode initialize() override
Definition:
RodHeaderByteStreamTool.cxx:86
LVL1BS::RodHeaderByteStreamTool::interfaceID
static const InterfaceID & interfaceID()
AlgTool InterfaceID.
Definition:
RodHeaderByteStreamTool.cxx:39
IROBDataProviderSvc.h
LVL1BS::RodHeaderByteStreamTool::sourceIDs
const std::vector< uint32_t > & sourceIDs(const std::string &sgKey) const
Return reference to vector with all possible Source Identifiers.
Definition:
RodHeaderByteStreamTool.cxx:208
ServiceHandle< IROBDataProviderSvc >
LVL1BS::RodHeaderByteStreamTool::m_sourceIDsPPProp
std::vector< uint32_t > m_sourceIDsPPProp
Definition:
RodHeaderByteStreamTool.h:90
Generated on Sun Dec 22 2024 21:17:10 for ATLAS Offline Software by
1.8.18