Summarizes information about fields and the corresponding columns that were added after the header has been serialized.
Definition at line 1098 of file RNTupleDescriptor.hxx.
Public Member Functions | |
bool | ContainsExtendedColumnRepresentation (ROOT::DescriptorId_t columnId) const |
bool | ContainsField (ROOT::DescriptorId_t fieldId) const |
const std::vector< ROOT::DescriptorId_t > & | GetExtendedColumnRepresentations () const |
std::size_t | GetNFields () const |
std::size_t | GetNLogicalColumns () const |
std::size_t | GetNPhysicalColumns () const |
std::vector< ROOT::DescriptorId_t > | GetTopLevelFields (const RNTupleDescriptor &desc) const |
Return a vector containing the IDs of the top-level fields defined in the extension header, in the order of their addition. | |
Private Member Functions | |
void | MarkExtendedColumn (const RColumnDescriptor &columnDesc) |
Marks columnDesc as an extended column, i.e. | |
void | MarkExtendedField (const RFieldDescriptor &fieldDesc) |
Marks fieldDesc as an extended field, i.e. | |
Private Attributes | |
std::vector< ROOT::DescriptorId_t > | fExtendedColumnRepresentations |
All logical column IDs of columns that extend, with additional column representations, fields of the regular header. | |
std::unordered_set< ROOT::DescriptorId_t > | fFieldIdsLookup |
All field IDs of late model extensions for efficient lookup. | |
std::vector< ROOT::DescriptorId_t > | fFieldIdsOrder |
All field IDs of late model extensions, in the order of field addition. | |
std::uint32_t | fNLogicalColumns = 0 |
Number of logical and physical columns; updated by the descriptor builder when columns are added. | |
std::uint32_t | fNPhysicalColumns = 0 |
Friends | |
class | Internal::RNTupleDescriptorBuilder |
#include <ROOT/RNTupleDescriptor.hxx>
|
inline |
Definition at line 1157 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1153 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1143 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1140 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1141 of file RNTupleDescriptor.hxx.
|
inline |
Definition at line 1142 of file RNTupleDescriptor.hxx.
std::vector< ROOT::DescriptorId_t > ROOT::Experimental::RNTupleDescriptor::RHeaderExtension::GetTopLevelFields | ( | const RNTupleDescriptor & | desc | ) | const |
Return a vector containing the IDs of the top-level fields defined in the extension header, in the order of their addition.
We cannot create this vector when building the fFields because at the time when AddExtendedField is called, the field is not yet linked into the schema tree.
Definition at line 540 of file RNTupleDescriptor.cxx.
|
inlineprivate |
Marks columnDesc
as an extended column, i.e.
a column that appears in the Header Extension (e.g. having been added through late model extension as an additional representation of an existing column). Note that the column descriptor should also have been added to the RNTuple Descriptor alongside non-extended columns.
Definition at line 1129 of file RNTupleDescriptor.hxx.
|
inlineprivate |
Marks fieldDesc
as an extended field, i.e.
a field that appears in the Header Extension (e.g. having been added through late model extension). Note that the field descriptor should also have been added to the RNTuple Descriptor alongside non-extended fields.
Definition at line 1120 of file RNTupleDescriptor.hxx.
|
friend |
Definition at line 1099 of file RNTupleDescriptor.hxx.
|
private |
All logical column IDs of columns that extend, with additional column representations, fields of the regular header.
During serialization, these columns are not picked up as columns of fFieldIdsOrder
. But instead these columns need to be serialized in the extension header without re-serializing the field.
Definition at line 1112 of file RNTupleDescriptor.hxx.
|
private |
All field IDs of late model extensions for efficient lookup.
When a column gets added to the extension header, this enables us to determine if the column belongs to a field of the header extension of if it belongs to a field of the regular header that gets extended by additional column representations.
Definition at line 1108 of file RNTupleDescriptor.hxx.
|
private |
All field IDs of late model extensions, in the order of field addition.
This is necessary to serialize the the fields in that order.
Definition at line 1104 of file RNTupleDescriptor.hxx.
|
private |
Number of logical and physical columns; updated by the descriptor builder when columns are added.
Definition at line 1114 of file RNTupleDescriptor.hxx.
|
private |
Definition at line 1115 of file RNTupleDescriptor.hxx.