Skip to content

[ntuple] Initial minimal support for SoA I/O#21647

Open
jblomer wants to merge 14 commits intoroot-project:masterfrom
jblomer:ntuple-soa-v2
Open

[ntuple] Initial minimal support for SoA I/O#21647
jblomer wants to merge 14 commits intoroot-project:masterfrom
jblomer:ntuple-soa-v2

Conversation

@jblomer
Copy link
Contributor

@jblomer jblomer commented Mar 20, 2026

TODO

jblomer added 14 commits March 20, 2026 11:05
Add a new dict option to the LinkDef class pragma parser and the
genreflex XML parser. When this option is set, the dictionary of the
class has the rntuple.SoARecord attribute set to the type name of
the record that underlies the SoA collection.

This option and enforcing RNTuple streamer mode are mutually exclusive.

fixup
Add EnsureValidUserClass() internal utility function that checks if a
TClass represents a valid RNTuple user class. These checks are used by
the RClassField and will be used later by the RSoAField.
Add SoA flag to field descriptor flags as well as a description of the
treatment of SoA collections.
First implementation of a SoA field. This implementation supports only
writing, no reading. Written data can be read though as collection of the
underlying record type.

Other limitations that will be lifted in follow-up commits:
  - support for inheritance
  - support for automatic schema evolution
  - support for class rename rules
  - support for SoA layout of inner structs
@jblomer jblomer self-assigned this Mar 20, 2026
@jblomer jblomer requested a review from bellenot as a code owner March 20, 2026 15:00
@jblomer jblomer requested review from dpiparo and pcanal as code owners March 20, 2026 15:00
@github-actions
Copy link

Test Results

    22 files      22 suites   3d 6h 19m 7s ⏱️
 3 836 tests  3 834 ✅  1 💤 1 ❌
76 619 runs  76 608 ✅ 10 💤 1 ❌

For more details on these failures, see this check.

Results for commit 34faba4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant