1#ifndef PODIO_SIOLEGACYREADER_H
2#define PODIO_SIOLEGACYREADER_H
6#include "podio/podioVersion.h"
8#include <sio/definitions.h>
16class CollectionIDTable;
45 std::unique_ptr<podio::SIOFrameData>
readNextEntry(
const std::string&);
54 std::unique_ptr<podio::SIOFrameData>
readEntry(
const std::string&,
const unsigned entry);
57 unsigned getEntries(
const std::string& name)
const;
59 void openFile(
const std::string& filename);
71 bool readFileTOCRecord();
73 void readCollectionIDTable();
75 sio::ifstream m_stream{};
78 std::vector<std::string> m_typeNames{};
79 std::vector<short> m_subsetCollectionBits{};
81 sio::buffer m_tableBuffer{1};
82 unsigned m_tableUncLength{0};
84 std::shared_ptr<podio::CollectionIDTable> m_table{
nullptr};
85 unsigned m_eventNumber{0};
87 SIOFileTOCRecord m_tocRecord{};
90 constexpr static auto m_categoryName =
"events";
std::unique_ptr< podio::SIOFrameData > readEntry(const std::string &, const unsigned entry)
unsigned getEntries(const std::string &name) const
Returns the number of.
~SIOLegacyReader()=default
std::unique_ptr< podio::SIOFrameData > readNextEntry(const std::string &)
SIOLegacyReader(const SIOLegacyReader &)=delete
SIOLegacyReader & operator=(const SIOLegacyReader &)=delete
podio::version::Version currentFileVersion() const
Get the build version of podio that has been used to write the current file.
void openFile(const std::string &filename)
std::vector< std::string_view > getAvailableCategories() const
Get the names of all the availalable Frame categories in the current file(s)