File indexing completed on 2026-09-15 09:18:31
0001 #ifndef PODIO_ARROWFRAMEDATA_H
0002 #define PODIO_ARROWFRAMEDATA_H
0003
0004 #include "podio/CollectionBuffers.h"
0005 #include "podio/CollectionIDTable.h"
0006 #include "podio/GenericParameters.h"
0007
0008 #include <memory>
0009 #include <optional>
0010 #include <string>
0011 #include <vector>
0012
0013 namespace arrow {
0014 class Table;
0015 }
0016
0017 namespace podio {
0018
0019 class ArrowFrameData {
0020 public:
0021 ArrowFrameData(std::shared_ptr<arrow::Table> table, int64_t rowIndex,
0022 const std::vector<std::string>& collsToRead = {});
0023
0024 podio::CollectionIDTable getIDTable() const;
0025 std::optional<podio::CollectionReadBuffers> getCollectionBuffers(const std::string& name);
0026
0027 std::vector<std::string> getAvailableCollections() const;
0028 std::unique_ptr<podio::GenericParameters> getParameters();
0029
0030 private:
0031 std::shared_ptr<arrow::Table> m_table;
0032 int64_t m_rowIndex;
0033 std::vector<std::string> m_availableCollections;
0034 podio::CollectionIDTable m_idTable;
0035 };
0036
0037 }
0038
0039 #endif