ATLAS Offline Software
FullEventAssembler.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BYTESTRAMCNVSVC_FULLEVENTASSEMBLER_H
6 #define BYTESTRAMCNVSVC_FULLEVENTASSEMBLER_H
7 
8 #include <cstdint>
9 #include <map>
10 
12 #include "ByteStreamData/RawEvent.h"
13 
14 class MsgStream;
15 
16 #include <string>
17 
24 
25  public:
27  virtual ~FullEventAssemblerBase( ) { } ;
28 
29  virtual void fill(RawEventWrite* re, MsgStream& log) = 0 ;
30  virtual void clear() = 0 ;
31 };
32 
39 template <class IDMAP=SrcIdMap>
41 
42 
43  public:
46  // typedefs for ROD data, and maps
47 
50  typedef IDMAP IDMAP_t;
51 
54  typedef std::vector<uint32_t> RODDATA;
55 
58  typedef std::map< uint32_t, RODDATA* > RODMAP;
59 
62  typedef std::map< uint32_t, OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment* > ROBMAP;
63 
70 
73  void fill(RawEventWrite* re, MsgStream& log);
74 
77  RODMAP::const_iterator begin() const;
78 
81  RODMAP::const_iterator end() const;
82 
86 
90 
94 
98 
102 
105  void clear();
106 
107 private:
108 
111  void RodToRob(RODMAP& rodMap, ROBMAP& robMap, MsgStream& log ) const;
112 
115  void RobToEvt(ROBMAP& robMap, RawEventWrite* re, MsgStream& log ) const;
116 
117 private:
119 
122 
125 
126  // minor version
129 
131  // level 1 trigger type
134 };
135 
137 
138 #endif
139 
140 
141 
RawEventWrite
OFFLINE_FRAGMENTS_NAMESPACE_WRITE::FullEventFragment RawEventWrite
data type for writing raw event
Definition: RawEvent.h:39
FullEventAssembler::ROBMAP
std::map< uint32_t, OFFLINE_FRAGMENTS_NAMESPACE_WRITE::ROBFragment * > ROBMAP
map of ROB data, indexed by ROB ids
Definition: FullEventAssembler.h:62
FullEventAssembler::m_rodMap
RODMAP m_rodMap
Definition: FullEventAssembler.h:120
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
FullEventAssembler.icc
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
FullEventAssembler
Template class for assembling a full atlas raw event from subfragments.
Definition: FullEventAssembler.h:40
FullEventAssemblerBase::FullEventAssemblerBase
FullEventAssemblerBase()
Definition: FullEventAssembler.h:26
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:124
FullEventAssemblerBase::fill
virtual void fill(RawEventWrite *re, MsgStream &log)=0
FullEventAssembler::RODMAP
std::map< uint32_t, RODDATA * > RODMAP
map of ROD data, indexed by ROD ids
Definition: FullEventAssembler.h:58
SrcIdMap.h
FullEventAssemblerBase
base class for assembling a full atlas raw event from subfragments
Definition: FullEventAssembler.h:23
FullEventAssembler::IDMAP_t
IDMAP IDMAP_t
type for Identifier mapping
Definition: FullEventAssembler.h:50
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:127
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:133
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:132
FullEventAssembler::m_detEvtType
uint32_t m_detEvtType
Definition: FullEventAssembler.h:130
re
const boost::regex re(r_e)
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
FullEventAssembler::RobToEvt
void RobToEvt(ROBMAP &robMap, RawEventWrite *re, MsgStream &log) const
converting from SubDetector to FullEvent
FullEventAssembler::RODDATA
std::vector< uint32_t > RODDATA
ROD data as a vector of unsigned int.
Definition: FullEventAssembler.h:54
FullEventAssembler::m_runnum
uint32_t m_runnum
Definition: FullEventAssembler.h:123
FullEventAssembler::m_rob_version
uint16_t m_rob_version
Definition: FullEventAssembler.h:128
FullEventAssemblerBase::~FullEventAssemblerBase
virtual ~FullEventAssemblerBase()
Definition: FullEventAssembler.h:27
FullEventAssembler::m_idmap
IDMAP_t m_idmap
Definition: FullEventAssembler.h:118
FullEventAssembler::m_robMap
ROBMAP m_robMap
Definition: FullEventAssembler.h:121
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.