Project
Loading...
Searching...
No Matches
DigitSamplerImpl.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_READER_IMPL_H
13#define O2_MCH_DEVIO_DIGITS_DIGIT_READER_IMPL_H
14
15#include <istream>
16#include "DigitFileFormat.h"
17#include <fmt/format.h>
18#include <memory>
19#include <vector>
20
21namespace o2::mch
22{
23class Digit;
24class ROFRecord;
25} // namespace o2::mch
26
27namespace o2::mch::io::impl
28{
29
31 virtual ~DigitSamplerImpl() = default;
32 virtual void count(std::istream& in, size_t& ntfs, size_t& nrofs, size_t& ndigits) = 0;
33 virtual bool read(std::istream& in,
34 std::vector<Digit>& digits,
35 std::vector<ROFRecord>& rofs) = 0;
36
37 void rewind(std::istream& in);
38};
39
40std::unique_ptr<DigitSamplerImpl> createDigitSamplerImpl(int version);
41
42} // namespace o2::mch::io::impl
43
44#endif
uint32_t version
Definition RawData.h:8
o2::cpv::Digit Digit
std::unique_ptr< DigitSamplerImpl > createDigitSamplerImpl(int version)
virtual void count(std::istream &in, size_t &ntfs, size_t &nrofs, size_t &ndigits)=0
virtual bool read(std::istream &in, std::vector< Digit > &digits, std::vector< ROFRecord > &rofs)=0
std::vector< Digit > digits