ATLAS Offline Software
Loading...
Searching...
No Matches
RNTCollectionCursor.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef RNTCOLLECTIONCURSOR_H
6#define RNTCOLLECTIONCURSOR_H
7
9
13
14#include <memory>
15
16#include "RVersion.h"
17
18namespace ROOT {
19 class REntry;
20 class RNTupleReader;
21}
22
23namespace pool {
24 namespace RootCollection {
25
33 {
34 public:
35
38 const pool::CollectionRowBuffer& collectionRowBuffer,
39 ROOT::RNTupleReader* reader );
40
41
43 virtual bool next() override;
44
46 virtual const pool::CollectionRowBuffer& currentRow() const override;
47
49 virtual std::size_t size() override;
50
52 virtual bool seek(std::size_t position) override;
53
55 virtual const Token& eventRef() const override;
56
58 virtual void close() override;
59
61
62 protected:
63
65
66 ROOT::RNTupleReader* m_RNTReader;
67
69 std::unique_ptr< ROOT::REntry > m_RNTEntry;
70
73
75 std::vector< std::pair< Token*, std::string > > m_tokens;
76
77 std::size_t m_idx;
79 };
80 }
81}
82
83#endif
This file contains the class definition for the Token class (migrated from POOL).
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:21
A class that acts as a buffer to be filled with the event reference and associated metadata values of...
An interface used to navigate the result of a query on a collection.
An interface used to define the properties of a collection to be constructed and to retrieve these pr...
virtual std::size_t size() override
Return the size of the collection.
std::unique_ptr< ROOT::REntry > m_RNTEntry
RNtuple row with Field addresses set to collectionRowBuffer attributes.
virtual const Token & eventRef() const override
Returns the event reference Token for the current row.
virtual const pool::CollectionRowBuffer & currentRow() const override
Returns the selected Tokens and Attributes for the current row of the result set.
virtual bool seek(std::size_t position) override
Seeks the cursor to a given position in the collection.
std::vector< std::pair< Token *, std::string > > m_tokens
"Token rowBuffer" for reading Tokens as strings and converting them later
pool::CollectionRowBuffer m_collectionRowBuffer
Row buffer containing Tokens and Attributes.
RNTCollectionCursor(const pool::ICollectionDescription &description, const pool::CollectionRowBuffer &collectionRowBuffer, ROOT::RNTupleReader *reader)
virtual void close() override
Cleanup.
const ICollectionDescription & m_description
virtual bool next() override
Advances the cursor to the next row of the result set.
std::string description
glabal timer - how long have I taken so far?
Definition hcg.cxx:91
Selection rules: declare transient members.
Definition DataVector.h:581
pool namespace
Definition libname.h:15