Logo ROOT   6.16/01
Reference Guide
Namespaces | Classes | Typedefs | Enumerations | Functions
ROOT::Experimental Namespace Reference

Namespaces

namespace  Detail
 
namespace  Hist
 
namespace  Internal
 

Classes

class  RAxisBase
 Histogram axis base class. More...
 
class  RAxisConfig
 Objects used to configure the different axis types. More...
 
class  RAxisEquidistant
 Axis with equidistant bin borders. More...
 
class  RAxisGrow
 An axis that can extend its range, keeping the number of its bins unchanged. More...
 
class  RAxisIrregular
 An axis with non-equidistant bins (also known as "variable binning"). More...
 
class  RAxisLabels
 A RAxisGrow that has a label assigned to each bin and a bin width of 1. More...
 
class  RAxisView
 Common view on a RAxis, no matter what its kind. More...
 
class  RCanvas
 A window's topmost RPad. More...
 
class  RDrawable
 Base class for drawable entities: objects that can be painted on a RPad. More...
 
class  RDrawableBase
 
class  RFrame
 Holds a user coordinate system with a palette. More...
 
class  RHist
 Histogram class for histograms with DIMENSIONS dimensions, where each bin count is stored by a value of type PRECISION. More...
 
class  RHist< DIMENSIONS, PRECISION >
 RHist with no STAT parameter uses RHistStatContent by default. More...
 
class  RHistBufferedFill
 Buffers calls to Fill(). More...
 
class  RHistConcurrentFiller
 Buffers a thread's Fill calls and submits them to the RHistConcurrentFillManager. More...
 
class  RHistConcurrentFillManager
 Manages the synchronization of calls to FillN(). More...
 
class  RHistDataMomentUncert
 For now do as RH1: calculate first (xw) and second (x^2w) moment. More...
 
class  RHistDrawable
 
class  RHistDrawableBase
 
class  RHistDrawingOpts
 
class  RHistDrawingOpts< 1 >
 Drawing options for a 1D histogram. More...
 
class  RHistDrawingOpts< 2 >
 Drawing options for a 2D histogram. More...
 
class  RHistDrawingOpts< 3 >
 Drawing options for a 3D histogram. More...
 
class  RHistStatContent
 Basic histogram statistics, keeping track of the bin content and the total number of calls to Fill(). More...
 
class  RHistStatRuntime
 Interface implementing a pure virtual functions DoFill(), DoFillN(). More...
 
class  RHistStatTotalSumOfSquaredWeights
 Keeps track of the histogram's total sum of squared weights. More...
 
class  RHistStatTotalSumOfWeights
 Keeps track of the histogram's total sum of weights. More...
 
class  RHistStatUncertainty
 Histogram statistics to keep track of the Poisson uncertainty per bin. More...
 
class  RHistView
 A view on a histogram, selecting a range on a subset of dimensions. More...
 
struct  RHistViewOutOfRange
 
class  RMenuItems
 
class  RObjectDisplayItem
 
class  RObjectDrawable
 
class  RObjectDrawingOpts
 
class  RPad
 Graphic container for RDrawable-s. More...
 
class  RPadBase
 Base class for graphic containers for RDrawable-s. More...
 
class  RPadCartesianUserAxis
 
class  RPadDisplayItem
 Display item for the pad Includes different graphical properties of the pad itself plus list of created items for all primitives. More...
 
class  RPadDrawable
 Draw a RPad, by drawing its contained graphical elements at the pad offset in the parent pad. More...
 
class  RPadDrawingOpts
 Drawing options for a RPad. More...
 
class  RPadExtent
 An extent / size (horizontal and vertical) in a RPad. More...
 
class  RPadLength
 A coordinate in a RPad. More...
 
class  RPadPos
 A position (horizontal and vertical) in a RPad. More...
 
class  RPadUserAxisBase
 
class  TBufferMerger
 TBufferMerger is a class to facilitate writing data in parallel from multiple threads, while writing to a single output file. More...
 
class  TBufferMergerFile
 
class  TDirectory
 Key/value store of objects. More...
 
class  TDirectoryTypeMismatch
 Objects of this class are thrown to signal that the value known under the given name . More...
 
class  TDirectoryUnknownKey
 Objects of this class are thrown to signal that no key with that name exists. More...
 
class  TFile
 A ROOT file. More...
 
class  TFilePtr
 Points to an object that stores or reads objects in ROOT's binary format. More...
 
class  TFitResult
 
class  TFunction
 
class  TFuture
 A TFuture class. It can wrap an std::future. More...
 
