 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef GLOBALSIM_LARCELLMUXALG_H
6 #define GLOBALSIM_LARCELLMUXALG_H
17 #include "GaudiKernel/ToolHandle.h"
30 using AthReentrantAlgorithm::AthReentrantAlgorithm;
40 using Feb2BitsetMap = std::map<std::string, std::bitset<FEB2_BITSTREAM_SIZE>>;
56 template <std::
size_t N,
typename T>
static std::size_t
appendBits(std::bitset<N>&
target,
const T&
src, std::size_t
pos);
66 Gaudi::Property<bool>
m_writeMuxInputBitstreamToFile {
this,
"WriteMuxInputBitstreamToFile",
true,
"Flag to enable the writing of MUX input bitstreams to file"};
69 Gaudi::Property<bool>
m_writeMuxOutputBitstreamToFile {
this,
"WriteMuxOutputBitstreamToFile",
true,
"Flag to enable the writing of MUX output bitstreams to file"};
static constexpr std::size_t BITWIDTH_MUX_INPUT
static std::size_t appendBits(std::bitset< N > &target, const T &src, std::size_t pos)
Helper function to append a bitset or vector of bools at a specific position in another bitset.
SG::ReadHandleKey< GlobalSim::GlobalLArCellContainer > m_gblLArCellContainerKey
Key to the GlobalLArCellContainer.
static constexpr std::size_t FEB2_BITSTREAM_SIZE
static constexpr std::size_t BITWIDTH_2SIGMAMASK
static constexpr std::size_t N_WORDS_MUX_HEADER
StatusCode writeMuxInputBitstream(Feb2BitsetMap &feb2Bitsets, const xAOD::EventInfo &eventInfo, const GlobalSim::GlobalLArCellContainer &gblLArCells) const
Function that compiles the LASP to MUX bitstream and writes it to file.
An algorithm that can be simultaneously executed in multiple threads.
StatusCode writeMuxOutputBitstream(const Feb2BitsetMap &feb2Bitsets, const xAOD::EventInfo &eventInfo, const GlobalSim::GlobalLArCellContainer &gblLArCells) const
Function that compiles the MUX to GEP bitstream and writes it to file.
virtual StatusCode execute(const EventContext &) const override
execute function running for every event
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Gaudi::Property< bool > m_writeMuxOutputBitstreamToFile
Flag to enable writing ofMUX output bitstreams (MUX -> GEP) to file.
::StatusCode StatusCode
StatusCode definition for legacy code.
static constexpr std::size_t N_WORDS_MUX_FOOTER
std::map< std::string, std::bitset< FEB2_BITSTREAM_SIZE > > Feb2BitsetMap
static constexpr std::size_t BITWIDTH_MUX_OUTPUT
setEventNumber setTimeStamp bcid
Class describing the basic event information.
Gaudi::Property< bool > m_writeMuxInputBitstreamToFile
Flag to enable writing of MUX input bitstreams (FEB2/LASP -> MUX) to file.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Key for the EventInfo object.
virtual StatusCode initialize() override
initialize function running before first event
std::bitset< FEB2_BITSTREAM_SIZE > assembleBitsetForFeb2(const std::vector< GlobalSim::GlobalLArCell * > &cells, std::size_t maxCells, bool inOverflow, bool inError, uint32_t bcid) const
Function which compiles the bitset for one particular FEB2.