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

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

A container for variation names and variation results that knows how to merge with others of the same type.

Template Parameters
TType of the action result.

Definition at line 624 of file RMergeableValue.hxx.

Public Member Functions

 RMergeableVariations ()=default
 Default constructor.
 
 RMergeableVariations (const RMergeableVariations &)=delete
 
 RMergeableVariations (RMergeableVariations &&)=delete
 
 RMergeableVariations (RMergeableVariationsBase &&base)
 Constructor that initializes data members.
 
const std::vector< std::string > & GetKeys () const
 Get the list of variation names.
 
const T & GetVariation (const std::string &variationName) const
 Get the final value from the mergeable corresponding to a certain variation name.
 
RMergeableVariationsoperator= (const RMergeableVariations &)=delete
 
RMergeableVariationsoperator= (RMergeableVariations &&)=delete
 
- Public Member Functions inherited from ROOT::Detail::RDF::RMergeableVariationsBase
 RMergeableVariationsBase ()=default
 Default constructor.
 
 RMergeableVariationsBase (const RMergeableVariationsBase &)=delete
 
 RMergeableVariationsBase (RMergeableVariationsBase &&other)
 Constructor that moves the data members from the input object.
 
 RMergeableVariationsBase (std::vector< std::string > &&keys, std::vector< std::unique_ptr< RMergeableValueBase > > &&values)
 Constructor that initializes data members.
 
void AddNominal (std::unique_ptr< RMergeableValueBase > value)
 Add an entry for the "nominal" value.
 
RMergeableVariationsBaseoperator= (const RMergeableVariationsBase &)=delete
 
RMergeableVariationsBaseoperator= (RMergeableVariationsBase &&)=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

void Merge (const RMergeableVariations< T > &other)
 Aggregate the information contained in another RMergeableVariations into this.
 

Friends

template<typename T1 , typename... Ts>
void MergeValues (RMergeableVariations< T1 > &OutputMergeable, const RMergeableVariations< Ts > &... InputMergeables)
 

Additional Inherited Members

- Protected Attributes inherited from ROOT::Detail::RDF::RMergeableVariationsBase
std::vector< std::string > fKeys
 
std::vector< std::unique_ptr< RMergeableValueBase > > fValues
 

#include <ROOT/RDF/RMergeableValue.hxx>

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

Constructor & Destructor Documentation

◆ RMergeableVariations() [1/4]

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

Default constructor.

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

◆ RMergeableVariations() [2/4]

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

◆ RMergeableVariations() [3/4]

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

◆ RMergeableVariations() [4/4]

template<typename T >
ROOT::Detail::RDF::RMergeableVariations< T >::RMergeableVariations ( RMergeableVariationsBase &&  base)
inline

Constructor that initializes data members.

Parameters
[in]baseThe container of the names and values.

The variation names and values are moved from the base container into this.

Definition at line 669 of file RMergeableValue.hxx.

Member Function Documentation

◆ GetKeys()

template<typename T >
const std::vector< std::string > & ROOT::Detail::RDF::RMergeableVariations< T >::GetKeys ( ) const
inline

Get the list of variation names.

Definition at line 673 of file RMergeableValue.hxx.

◆ GetVariation()

template<typename T >
const T & ROOT::Detail::RDF::RMergeableVariations< T >::GetVariation ( const std::string &  variationName) const
inline

Get the final value from the mergeable corresponding to a certain variation name.

Parameters
[in]variationNameThe name.

The variation name is used to retrieve the corresponding RMergeableValue contained in this object. From that, the actual value is retrieved by calling the ROOT::Detail::RDF::RMergeableValue::GetValue function.

Definition at line 682 of file RMergeableValue.hxx.

◆ Merge()

template<typename T >
void ROOT::Detail::RDF::RMergeableVariations< T >::Merge ( const RMergeableVariations< T > &  other)
inlineprivate

Aggregate the information contained in another RMergeableVariations into this.

Parameters
[in]otherThe other mergeable.

Iterates over all values of the current object and calls ROOT::Detail::RDF::MergeValues to merge with the corresponding value of the other object.

Note
All the Merge methods in the RMergeableValue family are private. To merge multiple RMergeableValue objects please use ROOT::Detail::RDF::MergeValues

Definition at line 641 of file RMergeableValue.hxx.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Friends And Related Symbol Documentation

◆ MergeValues

template<typename T >
template<typename T1 , typename... Ts>
void MergeValues ( RMergeableVariations< T1 > &  OutputMergeable,
const RMergeableVariations< Ts > &...  InputMergeables 
)
friend
  • tree/dataframe/inc/ROOT/RDF/RMergeableValue.hxx