Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RProfileConcurrentFiller Class Referencefinal

A histogram filler to concurrently fill an RProfile.

auto profile = std::make_shared<ROOT::Experimental::RProfile>(10, std::make_pair(5, 15));
{
auto context = filler.CreateFillContext();
context->Fill(8.5, 23.0);
}
// profile->GetBinContent(ROOT::Experimental::RBinIndex(3)) will return the filled bin content
A histogram filler to concurrently fill an RProfile.
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 36 of file RProfileConcurrentFiller.hxx.

Public Member Functions

 RProfileConcurrentFiller (const RProfileConcurrentFiller &)=delete
 
 RProfileConcurrentFiller (RProfileConcurrentFiller &&)=delete
 
 RProfileConcurrentFiller (std::shared_ptr< RProfile > profile)
 Create a filler object.
 
 ~RProfileConcurrentFiller ()
 
std::shared_ptr< RProfileFillContext > CreateFillContext ()
 Create a new context for concurrent filling.
 
const std::shared_ptr< RProfile > & GetProfile () const
 
RProfileConcurrentFiller & operator= (const RProfileConcurrentFiller &)=delete
 
RProfileConcurrentFiller & operator= (RProfileConcurrentFiller &&)=delete
 

Private Attributes

std::vector< std::weak_ptr< RProfileFillContext > > fFillContexts
 The list of fill contexts, for checks during destruction.
 
std::mutex fMutex
 Mutex to protect access to the list of fill contexts (not for filling itself!)
 
std::shared_ptr< RProfile > fProfile
 A pointer to the filled profile histogram.
 

#include <ROOT/RProfileConcurrentFiller.hxx>

Constructor & Destructor Documentation

◆ RProfileConcurrentFiller() [1/3]

ROOT::Experimental::RProfileConcurrentFiller::RProfileConcurrentFiller ( std::shared_ptr< RProfile > profile)
inlineexplicit

Create a filler object.

Parameters
[in]hista pointer to the histogram

Definition at line 49 of file RProfileConcurrentFiller.hxx.

◆ RProfileConcurrentFiller() [2/3]

ROOT::Experimental::RProfileConcurrentFiller::RProfileConcurrentFiller ( const RProfileConcurrentFiller & )
delete

◆ RProfileConcurrentFiller() [3/3]

ROOT::Experimental::RProfileConcurrentFiller::RProfileConcurrentFiller ( RProfileConcurrentFiller && )
delete

◆ ~RProfileConcurrentFiller()

ROOT::Experimental::RProfileConcurrentFiller::~RProfileConcurrentFiller ( )
inline

Definition at line 61 of file RProfileConcurrentFiller.hxx.

Member Function Documentation

◆ CreateFillContext()

std::shared_ptr< RProfileFillContext > ROOT::Experimental::RProfileConcurrentFiller::CreateFillContext ( )
inline

Create a new context for concurrent filling.

Definition at line 75 of file RProfileConcurrentFiller.hxx.

◆ GetProfile()

const std::shared_ptr< RProfile > & ROOT::Experimental::RProfileConcurrentFiller::GetProfile ( ) const
inline

Definition at line 72 of file RProfileConcurrentFiller.hxx.

◆ operator=() [1/2]

RProfileConcurrentFiller & ROOT::Experimental::RProfileConcurrentFiller::operator= ( const RProfileConcurrentFiller & )
delete

◆ operator=() [2/2]

RProfileConcurrentFiller & ROOT::Experimental::RProfileConcurrentFiller::operator= ( RProfileConcurrentFiller && )
delete

Member Data Documentation

◆ fFillContexts

std::vector<std::weak_ptr<RProfileFillContext> > ROOT::Experimental::RProfileConcurrentFiller::fFillContexts
private

The list of fill contexts, for checks during destruction.

Definition at line 43 of file RProfileConcurrentFiller.hxx.

◆ fMutex

std::mutex ROOT::Experimental::RProfileConcurrentFiller::fMutex
private

Mutex to protect access to the list of fill contexts (not for filling itself!)

Definition at line 41 of file RProfileConcurrentFiller.hxx.

◆ fProfile

std::shared_ptr<RProfile> ROOT::Experimental::RProfileConcurrentFiller::fProfile
private

A pointer to the filled profile histogram.

Definition at line 38 of file RProfileConcurrentFiller.hxx.

Libraries for ROOT::Experimental::RProfileConcurrentFiller:

The documentation for this class was generated from the following file: