16#ifndef ROOT_RNTupleParallelWriter 
   17#define ROOT_RNTupleParallelWriter 
   37namespace Experimental {
 
   39class RNTupleFillContext;
 
   73   std::unique_ptr<ROOT::Internal::RPageSink> 
fSink;
 
   75   std::unique_ptr<ROOT::RNTupleModel> 
fModel;
 
   86   static std::unique_ptr<RNTupleParallelWriter>
 
   90   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.
 
std::vector< std::weak_ptr< RNTupleFillContext > > fFillContexts
List of all created helpers. They must be destroyed before this RNTupleParallelWriter is destructed.
 
RNTupleParallelWriter(const RNTupleParallelWriter &)=delete
 
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 ntuple to the existing file, which must not be accessed while data is filled into any creat...
 
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 ntuple.
 
std::mutex fSinkMutex
A mutex to synchronize the final page sink.
 
std::shared_ptr< RNTupleFillContext > CreateFillContext()
Create a new RNTupleFillContext that can be used to fill entries and prepare clusters in parallel.
 
RNTupleParallelWriter(std::unique_ptr< ROOT::RNTupleModel > model, std::unique_ptr< ROOT::Internal::RPageSink > sink)
 
RNTupleParallelWriter & operator=(const RNTupleParallelWriter &)=delete
 
std::unique_ptr< ROOT::RNTupleModel > fModel
The original RNTupleModel connected to fSink; needs to be destructed before it.
 
void CommitDataset()
Automatically called by the destructor.
 
std::mutex fMutex
A global mutex to protect the internal data structures of this object.
 
Detail::RNTupleMetrics fMetrics
 
std::unique_ptr< ROOT::Internal::RPageSink > fSink
The final RPageSink that represents the synchronization point.
 
const Detail::RNTupleMetrics & GetMetrics() const
 
Common user-tunable settings for storing RNTuples.
 
Describe directory structure in memory.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...