20std::unique_ptr<ROOT::Experimental::RNTupleProcessor>
22 std::unique_ptr<RNTupleModel> model)
30 std::unique_ptr<RNTupleModel> model)
44 model =
fPageSource->GetSharedDescriptorGuard()->CreateModel();
47 fEntry = model->CreateEntry();
56 if (!model->IsBare()) {
73 fPageSource->Attach();
75 return fPageSource->GetNEntries();
80 auto desc = fPageSource->GetSharedDescriptorGuard();
86 R__FAIL(
"field \"" +
fieldContext.GetProtoField().GetFieldName() +
"\" not found in current RNTuple"));
102 ++fNEntriesProcessed;
104 if (++fLocalEntryNumber >= fPageSource->GetNEntries()) {
106 if (++fCurrentNTupleNumber >= fNTuples.size()) {
110 }
while (ConnectNTuple(fNTuples.at(fCurrentNTupleNumber)) == 0);
112 fLocalEntryNumber = 0;
115 fEntry->Read(fLocalEntryNumber);
117 return fNEntriesProcessed;
#define R__FAIL(msg)
Short-hand to return an RResult<T> in an error state; the RError is implicitly converted into RResult...
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
static std::unique_ptr< RPageSource > Create(std::string_view ntupleName, std::string_view location, const RNTupleReadOptions &options=RNTupleReadOptions())
Guess the concrete derived page source from the file name (location)
Base class for all ROOT issued exceptions.
Processor specializiation for vertically concatenated RNTuples (chains).
void ConnectFields() final
Creates and connects concrete fields to the current page source, based on the proto-fields.
NTupleSize_t Advance() final
Advance the processor to the next available entry.
RNTupleChainProcessor(const std::vector< RNTupleOpenSpec > &ntuples, std::unique_ptr< RNTupleModel > model=nullptr)
Constructs a new RNTupleChainProcessor.
NTupleSize_t ConnectNTuple(const RNTupleOpenSpec &ntuple) final
Connect an RNTuple for processing.
Interface for iterating over entries of RNTuples and vertically concatenated RNTuples (chains).
std::vector< RFieldContext > fFieldContexts
static std::unique_ptr< RNTupleProcessor > CreateChain(const std::vector< RNTupleOpenSpec > &ntuples, std::unique_ptr< RNTupleModel > model=nullptr)
Create a new RNTuple processor chain for vertical concatenation of RNTuples.
std::unique_ptr< REntry > fEntry
std::unique_ptr< Internal::RPageSource > fPageSource
std::vector< RNTupleOpenSpec > fNTuples
void CallConnectPageSourceOnField(RFieldBase &, RPageSource &)
constexpr NTupleSize_t kInvalidNTupleIndex
std::uint64_t NTupleSize_t
Integer type long enough to hold the maximum number of entries in a column.
constexpr DescriptorId_t kInvalidDescriptorId
Used to specify the underlying RNTuples in RNTupleProcessor and RNTupleReader::OpenFriends()