ATLAS Offline Software
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 
12 #include "ByteStreamData/RawEvent.h"
13 
14 class MsgStream;
15 
22 
23  public:
25  virtual ~FullEventAssemblerBase( ) { } ;
26 
27  virtual void fill(RawEventWrite* re, MsgStream& log) = 0 ;
28  virtual void clear() = 0 ;
29 };
30 
37 template <class IDMAP=SrcIdMap>
39 
40 
41  public:
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 
68 
71  void fill(RawEventWrite* re, MsgStream& log);
72 
75  RODMAP::const_iterator begin() const;
76 
79  RODMAP::const_iterator end() const;
80 
84 
88 
92 
96 
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:
117 
120 
123 
124  // minor version
127 
129  // level 1 trigger type
132 };
133 
135 
136 #endif
137 
138 
139 
FullEventAssembler< SrcIdMap >::ROBMAP
std::map< uint32_t, OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment * > ROBMAP
map of ROB data, indexed by ROB ids
Definition: FullEventAssembler.h:60
FullEventAssembler::m_rodMap
RODMAP m_rodMap
Definition: FullEventAssembler.h:118
FullEventAssembler.icc
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:553
FullEventAssembler
Template class for assembling a full atlas raw event from subfragments.
Definition: FullEventAssembler.h:38
FullEventAssemblerBase::FullEventAssemblerBase
FullEventAssemblerBase()
Definition: FullEventAssembler.h:24
FullEventAssembler::setLvl1TriggerType
void setLvl1TriggerType(uint8_t m)
change LVL1 Trigger Type
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
FullEventAssembler::m_lvl1_id
uint32_t m_lvl1_id
Definition: FullEventAssembler.h:122
RawEventWrite
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
Definition: RawEvent.h:39
FullEventAssemblerBase::fill
virtual void fill(RawEventWrite *re, MsgStream &log)=0
SrcIdMap.h
FullEventAssemblerBase
base class for assembling a full atlas raw event from subfragments
Definition: FullEventAssembler.h:21
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
RawEvent.h
FullEventAssembler::FullEventAssembler
FullEventAssembler()
SrcIdMap
This class provides default conversion between Lower level Source ID to higher level source ID.
Definition: SrcIdMap.h:23
FullEventAssembler::idMap
IDMAP_t & idMap()
Return reference to IDMAP.
FullEventAssembler::~FullEventAssembler
~FullEventAssembler()
FullEventAssembler::clear
void clear()
Clear internal stack.
FullEventAssembler::RodToRob
void RodToRob(RODMAP &rodMap, ROBMAP &robMap, MsgStream &log) const
converting from ROD to ROB
FullEventAssembler::setRobMinorVersion
void setRobMinorVersion(uint16_t m)
change the ROB minor version
FullEventAssembler::m_rod_version
uint16_t m_rod_version
Definition: FullEventAssembler.h:125
FullEventAssemblerBase::clear
virtual void clear()=0
FullEventAssembler::begin
RODMAP::const_iterator begin() const
begin iterator for all existing ROD
FullEventAssembler::m_bcid
uint16_t m_bcid
Definition: FullEventAssembler.h:131
FullEventAssembler::setRodMinorVersion
void setRodMinorVersion(uint16_t m)
change the ROD minor version
FullEventAssembler::m_lvl1_trigger_type
uint8_t m_lvl1_trigger_type
Definition: FullEventAssembler.h:130
FullEventAssembler::m_detEvtType
uint32_t m_detEvtType
Definition: FullEventAssembler.h:128
re
const boost::regex re(r_e)
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
FullEventAssembler< SrcIdMap >::RODMAP
std::map< uint32_t, RODDATA * > RODMAP
map of ROD data, indexed by ROD ids
Definition: FullEventAssembler.h:56
FullEventAssembler::RobToEvt
void RobToEvt(ROBMAP &robMap, RawEventWrite *re, MsgStream &log) const
converting from SubDetector to FullEvent
FullEventAssembler< SrcIdMap >::RODDATA
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
Definition: FullEventAssembler.h:52
FullEventAssembler::m_runnum
uint32_t m_runnum
Definition: FullEventAssembler.h:121
FullEventAssembler::m_rob_version
uint16_t m_rob_version
Definition: FullEventAssembler.h:126
FullEventAssemblerBase::~FullEventAssemblerBase
virtual ~FullEventAssemblerBase()
Definition: FullEventAssembler.h:25
FullEventAssembler::m_idmap
IDMAP_t m_idmap
Definition: FullEventAssembler.h:116
FullEventAssembler::m_robMap
ROBMAP m_robMap
Definition: FullEventAssembler.h:119
FullEventAssembler::getRodData
RODDATA * getRodData(uint32_t id)
get a block of ROD data
FullEventAssembler::end
RODMAP::const_iterator end() const
end iterator for all existing ROD
FullEventAssembler::setDetEvtType
void setDetEvtType(uint32_t m)
change Detector Event Type
FullEventAssembler::fill
void fill(RawEventWrite *re, MsgStream &log)
Fill the FullEventFragment with all the ROD data stored in this.
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106