14#ifndef ROOT_RNTupleParallelWriter
15#define ROOT_RNTupleParallelWriter
35class RNTupleFillContext;
68 std::unique_ptr<ROOT::Internal::RPageSink>
fSink;
70 std::unique_ptr<ROOT::RNTupleModel>
fModel;
81 static std::unique_ptr<RNTupleParallelWriter>
91 static std::unique_ptr<RNTupleParallelWriter>
A collection of Counter objects with a name, a unit, and a description.
A writer to fill an RNTuple from multiple contexts.
static std::unique_ptr< RNTupleParallelWriter > Recreate(std::unique_ptr< ROOT::RNTupleModel > model, std::string_view ntupleName, std::string_view storage, const ROOT::RNTupleWriteOptions &options=ROOT::RNTupleWriteOptions())
Recreate a new file and return a writer to write an RNTuple.
RNTupleParallelWriter(const RNTupleParallelWriter &)=delete
std::vector< std::weak_ptr< RNTupleFillContext > > fFillContexts
List of all created helpers. They must be destroyed before this RNTupleParallelWriter is destructed.
const Experimental::Detail::RNTupleMetrics & GetMetrics() const
static std::unique_ptr< RNTupleParallelWriter > Append(std::unique_ptr< ROOT::RNTupleModel > model, std::string_view ntupleName, TDirectory &fileOrDirectory, const ROOT::RNTupleWriteOptions &options=ROOT::RNTupleWriteOptions())
Append an RNTuple to the existing file.
Experimental::Detail::RNTupleMetrics fMetrics
void CommitDataset()
Automatically called by the destructor.
std::mutex fMutex
A global mutex to protect the internal data structures of this object.
std::unique_ptr< ROOT::Internal::RPageSink > fSink
The final RPageSink that represents the synchronization point.
RNTupleParallelWriter(std::unique_ptr< ROOT::RNTupleModel > model, std::unique_ptr< ROOT::Internal::RPageSink > sink)
RNTupleParallelWriter & operator=(const RNTupleParallelWriter &)=delete
std::shared_ptr< RNTupleFillContext > CreateFillContext()
Create a new RNTupleFillContext that can be used to fill entries and prepare clusters in parallel.
std::unique_ptr< ROOT::RNTupleModel > fModel
The original RNTupleModel connected to fSink; needs to be destructed before it.
std::mutex fSinkMutex
A mutex to synchronize the final page sink.
Common user-tunable settings for storing RNTuples.
Describe directory structure in memory.