31 std::pair<int, int> pairs;
32 std::pair<int, int> invalid{-1, -1};
35 ndigits += pairs.second;
43 std::vector<Digit>&
digits,
44 std::vector<ROFRecord>& rofs)
49 std::vector<ROFRecordR0> rofsr0;
55 for (
auto r0 : rofsr0) {
56 ROFRecord r(r0.ir, r0.ref.getFirstEntry(), r0.ref.getEntries(), 4);
60 std::vector<DigitD0> digitsd0;
67 for (
auto d0 : digitsd0) {
68 Digit d(d0.detID, d0.padID, d0.adc, d0.tfTime, d0.getNofSamples(), d0.isSaturated());
80 gsl::span<const Digit>
digits,
81 gsl::span<const ROFRecord> rofs)
86 std::vector<ROFRecordR0> rofsr0;
87 for (
const auto&
r : rofs) {
88 rofsr0.push_back(
ROFRecordR0{
r.getBCData(), {
r.getFirstIdx(),
r.getNEntries()}});
90 gsl::span<const ROFRecordR0> r0(rofsr0);
94 std::vector<DigitD0> digitsd0;
95 for (
const auto& d :
digits) {
96 digitsd0.push_back(
DigitD0{d.getTime(), d.
getNofSamples(), d.getDetID(), d.getPadID(), d.getADC()});
97 digitsd0.back().setSaturated(d.isSaturated());
99 gsl::span<const DigitD0> d0(digitsd0);
MCH digit implementation.
void count(std::istream &in, size_t &ntfs, size_t &nrofs, size_t &ndigits) override
bool read(std::istream &in, std::vector< Digit > &digits, std::vector< ROFRecord > &rofs) override
void rewind(std::istream &in)
bool readBinaryStruct(std::istream &in, std::vector< T > &items, const char *itemName)
std::pair< int, int > advanceOneEvent(std::istream &in, int fileFormatVersion)
bool writeBinaryStruct(std::ostream &os, gsl::span< const T > items)
uint16_t getNofSamples() const
void rewind(std::istream &in)
bool write(std::ostream &out, gsl::span< const Digit > digits, gsl::span< const ROFRecord > rofs) override
std::vector< Digit > digits