class  TLogDiagCounter
 Object to count the number of warnings and errors emitted by a section of code, after construction of this type. More...
 
class  TLogEntry
 A diagnostic, emitted by the TLogManager upon destruction of the TLogEntry. More...
 
class  TLogHandler
 Abstract TLogHandler base class. More...
 
class  TLogManager
 A TLogHandler that multiplexes diagnostics to different client TLogHandlers. More...
 
class  TTaskGroup
 A class to manage the asynchronous execution of work items. More...
 

Typedefs

using CanvasCallback_t = std::function< void(bool)>
 
RHist Typedefs

Convenience typedefs (ROOT6-compatible type names)

using RH1D = RHist< 1, double, RHistStatContent, RHistStatUncertainty >
 
using RH1F = RHist< 1, float, RHistStatContent, RHistStatUncertainty >
 
using RH1C = RHist< 1, char, RHistStatContent >
 
using RH1I = RHist< 1, int, RHistStatContent >
 
using RH1LL = RHist< 1, int64_t, RHistStatContent >
 
using RH2D = RHist< 2, double, RHistStatContent, RHistStatUncertainty >
 
using RH2F = RHist< 2, float, RHistStatContent, RHistStatUncertainty >
 
using RH2C = RHist< 2, char, RHistStatContent >
 
using RH2I = RHist< 2, int, RHistStatContent >
 
using RH2LL = RHist< 2, int64_t, RHistStatContent >
 
using RH3D = RHist< 3, double, RHistStatContent, RHistStatUncertainty >
 
using RH3F = RHist< 3, float, RHistStatContent, RHistStatUncertainty >
 
using RH3C = RHist< 3, char, RHistStatContent >
 
using RH3I = RHist< 3, int, RHistStatContent >
 
using RH3LL = RHist< 3, int64_t, RHistStatContent >
 

Enumerations

enum class  EIOFeatures { kGenerateOffsetMap = BIT(0) , kSupported = kGenerateOffsetMap }
 
enum class  EIOUnsupportedFeatures { kUnsupported = 0 }
 
enum class  ELogLevel {
  kDebug , kInfo , kWarning , kError ,
  kFatal
}
 Kinds of diagnostics. More...
 

Functions

template<int DIMENSIONS, class PRECISION_TO , class PRECISION_FROM , template< int D_, class P_ > class... STAT_TO, template< int D_, class P_ > class... STAT_FROM>
void Add (RHist< DIMENSIONS, PRECISION_TO, STAT_TO... > &to, const RHist< DIMENSIONS, PRECISION_FROM, STAT_FROM... > &from)
 Add two histograms. More...
 
template<class Function , class... Args>
TFuture< typename std::result_of< typename std::decay< Function >::type(typename std::decay< Args >::type...)>::typeAsync (Function &&f, Args &&... args)
 Runs a function asynchronously potentially in a new thread and returns a ROOT TFuture that will hold the result. More...
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
TFitResult FitTo (const RHist< DIMENSIONS, PRECISION, STAT... > &hist, const TFunction< DIMENSIONS > &func, std::span< double > paramInit)
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
std::shared_ptr< RHistDrawable< DIMENSIONS > > GetDrawable (const std::shared_ptr< RHist< DIMENSIONS, PRECISION, STAT... > > &hist, const RHistDrawingOpts< DIMENSIONS > &opts={})
 Interface to graphics taking a shared_ptr<RHist>. More...
 
template<class... ARGS>
std::shared_ptr< RPadDrawableGetDrawable (const std::shared_ptr< RPad > &pad, ARGS... args)
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
std::shared_ptr< RHistDrawable< DIMENSIONS > > GetDrawable (std::unique_ptr< RHist< DIMENSIONS, PRECISION, STAT... > > &&hist, const RHistDrawingOpts< DIMENSIONS > &opts={})
 Interface to graphics taking a unique_ptr<RHist>. More...
 
template<class... ARGS>
std::shared_ptr< RPadDrawableGetDrawable (std::unique_ptr< RPad > &&pad, ARGS... args)
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
class RHist< DIMENSIONS, PRECISION, STAT... > HistFromImpl (std::unique_ptr< typename RHist< DIMENSIONS, PRECISION, STAT... >::ImplBase_t > pHistImpl)
 Adopt an external, stand-alone RHistImpl. The RHist will take ownership. More...
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
RHist< DIMENSIONS, PRECISION, STAT... > HistFromImpl (std::unique_ptr< typename RHist< DIMENSIONS, PRECISION, STAT... >::ImplBase_t > pHistImpl)
 Adopt an external, stand-alone RHistImpl. The RHist will take ownership. More...
 
