ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
ByteStreamCnvSvcBase
ByteStreamCnvSvcBase
FullEventAssembler.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef BYTESTREAMCNVSVC_FULLEVENTASSEMBLER_H
6
#define BYTESTREAMCNVSVC_FULLEVENTASSEMBLER_H
7
8
#include <cstdint>
9
#include <map>
10
11
#include "
ByteStreamCnvSvcBase/SrcIdMap.h
"
12
#include "
ByteStreamData/RawEvent.h
"
13
14
class
MsgStream;
15
20
21
class
FullEventAssemblerBase
{
22
23
public
:
24
FullEventAssemblerBase
( ) { } ;
25
virtual
~FullEventAssemblerBase
( ) { } ;
26
27
virtual
void
fill
(
RawEventWrite
*
re
, MsgStream& log) = 0 ;
28
virtual
void
clear
() = 0 ;
29
};
30
35
36
37
template
<
class
IDMAP=SrcIdMap>
38
class
FullEventAssembler
:
public
FullEventAssemblerBase
{
39
40
41
public
:
42
FullEventAssembler
( );
43
~FullEventAssembler
( );
44
// type aliases for ROD data, and maps
45
48
using
IDMAP_t
= IDMAP;
49
52
using
RODDATA
= std::vector<uint32_t>;
53
56
using
RODMAP
= std::map< uint32_t, RODDATA* >;
57
60
using
ROBMAP
= std::map< uint32_t, OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment* >;
61
67
RODDATA
*
getRodData
(uint32_t
id
);
68
71
void
fill
(
RawEventWrite
*
re
, MsgStream& log);
72
75
RODMAP::const_iterator
begin
()
const
;
76
79
RODMAP::const_iterator
end
()
const
;
80
83
void
setRodMinorVersion
(uint16_t m );
84
87
void
setRobMinorVersion
(uint16_t m );
88
91
void
setDetEvtType
(uint32_t m );
92
95
void
setLvl1TriggerType
(uint8_t m );
96
99
IDMAP_t
&
idMap
();
100
103
void
clear
();
104
105
private
:
106
109
void
RodToRob
(
RODMAP
& rodMap,
ROBMAP
& robMap, MsgStream& log )
const
;
110
113
void
RobToEvt
(
ROBMAP
& robMap,
RawEventWrite
*
re
, MsgStream& log )
const
;
114
115
private
:
116
IDMAP_t
m_idmap
;
117
118
RODMAP
m_rodMap
;
119
ROBMAP
m_robMap
;
120
121
uint32_t
m_runnum
;
122
uint32_t
m_lvl1_id
;
123
124
// minor version
125
uint16_t
m_rod_version
;
126
uint16_t
m_rob_version
;
127
128
uint32_t
m_detEvtType
;
129
// level 1 trigger type
130
uint8_t
m_lvl1_trigger_type
;
131
uint16_t
m_bcid
;
132
};
133
134
#include "
ByteStreamCnvSvcBase/FullEventAssembler.icc
"
135
136
#endif
137
138
139
re
const std::regex re(r_e)
FullEventAssembler.icc
RawEvent.h
RawEventWrite
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
Definition
RawEvent.h:39
SrcIdMap.h
FullEventAssemblerBase::fill
virtual void fill(RawEventWrite *re, MsgStream &log)=0
FullEventAssemblerBase::~FullEventAssemblerBase
virtual ~FullEventAssemblerBase()
Definition
FullEventAssembler.h:25
FullEventAssemblerBase::FullEventAssemblerBase
FullEventAssemblerBase()
Definition
FullEventAssembler.h:24
FullEventAssemblerBase::clear
virtual void clear()=0
FullEventAssembler< RodRobIdMap >::m_runnum
uint32_t m_runnum
Definition
FullEventAssembler.h:121
FullEventAssembler::setRobMinorVersion
void setRobMinorVersion(uint16_t m)
change the ROB minor version
FullEventAssembler::setRodMinorVersion
void setRodMinorVersion(uint16_t m)
change the ROD minor version
FullEventAssembler::RobToEvt
void RobToEvt(ROBMAP &robMap, RawEventWrite *re, MsgStream &log) const
converting from SubDetector to FullEvent
FullEventAssembler::RODMAP
std::map< uint32_t, RODDATA * > RODMAP
map of ROD data, indexed by ROD ids
Definition
FullEventAssembler.h:56
FullEventAssembler< RodRobIdMap >::m_bcid
uint16_t m_bcid
Definition
FullEventAssembler.h:131
FullEventAssembler::RodToRob
void RodToRob(RODMAP &rodMap, ROBMAP &robMap, MsgStream &log) const
converting from ROD to ROB
FullEventAssembler::setLvl1TriggerType
void setLvl1TriggerType(uint8_t m)
change LVL1 Trigger Type
FullEventAssembler< RodRobIdMap >::m_idmap
IDMAP_t m_idmap
Definition
FullEventAssembler.h:116
FullEventAssembler< RodRobIdMap >::m_rob_version
uint16_t m_rob_version
Definition
FullEventAssembler.h:126
FullEventAssembler::clear
void clear()
Clear internal stack.
FullEventAssembler::begin
RODMAP::const_iterator begin() const
begin iterator for all existing ROD
FullEventAssembler::fill
void fill(RawEventWrite *re, MsgStream &log)
Fill the FullEventFragment with all the ROD data stored in this.
FullEventAssembler< RodRobIdMap >::m_rod_version
uint16_t m_rod_version
Definition
FullEventAssembler.h:125
FullEventAssembler::~FullEventAssembler
~FullEventAssembler()
FullEventAssembler< RodRobIdMap >::m_rodMap
RODMAP m_rodMap
Definition
FullEventAssembler.h:118
FullEventAssembler< RodRobIdMap >::m_lvl1_id
uint32_t m_lvl1_id
Definition
FullEventAssembler.h:122
FullEventAssembler< RodRobIdMap >::m_robMap
ROBMAP m_robMap
Definition
FullEventAssembler.h:119
FullEventAssembler< RodRobIdMap >::m_detEvtType
uint32_t m_detEvtType
Definition
FullEventAssembler.h:128
FullEventAssembler::IDMAP_t
IDMAP IDMAP_t
type for Identifier mapping
Definition
FullEventAssembler.h:48
FullEventAssembler::setDetEvtType
void setDetEvtType(uint32_t m)
change Detector Event Type
FullEventAssembler::ROBMAP
std::map< uint32_t, OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment * > ROBMAP
map of ROB data, indexed by ROB ids
Definition
FullEventAssembler.h:60
FullEventAssembler::RODDATA
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
Definition
FullEventAssembler.h:52
FullEventAssembler::end
RODMAP::const_iterator end() const
end iterator for all existing ROD
FullEventAssembler::FullEventAssembler
FullEventAssembler()
FullEventAssembler::getRodData
RODDATA * getRodData(uint32_t id)
get a block of ROD data
FullEventAssembler< RodRobIdMap >::m_lvl1_trigger_type
uint8_t m_lvl1_trigger_type
Definition
FullEventAssembler.h:130
FullEventAssembler::idMap
IDMAP_t & idMap()
Return reference to IDMAP.
Generated on
for ATLAS Offline Software by
1.17.0