16#ifndef O2_MCH_CTF_HELPER_H
17#define O2_MCH_CTF_HELPER_H
33 CTFHelper(
const gsl::span<const o2::mch::ROFRecord>&
rofData,
const gsl::span<const o2::mch::Digit>& digData)
34 : mROFData(
rofData), mDigData(digData) {}
39 uint32_t(mROFData.size()), uint32_t(mDigData.size()), 0, 0};
40 if (mROFData.size()) {
41 h.firstOrbit = mROFData[0].getBCData().orbit;
42 h.firstBC = mROFData[0].getBCData().bc;
51 template <
typename I,
typename D,
typename T,
int M = 1>
67 return static_cast<I&
>(*this);
72 I
res = *(
static_cast<I*
>(
this));
80 return static_cast<I&
>(*this);
85 I
res = *(
static_cast<I*
>(
this));
93 return static_cast<I&
>(*this);
98 I
res = *(
const_cast<I*
>(
static_cast<const I*
>(
this)));
105 return static_cast<I&
>(*this);
110 I
res = *(
const_cast<I*
>(
static_cast<const I*
>(
this)));
270 const gsl::span<const o2::mch::ROFRecord> mROFData;
271 const gsl::span<const o2::mch::Digit> mDigData;
Class for time synchronization of RawReader instances.
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator*() const
value_type operator[](difference_type i) const
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator*() const
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator[](difference_type i) const
value_type operator[](difference_type i) const
value_type operator*() const
value_type operator*() const
value_type operator[](difference_type i) const
I & operator-=(difference_type i) noexcept
I & operator--() noexcept
friend I operator+(difference_type i, const I &iter)
std::random_access_iterator_tag iterator_category
_Iter(const gsl::span< const D > &data, bool end=false)
I operator+(difference_type i) const
gsl::span< const D > mData
I & operator++() noexcept
difference_type operator-(const I &other) const noexcept
bool operator>=(const I &other) const noexcept
I operator-(difference_type i) const
bool operator<=(const I &other) const noexcept
bool operator==(const I &other) const noexcept
bool operator<(const I &other) const noexcept
bool operator>(const I &other) const noexcept
bool operator!=(const I &other) const noexcept
I & operator+=(difference_type i) noexcept
std::ptrdiff_t difference_type
CTFHelper(const gsl::span< const o2::mch::ROFRecord > &rofData, const gsl::span< const o2::mch::Digit > &digData)
Iter_detID end_detID() const
Iter_nSamples end_nSamples() const
Iter_tfTime begin_tfTime() const
Iter_nDigitsROF end_nDigitsROF() const
Iter_nDigitsROF begin_nDigitsROF() const
Iter_orbitIncROF begin_orbitIncROF() const
Iter_isSaturated end_isSaturated() const
Iter_orbitIncROF end_orbitIncROF() const
Iter_detID begin_detID() const
Iter_isSaturated begin_isSaturated() const
Iter_ADC begin_ADC() const
Iter_padID end_padID() const
Iter_padID begin_padID() const
Iter_tfTime end_tfTime() const
Iter_bcIncROF end_bcIncROF() const
Iter_bcIncROF begin_bcIncROF() const
Iter_nSamples begin_nSamples() const
MCH digit implementation.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
VectorOfTObjectPtrs other
std::array< std::vector< ROFRecord >, NEvTypes > rofData