18#ifndef ALICEO2_FIT_DATABLOCKFIT_H_
19#define ALICEO2_FIT_DATABLOCKFIT_H_
35template <
typename ConfigType,
typename RawHeaderPMtype,
typename RawDataPMtype>
46 void deserialize(gsl::span<const uint8_t> srcBytes,
size_t& srcByteShift)
57 std::vector<char> vecBytes(nBytes);
58 std::size_t destBytes = 0;
62 auto dataBlockTmp = (*this);
91template <
typename ConfigType,
typename RawHeaderTCMtype,
typename RawDataTCMtype>
103 void deserialize(gsl::span<const uint8_t> srcBytes,
size_t& srcByteShift)
113 std::vector<char> vecBytes(nBytes);
114 std::size_t destBytes = 0;
118 auto dataBlockTmp = (*this);
143template <
typename ConfigType,
typename RawHeaderTCMextType,
typename RawDataTCMtype,
typename RawDataTCMextType>
157 void deserialize(gsl::span<const uint8_t> srcBytes,
size_t& srcByteShift)
169 std::vector<char> vecBytes(nBytes);
170 std::size_t destBytes = 0;
174 auto dataBlockTmp = (*this);
DataBlockWrapper< ConfigType, RawHeaderPM > HeaderPM
DataBlockWrapper< ConfigType, RawDataPM > DataPM
const std::size_t getNgbtWords() const
std::vector< char > serialize() const
void sanityCheck(bool &flag, typename RawDataMetric::Status_t &metric)
DataBlockPM(const DataBlockPM &)=default
void deserialize(gsl::span< const uint8_t > srcBytes, size_t &srcByteShift)
RawHeaderPMtype RawHeaderPM
DataBlockWrapper< ConfigType, RawDataTCM > DataTCM
DataBlockWrapper< ConfigType, RawHeaderTCM > HeaderTCM
std::vector< char > serialize() const
const std::size_t getNgbtWords() const
RawHeaderTCMtype RawHeaderTCM
void deserialize(gsl::span< const uint8_t > srcBytes, size_t &srcByteShift)
DataBlockTCM(const DataBlockTCM &)=default
void sanityCheck(bool &flag, typename RawDataMetric::Status_t &metric)
RawDataTCMtype RawDataTCM
const std::size_t getNgbtWords() const
RawDataTCMtype RawDataTCM
void deserialize(gsl::span< const uint8_t > srcBytes, size_t &srcByteShift)
DataBlockTCMext()=default
DataBlockTCMext(const DataBlockTCMext &)=default
DataBlockWrapper< ConfigType, RawHeaderTCMext > HeaderTCMext
RawHeaderTCMextType RawHeaderTCMext
DataBlockWrapper< ConfigType, RawDataTCMext > DataTCMext
void sanityCheck(bool &flag, typename RawDataMetric::Status_t &metric)
RawDataTCMextType RawDataTCMext
std::vector< char > serialize() const
DataBlockWrapper< ConfigType, RawDataTCM > DataTCM
TFitResultPtr fit(const size_t nBins, const T *arr, const T xMin, const T xMax, TF1 &func, std::string_view option="")
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void deserialize(const gsl::span< const uint8_t > inputBytes, size_t nWords, size_t &srcPos)
static constexpr int MaxNwords
void serialize(std::vector< char > &vecBytes, size_t nWords, size_t &destPos) const
Data_t mData[Data_t::MaxNelements]
static constexpr std::size_t sSizeWord
RawDataMetric::Status_t mStatusBits
static bool isBitActive(Status_t metric, EStatusBits statusBit)
static void setStatusBit(Status_t &metric, EStatusBits statusBit, bool val=true)