void InitializeAttrFromString (const std::string &name, const std::string &attrStrVal, RPadExtent &val)
 Initialize a RPadExtent from a style string. More...
 
void InitializeAttrFromString (const std::string &name, const std::string &attrStrVal, RPadPos &val)
 Initialize a RPadPos from a style string. More...
 
RPadLength::Normal operator""_normal (long double val)
 User-defined literal for RPadLength::Normal More...
 
RPadLength::Normal operator""_normal (unsigned long long int val)
 
RPadLength::Pixel operator""_px (long double val)
 User-defined literal for RPadLength::Pixel More...
 
RPadLength::Pixel operator""_px (unsigned long long int val)
 
RPadLength::User operator""_user (long double val)
 User-defined literal for RPadLength::User More...
 
RPadLength::User operator""_user (unsigned long long int val)
 
bool operator== (const RAxisEquidistant &lhs, const RAxisEquidistant &rhs) noexcept
 Equality-compare two RAxisEquidistant. More...
 
template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
void swap (RHist< DIMENSIONS, PRECISION, STAT... > &a, RHist< DIMENSIONS, PRECISION, STAT... > &b) noexcept
 Swap two histograms. More...
 
RAxisBase::const_iterator comparison operators
bool operator< (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i < j More...
 
bool operator> (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i > j More...
 
bool operator<= (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i <= j More...
 
bool operator>= (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i >= j More...
 
bool operator== (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i == j More...
 
bool operator!= (RAxisBase::const_iterator lhs, RAxisBase::const_iterator rhs) noexcept
 i != j More...
 

Axis Compatibility

enum class  EAxisCompatibility { kIdentical , kContains , kSampling , kIncompatible }
 
EAxisCompatibility CanMap (RAxisEquidistant &target, RAxisEquidistant &source) noexcept
 Whether (and how) the source axis can be merged into the target axis. More...
 

Typedef Documentation

◆ CanvasCallback_t

using ROOT::Experimental::CanvasCallback_t = typedef std::function<void(bool)>

Definition at line 27 of file RVirtualCanvasPainter.hxx.

◆ RH1C

using ROOT::Experimental::RH1C = typedef RHist<1, char, RHistStatContent>

Definition at line 288 of file RHist.hxx.

◆ RH1D

Definition at line 286 of file RHist.hxx.

◆ RH1F

Definition at line 287 of file RHist.hxx.

◆ RH1I

Definition at line 289 of file RHist.hxx.

◆ RH1LL

using ROOT::Experimental::RH1LL = typedef RHist<1, int64_t, RHistStatContent>

Definition at line 290 of file RHist.hxx.

◆ RH2C

using ROOT::Experimental::RH2C = typedef RHist<2, char, RHistStatContent>

Definition at line 294 of file RHist.hxx.

◆ RH2D

Definition at line 292 of file RHist.hxx.

◆ RH2F

Definition at line 293 of file RHist.hxx.

◆ RH2I

Definition at line 295 of file RHist.hxx.

◆ RH2LL

using ROOT::Experimental::RH2LL = typedef RHist<2, int64_t, RHistStatContent>

Definition at line 296 of file RHist.hxx.

◆ RH3C

using ROOT::Experimental::RH3C = typedef RHist<3, char, RHistStatContent>

Definition at line 300 of file RHist.hxx.

◆ RH3D

Definition at line 298 of file RHist.hxx.

◆ RH3F

Definition at line 299 of file RHist.hxx.

◆ RH3I

Definition at line 301 of file RHist.hxx.

◆ RH3LL

using ROOT::Experimental::RH3LL = typedef RHist<3, int64_t, RHistStatContent>

Definition at line 302 of file RHist.hxx.

Enumeration Type Documentation

◆ EAxisCompatibility

Enumerator
kIdentical 

Source and target axes are identical.

kContains 

The source is a subset of bins of the target axis.

kSampling 

The bins of the source axis have finer granularity, but the bin borders are compatible.

Example: source: 0., 1., 2., 3., 4., 5., 6.; target: 0., 2., 5., 6. Note that this is not a symmetrical property: only one of CanMerge(source, target), CanMap(target, source) can return kContains.

kIncompatible 

The source axis and target axis have different binning.

Example: source: 0., 1., 2., 3., 4., target: 0., 0.1, 0.2, 0.3, 0.4

Definition at line 906 of file RAxis.hxx.

◆ EIOFeatures

Enumerator
kGenerateOffsetMap 
kSupported 

Definition at line 45 of file TIOFeatures.hxx.

◆ EIOUnsupportedFeatures

Enumerator
kUnsupported 

Definition at line 54 of file TIOFeatures.hxx.

◆ ELogLevel

enum class ROOT::Experimental::ELogLevel
strong

Kinds of diagnostics.

Enumerator
kDebug 

Debug information; only useful for developers.

kInfo 

Informational messages; used for instance for tracing.

kWarning 

Warnings about likely unexpected behavior.

kError 
kFatal 

Definition at line 31 of file TLogger.hxx.

Function Documentation

◆ Add()

template<int DIMENSIONS, class PRECISION_TO , class PRECISION_FROM , template< int D_, class P_ > class... STAT_TO, template< int D_, class P_ > class... STAT_FROM>
void ROOT::Experimental::Add ( RHist< DIMENSIONS, PRECISION_TO, STAT_TO... > &  to,
const RHist< DIMENSIONS, PRECISION_FROM, STAT_FROM... > &  from 
)

Add two histograms.

This is the generic, inefficient version for now; it assumes no matching axes.

Definition at line 310 of file RHist.hxx.

◆ Async()

template<class Function , class... Args>
TFuture< typename std::result_of< typename std::decay< Function >::type(typename std::decay< Args >::type...)>::type > ROOT::Experimental::Async ( Function &&  f,
Args &&...  args 
)

Runs a function asynchronously potentially in a new thread and returns a ROOT TFuture that will hold the result.

Definition at line 152 of file TFuture.hxx.

◆ CanMap()

ROOT::Experimental::EAxisCompatibility ROOT::Experimental::CanMap ( RAxisEquidistant target,
RAxisEquidistant source 
)
noexcept

Whether (and how) the source axis can be merged into the target axis.

Definition at line 50 of file RAxis.cxx.

◆ FitTo()

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
TFitResult ROOT::Experimental::FitTo ( const RHist< DIMENSIONS, PRECISION, STAT... > &  hist,
const TFunction< DIMENSIONS > &  func,
std::span< double >  paramInit 
)

Definition at line 39 of file TFit.hxx.

◆ GetDrawable() [1/4]

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
std::shared_ptr< RHistDrawable< DIMENSIONS > > ROOT::Experimental::GetDrawable ( const std::shared_ptr< RHist< DIMENSIONS, PRECISION, STAT... > > &  hist,
const RHistDrawingOpts< DIMENSIONS > &  opts = {} 
)

Interface to graphics taking a shared_ptr<RHist>.

Definition at line 327 of file RHist.hxx.

◆ GetDrawable() [2/4]

template<class... ARGS>
std::shared_ptr< RPadDrawable > ROOT::Experimental::GetDrawable ( const std::shared_ptr< RPad > &  pad,
ARGS...  args 
)
inline

Definition at line 293 of file RPad.hxx.

◆ GetDrawable() [3/4]

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
std::shared_ptr< RHistDrawable< DIMENSIONS > > ROOT::Experimental::GetDrawable ( std::unique_ptr< RHist< DIMENSIONS, PRECISION, STAT... > > &&  hist,
const RHistDrawingOpts< DIMENSIONS > &  opts = {} 
)

Interface to graphics taking a unique_ptr<RHist>.

Definition at line 336 of file RHist.hxx.

◆ GetDrawable() [4/4]

template<class... ARGS>
std::shared_ptr< RPadDrawable > ROOT::Experimental::GetDrawable ( std::unique_ptr< RPad > &&  pad,
ARGS...  args 
)
inline

Definition at line 287 of file RPad.hxx.

◆ HistFromImpl() [1/2]

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
class RHist< DIMENSIONS, PRECISION, STAT... > ROOT::Experimental::HistFromImpl ( std::unique_ptr< typename RHist< DIMENSIONS, PRECISION, STAT... >::ImplBase_t >  pHistImpl)

Adopt an external, stand-alone RHistImpl. The RHist will take ownership.

Definition at line 274 of file RHist.hxx.

◆ HistFromImpl() [2/2]

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
RHist< DIMENSIONS, PRECISION, STAT... > ROOT::Experimental::HistFromImpl ( std::unique_ptr< typename RHist< DIMENSIONS, PRECISION, STAT... >::ImplBase_t >  pHistImpl)

Adopt an external, stand-alone RHistImpl. The RHist will take ownership.

Definition at line 274 of file RHist.hxx.

◆ InitializeAttrFromString() [1/2]

void ROOT::Experimental::InitializeAttrFromString ( const std::string &  name,
const std::string &  attrStrVal,
RPadExtent val 
)

Initialize a RPadExtent from a style string.

Syntax: X, Y where X and Y are a series of numbers separated by "+", where each number is followed by one of px, user, normal to specify an extent in pixel, user or normal coordinates. Spaces between any part is allowed. Example: 100 px + 0.1 user, 0.5 normal is a RPadExtent{100_px + 0.1_user, 0.5_normal}.

Definition at line 28 of file RPadExtent.cxx.

◆ InitializeAttrFromString() [2/2]

void ROOT::Experimental::InitializeAttrFromString ( const std::string &  name,
const std::string &  attrStrVal,
RPadPos val 
)

Initialize a RPadPos from a style string.

Syntax: X, Y where X and Y are a series of numbers separated by "+", where each number is followed by one of px, user, normal to specify an extent in pixel, user or normal coordinates. Spaces between any part is allowed. Example: 100 px + 0.1 user, 0.5 normal is a RPadPos{100_px + 0.1_user, 0.5_normal}.

Definition at line 29 of file RPadPos.cxx.

◆ operator!=()

i != j

Definition at line 287 of file RAxis.hxx.

◆ operator""_normal() [1/2]

RPadLength::Normal ROOT::Experimental::operator""_normal ( long double  val)
inline

User-defined literal for RPadLength::Normal

Use as

using namespace ROOT::Experimental;
RLine(0.1_normal, 0.0_normal, RLineExtent(0.2_normal, 0.5_normal));

Definition at line 174 of file RPadLength.hxx.

◆ operator""_normal() [2/2]

RPadLength::Normal ROOT::Experimental::operator""_normal ( unsigned long long int  val)
inline

Definition at line 178 of file RPadLength.hxx.

◆ operator""_px() [1/2]

RPadLength::Pixel ROOT::Experimental::operator""_px ( long double  val)
inline

User-defined literal for RPadLength::Pixel

Use as

using namespace ROOT::Experimental;
RLine(100_px, 0_px, RLineExtent(20_px, 50_px));

Definition at line 190 of file RPadLength.hxx.

◆ operator""_px() [2/2]

RPadLength::Pixel ROOT::Experimental::operator""_px ( unsigned long long int  val)
inline

Definition at line 194 of file RPadLength.hxx.

◆ operator""_user() [1/2]

RPadLength::User ROOT::Experimental::operator""_user ( long double  val)
inline

User-defined literal for RPadLength::User

Use as

using namespace ROOT::Experimental;
RLine(0.1_user, 0.0_user, RLineExtent(0.2_user, 0.5_user));

Definition at line 206 of file RPadLength.hxx.

◆ operator""_user() [2/2]

RPadLength::User ROOT::Experimental::operator""_user ( unsigned long long int  val)
inline

Definition at line 210 of file RPadLength.hxx.

◆ operator<()

bool ROOT::Experimental::operator< ( RAxisBase::const_iterator  lhs,
RAxisBase::const_iterator  rhs 
)
inlinenoexcept

i < j

Definition at line 257 of file RAxis.hxx.

◆ operator<=()

bool ROOT::Experimental::operator<= ( RAxisBase::const_iterator  lhs,
RAxisBase::const_iterator  rhs 
)
inlinenoexcept

i <= j

Definition at line 269 of file RAxis.hxx.

◆ operator==() [1/2]

bool ROOT::Experimental::operator== ( const RAxisEquidistant lhs,
const RAxisEquidistant rhs 
)
inlinenoexcept

Equality-compare two RAxisEquidistant.

Definition at line 513 of file RAxis.hxx.

◆ operator==() [2/2]

bool ROOT::Experimental::operator== ( RAxisBase::const_iterator  lhs,
RAxisBase::const_iterator  rhs 
)
inlinenoexcept

i == j

Definition at line 281 of file RAxis.hxx.

◆ operator>()

bool ROOT::Experimental::operator> ( RAxisBase::const_iterator  lhs,
RAxisBase::const_iterator  rhs 
)
inlinenoexcept

i > j

Definition at line 263 of file RAxis.hxx.

◆ operator>=()

bool ROOT::Experimental::operator>= ( RAxisBase::const_iterator  lhs,
RAxisBase::const_iterator  rhs 
)
inlinenoexcept

i >= j

Definition at line 275 of file RAxis.hxx.

◆ swap()

template<int DIMENSIONS, class PRECISION , template< int D_, class P_ > class... STAT>
void ROOT::Experimental::swap ( RHist< DIMENSIONS, PRECISION, STAT... > &  a,
RHist< DIMENSIONS, PRECISION, STAT... > &  b 
)
noexcept

Swap two histograms.

Very efficient; swaps the fImpl pointers.

Definition at line 192 of file RHist.hxx.