15#ifndef ALICEO2_ITSMFT_MC2RAWENCODER_H_
16#define ALICEO2_ITSMFT_MC2RAWENCODER_H_
26#include <unordered_map>
34template <
class Mapping>
69 mRUSWMax = (ruMax < uint8_t(mMAP.getNRUs())) ? ruMax : mMAP.getNRUs() - 1;
70 mRUSWMin = ruMin < mRUSWMax ? ruMin : mRUSWMax;
85 mDefaultSinkName = nm;
90 std::vector<char>& trailer, std::vector<char>& header)
const;
97 int sz = mGBTLinks.size();
98 mGBTLinks.emplace_back();
107 void convertEmptyChips(
int fromChip,
int uptoChip,
RUDecodeData& ru);
111 enum RoMode_t { NotSet,
116 std::string mDefaultSinkName =
"dataSink.raw";
120 uint8_t mRUSWMin = 0;
121 uint8_t mRUSWMax = 0xff;
124 std::array<RUDecodeData, Mapping::getNRUs()> mRUDecodeVec;
125 std::array<
int, Mapping::getNRUs()> mRUEntry;
126 std::vector<GBTLink> mGBTLinks;
127 std::unordered_map<uint16_t, const GBTLink*> mFEEId2Link;
128 std::unordered_map<uint16_t, GBTDataHeader> mFEEId2GBTHeader;
class for the ALPIDE data decoding/encoding
Declaration of the Readout Unite decoder class.
Utility class to write detectors data to (multiple) raw data file(s) respecting CRU format.
Definition of the Alpide pixel reader for raw data processing.
Checks validity of hardware address (HW) and transform it to digit AbsId index.
bool isContinuousReadout() const
GBTLink * getGBTLink(int i)
void setContinuousReadout(bool v)
int carryOverMethod(const o2::header::RDHAny *rdh, const gsl::span< char > data, const char *ptr, int maxSize, int splitID, std::vector< char > &trailer, std::vector< char > &header) const
RUDecodeData & getCreateRUDecode(int ruSW)
const GBTLink * getGBTLink(int i) const
o2::raw::RawFileWriter & getWriter()
std::string getDefaultSinkName() const
void setDefaultSinkName(const std::string &nm)
void setMinMaxRUSW(uint8_t ruMin, uint8_t ruMax)
void digits2raw(gsl::span< const Digit > digits, const o2::InteractionRecord &bcData)
RUDecodeData * getRUDecode(int ruSW)
void newRDHMethod(const header::RDHAny *rdh, bool empty, std::vector< char > &toAdd) const
void setContinuousReadout()
bool isContinuousReadout() const
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
support for the GBT single link data
std::vector< Digit > digits