Project
Loading...
Searching...
No Matches
DigitIOV0.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef O2_MCH_DEVIO_DIGITS_DIGIT_IO_H
13#define O2_MCH_DEVIO_DIGITS_DIGIT_IO_H
14
15#include "DigitSamplerImpl.h"
16#include "DigitSinkImpl.h"
17#include <utility>
18#include <vector>
19
20/*
21 * Digit file format 0 is storing Digits version D0
22 * with no ROF (i.e. just a set of nDigits|DigitsD0|...)
23 */
24
25namespace o2::mch::io::impl
26{
31{
32 public:
33 void count(std::istream& in, size_t& ntfs, size_t& nrofs, size_t& ndigits) override;
34 bool read(std::istream& in,
35 std::vector<Digit>& digits,
36 std::vector<ROFRecord>& rofs) override;
37 void rewind(std::istream& in);
38
39 private:
40 int mCurrentROF{0};
41};
42
46struct DigitSinkV0 : public DigitSinkImpl {
47
53 bool write(std::ostream& out,
54 gsl::span<const Digit> digits,
55 gsl::span<const ROFRecord> rofs) override;
56
57 bool mBinary;
58};
59
60} // namespace o2::mch::io::impl
61
62#endif
void rewind(std::istream &in)
Definition DigitIOV0.cxx:70
bool read(std::istream &in, std::vector< Digit > &digits, std::vector< ROFRecord > &rofs) override
Definition DigitIOV0.cxx:48
GLint GLsizei count
Definition glcorearb.h:399
bool write(std::ostream &out, gsl::span< const Digit > digits, gsl::span< const ROFRecord > rofs) override
Definition DigitIOV0.cxx:76
std::vector< Digit > digits