|
ROOT 6.18/05 Reference Guide |
The RNTupleModel encapulates the schema of an ntuple.
The ntuple model comprises a collection of hierarchically organized fields. From a frozen model, "entries" can be extracted. For convenience, the model provides a default entry. Models have a unique model identifier that faciliates checking whether entries are compatible with it (i.e.: have been extracted from that model). A model needs to be frozen before it can be used to create a live ntuple.
Definition at line 46 of file RNTupleModel.hxx.
Public Member Functions | |
| RNTupleModel () | |
| RNTupleModel (const RNTupleModel &)=delete | |
| ~RNTupleModel ()=default | |
| template<typename T > | |
| void | AddField (std::string_view fieldName, T *fromWhere) |
| void | AddField (std::unique_ptr< Detail::RFieldBase > field) |
| Adds a field whose type is not known at compile time. Thus there is no shared pointer returned. More... | |
| RNTupleModel * | Clone () |
| std::unique_ptr< REntry > | CreateEntry () |
| template<typename T > | |
| T * | Get (std::string_view fieldName) |
| REntry * | GetDefaultEntry () |
| RFieldRoot * | GetRootField () |
| std::shared_ptr< RCollectionNTuple > | MakeCollection (std::string_view fieldName, std::unique_ptr< RNTupleModel > collectionModel) |
| Ingests a model for a sub collection and attaches it to the current model. More... | |
| template<typename T , typename... ArgsT> | |
| std::shared_ptr< T > | MakeField (std::string_view fieldName, ArgsT &&... args) |
| Creates a new field and a corresponding tree value that is managed by a shared pointer. More... | |
| RNTupleModel & | operator= (const RNTupleModel &)=delete |
Static Public Member Functions | |
| static std::unique_ptr< RNTupleModel > | Create () |
Private Attributes | |
| std::unique_ptr< REntry > | fDefaultEntry |
| Contains field values corresponding to the created top-level fields. More... | |
| std::unique_ptr< RFieldRoot > | fRootField |
| Hierarchy of fields consisting of simple types and collections (sub trees) More... | |
#include <ROOT/RNTupleModel.hxx>
| ROOT::Experimental::RNTupleModel::RNTupleModel | ( | ) |
Definition at line 27 of file RNTupleModel.cxx.
|
delete |
|
default |
|
inline |
Definition at line 74 of file RNTupleModel.hxx.
| void ROOT::Experimental::RNTupleModel::AddField | ( | std::unique_ptr< Detail::RFieldBase > | field | ) |
Adds a field whose type is not known at compile time. Thus there is no shared pointer returned.
Definition at line 42 of file RNTupleModel.cxx.
| ROOT::Experimental::RNTupleModel * ROOT::Experimental::RNTupleModel::Clone | ( | ) |
Definition at line 32 of file RNTupleModel.cxx.
|
inlinestatic |
Definition at line 59 of file RNTupleModel.hxx.
| std::unique_ptr< ROOT::Experimental::REntry > ROOT::Experimental::RNTupleModel::CreateEntry | ( | ) |
Definition at line 59 of file RNTupleModel.cxx.
|
inline |
Definition at line 81 of file RNTupleModel.hxx.
|
inline |
Definition at line 91 of file RNTupleModel.hxx.
|
inline |
Definition at line 90 of file RNTupleModel.hxx.
| std::shared_ptr< ROOT::Experimental::RCollectionNTuple > ROOT::Experimental::RNTupleModel::MakeCollection | ( | std::string_view | fieldName, |
| std::unique_ptr< RNTupleModel > | collectionModel | ||
| ) |
Ingests a model for a sub collection and attaches it to the current model.
Definition at line 49 of file RNTupleModel.cxx.
|
inline |
Creates a new field and a corresponding tree value that is managed by a shared pointer.
Definition at line 63 of file RNTupleModel.hxx.
|
delete |
|
private |
Contains field values corresponding to the created top-level fields.
Definition at line 50 of file RNTupleModel.hxx.
|
private |
Hierarchy of fields consisting of simple types and collections (sub trees)
Definition at line 48 of file RNTupleModel.hxx.