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 254 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 &&)=delete
 
RMergeableFilloperator= (const RMergeableFill &)=delete
 
RMergeableFilloperator= (RMergeableFill &&)=delete
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValue< T >
 RMergeableValue ()=default
 Default constructor.
 
 RMergeableValue (const RMergeableValue &)=delete
 
 RMergeableValue (const T &value)
 Constructor taking the action result by const reference.
 
 RMergeableValue (RMergeableValue &&)=delete
 
const T & GetValue () const
 Retrieve the result wrapped by this mergeable.
 
RMergeableValueoperator= (const RMergeableValue &)=delete
 
RMergeableValueoperator= (RMergeableValue &&)=delete
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableValueBase
 RMergeableValueBase ()=default
 Default constructor.
 
 RMergeableValueBase (const RMergeableValueBase &)=delete
 
 RMergeableValueBase (RMergeableValueBase &&)=delete
 
virtual ~RMergeableValueBase ()=default
 
RMergeableValueBaseoperator= (const RMergeableValueBase &)=delete
 
RMergeableValueBaseoperator= (RMergeableValueBase &&)=delete
 

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 305 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 ( const RMergeableFill< T > &  )
delete

◆ RMergeableFill() [4/4]

template<typename T >
ROOT::Detail::RDF::RMergeableFill< T >::RMergeableFill ( 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 270 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 260 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 291 of file RMergeableValue.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

template<typename T >
RMergeableFill & ROOT::Detail::RDF::RMergeableFill< T >::operator= ( RMergeableFill< T > &&  )
delete
  • tree/dataframe/inc/ROOT/RDF/RMergeableValue.hxx