Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Detail::RDF::RMergeableFill< T > Class Template Referencefinal

template<typename T>
class ROOT::Detail::RDF::RMergeableFill< T >

Specialization of RMergeableValue for histograms and statistics.

This subclass is responsible for merging results coming from the following actions:

  • Graph
  • [Histo{1D,2D,3D}] (classROOT_1_1RDF_1_1RInterface.html::a247ca3aeb7ce5b95015b7fae72983055)
  • HistoND
  • [Profile{1D,2D}] (classROOT_1_1RDF_1_1RInterface.html::a8ef7dc16b0e9f7bc9cfbe2d9e5de0cef)
  • Stats

Definition at line 234 of file RMergeableValue.hxx.

Public Member Functions

 RMergeableFill ()=default
 Default constructor.
 
 RMergeableFill (const RMergeableFill &)=delete
 
 RMergeableFill (const T &value)
 Constructor that initializes data members.
 
 RMergeableFill (RMergeableFill &&)=default
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValue< T >
 RMergeableValue ()=default
 Default constructor.
 
 RMergeableValue (const T &value)
 Constructor taking the action result by const reference.
 
const T & GetValue () const
 Retrieve the result wrapped by this mergeable.
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValueBase
 RMergeableValueBase ()=default
 Default constructor.
 
virtual ~RMergeableValueBase ()=default
 

Private Member Functions

template<typename U >
auto DoMerge (const RMergeableFill< U > &other, double) -> decltype(this->fValue.Merge(std::vector< U * >{}), void())
 
template<typename U , std::enable_if_t< std::is_base_of< TObject, U >::value, int > = 0>
auto DoMerge (const RMergeableFill< U > &other, int) -> decltype(((U &) this->fValue).Merge((TCollection *) nullptr), void())
 
void Merge (const RMergeableValue< T > &other) final
 Aggregate the information contained in another RMergeableValue into this.
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Detail::RDF::RMergeableValue< T >
fValue
 

#include <ROOT/RDF/RMergeableValue.hxx>

Inheritance diagram for ROOT::Detail::RDF::RMergeableFill< T >:
[legend]

Constructor & Destructor Documentation

◆ RMergeableFill() [1/4]

template<typename T >
ROOT::Detail::RDF::RMergeableFill< T >::RMergeableFill ( const T &  value)
inline

Constructor that initializes data members.

Parameters
[in]valueThe action result.

Definition at line 285 of file RMergeableValue.hxx.

◆ RMergeableFill() [2/4]

template<typename T >
ROOT::Detail::RDF::RMergeableFill< T >::RMergeableFill ( )
default

Default constructor.

Needed to allow serialization of ROOT objects. See [TBufferFile::WriteObjectClass] (classTBufferFile.html::a209078a4cb58373b627390790bf0c9c1)

◆ RMergeableFill() [3/4]

template<typename T >
ROOT::Detail::RDF::RMergeableFill< T >::RMergeableFill ( RMergeableFill< T > &&  )
default

◆ RMergeableFill() [4/4]

template<typename T >
ROOT::Detail::RDF::RMergeableFill< T >::RMergeableFill ( const RMergeableFill< T > &  )
delete

Member Function Documentation

◆ DoMerge() [1/2]

template<typename T >
template<typename U >
auto ROOT::Detail::RDF::RMergeableFill< T >::DoMerge ( const RMergeableFill< U > &  other,
double   
) -> decltype(this->fValue.Merge(std::vector<U *>{}), void())
inlineprivate

Definition at line 250 of file RMergeableValue.hxx.

◆ DoMerge() [2/2]

template<typename T >
template<typename U , std::enable_if_t< std::is_base_of< TObject, U >::value, int > = 0>
auto ROOT::Detail::RDF::RMergeableFill< T >::DoMerge ( const RMergeableFill< U > &  other,
int   
) -> decltype(((U &)this->fValue).Merge((TCollection *)nullptr), void())
inlineprivate

Definition at line 240 of file RMergeableValue.hxx.

◆ Merge()

template<typename T >
void ROOT::Detail::RDF::RMergeableFill< T >::Merge ( const RMergeableValue< T > &  other)
inlinefinalprivatevirtual

Aggregate the information contained in another RMergeableValue into this.

Parameters
[in]otherAnother RMergeableValue object.
Exceptions
std::invalid_argumentIf the cast of the other object to the same type as this one fails.

The other RMergeableValue object is cast to the same type as this object. This is needed to make sure that only results of the same type of action are merged together. The function then calls the right Merge method according to the class of the fValue data member.

Note
All the Merge methods in the RMergeableValue family are private. To merge multiple RMergeableValue objects please use [MergeValues] (namespaceROOT_1_1Detail_1_1RDF.html::af16fefbe2d120983123ddf8a1e137277).

Implements ROOT::Detail::RDF::RMergeableValue< T >.

Definition at line 271 of file RMergeableValue.hxx.

  • tree/dataframe/inc/ROOT/RDF/RMergeableValue.hxx