Logo ROOT   6.15/01
Reference Guide
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
ROOT Namespace Reference

Namespace for new ROOT classes and functions. More...

Namespaces

 CocoaTutorials
 
 Detail
 
 ExecutorUtils
 This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecutor::MapReduce.
 
 Experimental
 
 Fit
 Namespace for the fitting classes.
 
 GLTutorials
 
 Internal
 
 MacOSX
 
 Math
 
 MathMore
 
 Meta
 
 Minuit
 
 Minuit2
 
 Quartz
 
 R
 namespace associated R package for ROOT.
 
 RDF
 
 TF1Helper
 
 TMetaUtils
 
 TreeUtils
 
 TThreadedObjectUtils
 
 TypeTraits
 ROOT type_traits extensions.
 
 v5
 
 VecOps
 

Classes

class  RDataFrame
 ROOT's RDataFrame offers a high level interface for analyses of data stored in TTrees, CSV's and other data formats. More...
 
class  TExecutor
 This class defines an interface to execute the same task multiple times in parallel, possibly with different arguments every time. More...
 
class  TGenericClassInfo
 
class  TIOFeatures
 TIOFeatures provides the end-user with the ability to change the IO behavior of data written via a TTree. More...
 
class  TPoolManager
 A manager for the scheduler behind ROOT multithreading operations. More...
 
class  TProcessExecutor
 This class provides a simple interface to execute the same task multiple times in parallel, possibly with different arguments every time. More...
 
class  TReadLockGuard
 
class  TReentrantRWLock
 
class  TRWMutexImp
 
class  TRWSpinLock
 
class  TRWSpinLockReadGuard
 
class  TRWSpinLockWriteGuard
 
class  TSchemaRule
 
class  TSeq
 A pseudo container class which is a generator of indices. More...
 
class  TSequentialExecutor
 
class  TSpinMutex
 A spin mutex class which respects the STL interface for mutexes. More...
 
class  TThreadedObject
 A wrapper to make object instances thread private, lazily. More...
 
class  TThreadExecutor
 This class provides a simple interface to execute the same task multiple times in parallel, possibly with different arguments every time. More...
 
class  TTreeProcessorMP
 This class provides an interface to process a TTree dataset in parallel with multi-process technology. More...
 
class  TTreeProcessorMT
 A class to process the entries of a TTree in parallel. More...
 
class  TVirtualRWMutex
 
class  TWriteLockGuard
 
class  TypeTraits
 

Typedefs

using ColumnNames_t = ROOT::Detail::RDF::ColumnNames_t
 
using ColumnNamesPtr_t = std::shared_ptr< const ColumnNames_t >
 
typedef void(* DelArrFunc_t) (void *)
 
typedef void(* DelFunc_t) (void *)
 
typedef void(* DesFunc_t) (void *)
 
typedef void(* DirAutoAdd_t) (void *, TDirectory *)
 
using Double_v = Double_t
 
using Float_v = Float_t
 
using Int32_v = Int_t
 
using Int_v = Int_t
 
typedef std::map< std::string, ROOT::Internal::TSchemaTypeMembersTypeMap_t
 
typedef Long64_t(* MergeFunc_t) (void *, TCollection *, TFileMergeInfo *)
 
typedef void *(* NewArrFunc_t) (Long_t size, void *arena)
 
typedef void *(* NewFunc_t) (void *)
 
typedef void(* ResetAfterMergeFunc_t) (void *, TFileMergeInfo *)
 
typedef std::map< std::string, std::list< SchemaRuleMap_t > > SchemaRuleClassMap_t
 
typedef std::map< std::string, std::string > SchemaRuleMap_t
 
typedef std::list< std::pair< ROOT::Internal::TSchemaType, std::string > > SourceTypeList_t
 
using TDataFrame = ROOT::RDataFrame
 
using TSeqI = TSeq< int >
 
using TSeqL = TSeq< long >
 
using TSeqU = TSeq< unsigned int >
 
using TSeqUL = TSeq< unsigned long >
 
using UInt32_v = UInt_t
 
using UInt_v = UInt_t
 

Enumerations

enum  ECompressionAlgorithm {
  kInheritCompressionAlgorithm = -1, kUseGlobalCompressionAlgorithm = 0, kZLIB, kLZMA,
  kOldCompressionAlgo, kLZ4, kUndefinedCompressionAlgorithm
}
 The global settings depend on a global variable named R__ZipMode which can be modified by a global function named R__SetZipMode. More...
 
enum  ECompressionLevel {
  kInheritCompressionLevel = -1, kUncompressedLevel = 0, kUseMinCompressionLevel = 1, kDefaultZLIB = 1,
  kDefaultLZ4 = 4, kDefaultOld = 6, kDefaultLZMA = 7
}
 
enum  ECompressionSetting {
  kUseGlobalCompressionSetting = 0, kUseCompiledDefaultCompressionSetting = 404, kUseAnalysisCompressionSetting = 404, kUseGeneralPurposeCompressionSetting = 101,
  kUseSmallestCompressionSetting = 207
}
 
enum  EFromHumanReadableSize { EFromHumanReadableSize::kSuccess, EFromHumanReadableSize::kParseFail, EFromHumanReadableSize::kOverflow }
 
enum  EFunctionMatchMode { kExactMatch = 0, kConversionMatch = 1 }
 
enum  EIOFeatures { EIOFeatures::kSupported = 0 }
 
enum  ESTLType {
  kNotSTL = 0, kSTLvector = 1, kSTLlist = 2, kSTLdeque = 3,
  kSTLmap = 4, kSTLmultimap = 5, kSTLset = 6, kSTLmultiset = 7,
  kSTLbitset = 8, kSTLforwardlist = 9, kSTLunorderedset = 10, kSTLunorderedmultiset = 11,
  kSTLunorderedmap = 12, kSTLunorderedmultimap = 13, kSTLend = 14, kSTLany = 300,
  kSTLstring = 365
}
 
enum  EThreadSlotReservation {
  kMaxUserThreadSlot = 20, kPadThreadSlot = 20, kClassThreadSlot = 21, kDirectoryThreadSlot = 22,
  kFileThreadSlot = 23, kPerfStatsThreadSlot = 24, kMaxThreadSlot = 25
}
 

Functions

void AddClass (const char *cname, Version_t id, DictFuncPtr_t dict, Int_t pragmabits)
 
void AddClass (const char *cname, Version_t id, const std::type_info &info, DictFuncPtr_t dict, Int_t pragmabits)
 Global function called by the ctor of a class's init class (see the ClassImp macro). More...
 
void AddClassAlternate (const char *normName, const char *alternate)
 Global function called by GenerateInitInstance. More...
 
void CallRecursiveRemoveIfNeeded (TObject &obj)
 call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true. More...
 
void Class_ShowMembers (TClass *cl, const void *obj, TMemberInspector &)
 Indirect call to the implementation of ShowMember allowing [forward] declaration with out a full definition of the TClass class. More...
 
static UInt_t ClassTableHash (const char *name, UInt_t size)
 
int CompressionSettings (ECompressionAlgorithm algorithm, int compressionLevel)
 
TClassCreateClass (const char *cname, Version_t id, const std::type_info &info, TVirtualIsAProxy *isa, const char *dfil, const char *ifil, Int_t dl, Int_t il)
 Global function called by a class' static Dictionary() method (see the ClassDef macro). More...
 
TClassCreateClass (const char *cname, Version_t id, const char *dfil, const char *ifil, Int_t dl, Int_t il)
 Global function called by a class' static Dictionary() method (see the ClassDef macro). More...
 
void DisableImplicitMT ()
 Disables the implicit multi-threading in ROOT (see EnableImplicitMT). More...
 
void EnableImplicitMT (UInt_t numthreads=0)
 Enable ROOT's implicit multi-threading for all objects and methods that provide an internal parallelisation mechanism. More...
 
void EnableThreadSafety ()
 Enables the global mutex to make ROOT thread safe/aware. More...
 
static std::string::size_type FindEndSymbol (std::string &command)
 
template<typename T >
EFromHumanReadableSize FromHumanReadableSize (std::string_view str, T &value)
 Convert strings like the following into byte counts 5MB, 5 MB, 5M, 3.7GB, 123b, 456kB, 3.7GiB, 5MiB with some amount of forgiveness baked into the parsing. More...
 
template<typename T >
EFromHumanReadableSize FromHumanReadableSize (ROOT::Internal::TStringView str, T &value)
 
template<typename T >
TClassGetClass (T *)
 
template<typename T >
TClassGetClass (const T *)
 
template<typename T >
TClassGetClass (T **)
 
template<typename T >
TClassGetClass (const T **)
 
template<typename T >
TClassGetClass (const T *const *)
 
std::vector< std::unique_ptr< TClassRec > > & GetDelayedAddClass ()
 
std::vector< std::pair< const char *, const char * > > & GetDelayedAddClassAlternate ()
 
UInt_t GetImplicitMTPoolSize ()
 Returns the size of the pool used for implicit multi-threading. More...
 
TStringGetMacroPath ()
 
TROOTGetROOT ()
 
void GetRuleIncludes (std::list< std::string > &result)
 Get the list of includes specified in the shema rules. More...
 
bool HasValidDataMembers (SchemaRuleMap_t &rule, MembersTypeMap_t &members, std::string &error_string)
 Check if given rule contains references to valid data members. More...
 
Bool_t IsImplicitMTEnabled ()
 Returns true if the implicit multi-threading in ROOT is enabled. More...
 
template<class T >
TSeq< T > MakeSeq (T end)
 
template<class T >
TSeq< T > MakeSeq (T begin, T end, T step=1)
 
bool ParseRule (std::string command, ROOT::Internal::MembersMap_t &result, std::string &error_string)
 Parse the schema rule as specified in the LinkDef file. More...
 
void ProcessReadPragma (const char *args, std::string &error_string)
 I am being called when a read pragma is encountered. More...
 
void ProcessReadRawPragma (const char *args, std::string &error_string)
 I am being called then a readraw pragma is encountered. More...
 
TNamedRegisterClassTemplate (const char *name, const char *file, Int_t line)
 Global function to register the implementation file and line of a class template (i.e. More...
 
void RemoveClass (const char *cname)
 Global function called by the dtor of a class's init class (see the ClassImp macro). More...
 
void ResetClassVersion (TClass *, const char *, Short_t)
 Global function to update the version number. More...
 
template<class RootClass >
Short_t SetClassVersion (RootClass *)
 
static void StrReplace (std::string &proc, const std::string &pat, const std::string &tr)
 Replace all accurances of given string with other string. More...
 
template<typename value_type >
void ToHumanReadableSize (value_type bytes, Bool_t si, Double_t *coeff, const char **units)
 Return the size expressed in 'human readable' format. More...
 
static Bool_t ValidateRule (const std::map< std::string, std::string > &rule, std::string &error_string)
 Validate if the user specified rules are correct. More...
 
static void WriteAutoVariables (const std::list< std::string > &target, const SourceTypeList_t &source, MembersTypeMap_t &members, std::string &className, std::string &mappedName, std::ostream &output)
 Write down the sources. More...
 
void WriteReadRawRuleFunc (SchemaRuleMap_t &rule, int index, std::string &mappedName, MembersTypeMap_t &members, std::ostream &output)
 Write the conversion function for ReadRaw rule, the function name is being written to rule["funcname"]. More...
 
void WriteReadRuleFunc (SchemaRuleMap_t &rule, int index, std::string &mappedName, MembersTypeMap_t &members, std::ostream &output)
 Write the conversion function for Read rule, the function name is being written to rule["funcname"]. More...
 
void WriteSchemaList (std::list< SchemaRuleMap_t > &rules, const std::string &listName, std::ostream &output)
 Write schema rules. More...
 

Variables

R__EXTERN TVirtualRWMutexgCoreMutex = nullptr
 
R__EXTERN SchemaRuleClassMap_t gReadRawRules
 
R__EXTERN SchemaRuleClassMap_t gReadRules
 
static constexpr ECompressionAlgorithm kUseGlobalSetting = kUseGlobalCompressionAlgorithm
 Deprecated name, do not use: More...
 

Detailed Description

Namespace for new ROOT classes and functions.

A helper class for managing IMT work during TTree:Fill operations.

Typedef Documentation

◆ ColumnNames_t

using ROOT::ColumnNames_t = typedef ROOT::Detail::RDF::ColumnNames_t

Definition at line 751 of file RDataFrame.cxx.

◆ ColumnNamesPtr_t

using ROOT::ColumnNamesPtr_t = typedef std::shared_ptr<const ColumnNames_t>

Definition at line 752 of file RDataFrame.cxx.

◆ DelArrFunc_t

typedef void(* ROOT::DelArrFunc_t) (void *)

Definition at line 112 of file Rtypes.h.

◆ DelFunc_t

typedef void(* ROOT::DelFunc_t) (void *)

Definition at line 111 of file Rtypes.h.

◆ DesFunc_t

typedef void(* ROOT::DesFunc_t) (void *)

Definition at line 113 of file Rtypes.h.

◆ DirAutoAdd_t

typedef void(* ROOT::DirAutoAdd_t) (void *, TDirectory *)

Definition at line 114 of file Rtypes.h.

◆ Double_v

using ROOT::Double_v = typedef Double_t

Definition at line 50 of file Types.h.

◆ Float_v

using ROOT::Float_v = typedef Float_t

Definition at line 49 of file Types.h.

◆ Int32_v

using ROOT::Int32_v = typedef Int_t

Definition at line 52 of file Types.h.

◆ Int_v

using ROOT::Int_v = typedef Int_t

Definition at line 51 of file Types.h.

◆ MembersTypeMap_t

typedef std::map<std::string, ROOT::Internal::TSchemaType> ROOT::MembersTypeMap_t

Definition at line 28 of file RConversionRuleParser.h.

◆ MergeFunc_t

typedef Long64_t(* ROOT::MergeFunc_t) (void *, TCollection *, TFileMergeInfo *)

Definition at line 115 of file Rtypes.h.

◆ NewArrFunc_t

typedef void*(* ROOT::NewArrFunc_t) (Long_t size, void *arena)

Definition at line 110 of file Rtypes.h.

◆ NewFunc_t

typedef void*(* ROOT::NewFunc_t) (void *)

Definition at line 109 of file Rtypes.h.

◆ ResetAfterMergeFunc_t

typedef void(* ROOT::ResetAfterMergeFunc_t) (void *, TFileMergeInfo *)

Definition at line 116 of file Rtypes.h.

◆ SchemaRuleClassMap_t

typedef std::map<std::string, std::list<SchemaRuleMap_t> > ROOT::SchemaRuleClassMap_t

Definition at line 24 of file RConversionRuleParser.h.

◆ SchemaRuleMap_t

typedef std::map<std::string, std::string> ROOT::SchemaRuleMap_t

Definition at line 23 of file RConversionRuleParser.h.

◆ SourceTypeList_t

typedef std::list<std::pair<ROOT::Internal::TSchemaType,std::string> > ROOT::SourceTypeList_t

Definition at line 38 of file RConversionRuleParser.cxx.

◆ TDataFrame

Definition at line 16 of file TDataFrame.hxx.

◆ TSeqI

using ROOT::TSeqI = typedef TSeq<int>

Definition at line 194 of file TSeq.hxx.

◆ TSeqL

using ROOT::TSeqL = typedef TSeq<long>

Definition at line 196 of file TSeq.hxx.

◆ TSeqU

using ROOT::TSeqU = typedef TSeq<unsigned int>

Definition at line 195 of file TSeq.hxx.

◆ TSeqUL

using ROOT::TSeqUL = typedef TSeq<unsigned long>

Definition at line 197 of file TSeq.hxx.

◆ UInt32_v

using ROOT::UInt32_v = typedef UInt_t

Definition at line 54 of file Types.h.

◆ UInt_v

using ROOT::UInt_v = typedef UInt_t

Definition at line 53 of file Types.h.

Enumeration Type Documentation

◆ ECompressionAlgorithm

The global settings depend on a global variable named R__ZipMode which can be modified by a global function named R__SetZipMode.

Both are defined in Bits.h.

  • The default is to use the global setting and the default of the global setting is to use the ZLIB compression algorithm.
  • The LZMA algorithm (from the XZ package) is also available. The LZMA compression usually results in greater compression factors, but takes more CPU time and memory when compressing. LZMA memory usage is particularly high for compression levels 8 and 9.
  • Finally, the LZ4 package results in worse compression ratios than ZLIB but achieves much faster decompression rates.

The current algorithms support level 1 to 9. The higher the level the greater the compression and more CPU time and memory resources used during compression. Level 0 means no compression.

Recommendation for the compression algorithm's levels:

  • ZLIB is recommended to be used with compression level 1 [101]
  • LZMA is recommended to be used with compression level 7-8 (higher is better, since in the case of LZMA we don't care about compression/decompression speed) [207 - 208]
  • LZ4 is recommended to be used with compression level 4 [404]
Enumerator
kInheritCompressionAlgorithm 

Some objects use this value to denote that the compression algorithm should be inherited from the parent object (e.g., TBranch should get the algorithm from the TTree)

kUseGlobalCompressionAlgorithm 

Use the global compression algorithm.

kZLIB 

Use ZLIB compression.

kLZMA 

Use LZMA compression.

kOldCompressionAlgo 

Use the old compression algorithm.

kLZ4 

Use LZ4 compression.

kUndefinedCompressionAlgorithm 

Undefined compression algorithm (must be kept the last of the list in case a new algorithm is added).

Definition at line 43 of file Compression.h.

◆ ECompressionLevel

Enumerator
kInheritCompressionLevel 

Some objects use this value to denote that the compression algorithm should be inherited from the parent object.

kUncompressedLevel 
kUseMinCompressionLevel 
kDefaultZLIB 
kDefaultLZ4 
kDefaultOld 
kDefaultLZMA 

Definition at line 61 of file Compression.h.

◆ ECompressionSetting

Enumerator
kUseGlobalCompressionSetting 

Use the global compression setting for this process; may be affected by rootrc.

kUseCompiledDefaultCompressionSetting 

Use the compile-time default setting.

kUseAnalysisCompressionSetting 

Use the default analysis setting; fast reading but poor compression ratio.

kUseGeneralPurposeCompressionSetting 

Use the recommended general-purpose setting; moderate read / write speed and compression ratio.

kUseSmallestCompressionSetting 

Use the setting that results in the smallest files; very slow read and write.

Definition at line 75 of file Compression.h.

◆ EFromHumanReadableSize

Enumerator
kSuccess 
kParseFail 
kOverflow 

Definition at line 69 of file StringConv.hxx.

◆ EFunctionMatchMode

Enumerator
kExactMatch 
kConversionMatch 

Definition at line 151 of file TDictionary.h.

◆ EIOFeatures

enum ROOT::EIOFeatures
strong
Enumerator
kSupported 

Definition at line 32 of file TIOFeatures.hxx.

◆ ESTLType

Enumerator
kNotSTL 
kSTLvector 
kSTLlist 
kSTLdeque 
kSTLmap 
kSTLmultimap 
kSTLset 
kSTLmultiset 
kSTLbitset 
kSTLforwardlist 
kSTLunorderedset 
kSTLunorderedmultiset 
kSTLunorderedmap 
kSTLunorderedmultimap 
kSTLend 
kSTLany 
kSTLstring 

Definition at line 28 of file ESTLType.h.

◆ EThreadSlotReservation

Enumerator
kMaxUserThreadSlot 
kPadThreadSlot 
kClassThreadSlot 
kDirectoryThreadSlot 
kFileThreadSlot 
kPerfStatsThreadSlot 
kMaxThreadSlot 

Definition at line 19 of file TThreadSlots.h.

Function Documentation

◆ AddClass() [1/2]

void ROOT::AddClass ( const char *  cname,
Version_t  id,
DictFuncPtr_t  dict,
Int_t  pragmabits 
)

◆ AddClass() [2/2]

void ROOT::AddClass ( const char *  cname,
Version_t  id,
const std::type_info &  info,
DictFuncPtr_t  dict,
Int_t  pragmabits 
)

Global function called by the ctor of a class's init class (see the ClassImp macro).

Definition at line 760 of file TClassTable.cxx.

◆ AddClassAlternate()

void ROOT::AddClassAlternate ( const char *  normName,
const char *  alternate 
)

Global function called by GenerateInitInstance.

(see the ClassImp macro).

Definition at line 782 of file TClassTable.cxx.

◆ CallRecursiveRemoveIfNeeded()

void ROOT::CallRecursiveRemoveIfNeeded ( TObject obj)
inline

call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.

Note: this reset the kMustCleanup bit to allow harmless multiple call to this function.

Definition at line 399 of file TROOT.h.

◆ Class_ShowMembers()

void ROOT::Class_ShowMembers ( TClass cl,
const void obj,
TMemberInspector insp 
)

Indirect call to the implementation of ShowMember allowing [forward] declaration with out a full definition of the TClass class.

Definition at line 496 of file TClass.cxx.

◆ ClassTableHash()

static UInt_t ROOT::ClassTableHash ( const char *  name,
UInt_t  size 
)
static

Definition at line 192 of file TClassTable.cxx.

◆ CompressionSettings()

int ROOT::CompressionSettings ( ECompressionAlgorithm  algorithm,
int  compressionLevel 
)

◆ CreateClass() [1/2]

TClass * ROOT::CreateClass ( const char *  cname,
Version_t  id,
const std::type_info &  info,
TVirtualIsAProxy isa,
const char *  dfil,
const char *  ifil,
Int_t  dl,
Int_t  il 
)

Global function called by a class' static Dictionary() method (see the ClassDef macro).

Definition at line 5638 of file TClass.cxx.

◆ CreateClass() [2/2]

TClass * ROOT::CreateClass ( const char *  cname,
Version_t  id,
const char *  dfil,
const char *  ifil,
Int_t  dl,
Int_t  il 
)

Global function called by a class' static Dictionary() method (see the ClassDef macro).

Definition at line 5653 of file TClass.cxx.

◆ DisableImplicitMT()

void ROOT::DisableImplicitMT ( )

Disables the implicit multi-threading in ROOT (see EnableImplicitMT).

Definition at line 593 of file TROOT.cxx.

◆ EnableImplicitMT()

void ROOT::EnableImplicitMT ( UInt_t  numthreads = 0)

Enable ROOT's implicit multi-threading for all objects and methods that provide an internal parallelisation mechanism.

Parameters
[in]numthreadsNumber of threads to use. If not specified or set to zero, the number of threads is automatically decided by the implementation. Any other value is used as a hint.

ROOT must be built with the compilation flag imt=ON for this feature to be available. The following objects and methods automatically take advantage of multi-threading if a call to EnableImplicitMT has been made before usage:

  • RDataFrame internally runs the event-loop by parallelizing over clusters of entries
  • TTree::GetEntry reads multiple branches in parallel
  • TTree::FlushBaskets writes multiple baskets to disk in parallel
  • TTreeCacheUnzip decompresses the baskets contained in a TTreeCache in parallel
  • THx::Fit performs in parallel the evaluation of the objective function over the data
  • TMVA::DNN trains the deep neural networks in parallel
  • TMVA::BDT trains the classifier in parallel and multiclass BDTs are evaluated in parallel

EnableImplicitMT calls in turn EnableThreadSafety. The 'numthreads' parameter allows to control the number of threads to be used by the implicit multi-threading. However, this parameter is just a hint for ROOT: it will try to satisfy the request if the execution scenario allows it. For example, if ROOT is configured to use an external scheduler, setting a value for 'numthreads' might not have any effect.

Definition at line 576 of file TROOT.cxx.

◆ EnableThreadSafety()

void ROOT::EnableThreadSafety ( )

Enables the global mutex to make ROOT thread safe/aware.

The following becomes safe:

  • concurrent construction and destruction of TObjects, including the ones registered in ROOT's global lists (e.g. gROOT->GetListOfCleanups(), gROOT->GetListOfFiles())
  • concurrent usage of different ROOT objects from different threads, including ones with global state (e.g. TFile, TTree, TChain) with the exception of graphics classes (e.g. TCanvas)
  • concurrent calls to ROOT's type system classes, e.g. TClass and TEnum
  • concurrent calls to the interpreter through gInterpreter
  • concurrent loading of ROOT plug-ins

In addition, gDirectory, gFile and gPad become a thread-local variable. In all threads, gDirectory defaults to gROOT, a singleton which supports thread-safe insertion and deletion of contents. gFile and gPad default to nullptr, as it is for single-thread programs.

Note that there is no DisableThreadSafety(). ROOT's thread-safety features cannot be disabled once activated.

Definition at line 545 of file TROOT.cxx.

◆ FindEndSymbol()

static std::string::size_type ROOT::FindEndSymbol ( std::string &  command)
static

Definition at line 49 of file RConversionRuleParser.cxx.

◆ FromHumanReadableSize() [1/2]

template<typename T >
EFromHumanReadableSize ROOT::FromHumanReadableSize ( std::string_view  str,
T &  value 
)

Convert strings like the following into byte counts 5MB, 5 MB, 5M, 3.7GB, 123b, 456kB, 3.7GiB, 5MiB with some amount of forgiveness baked into the parsing.

For this routine we use the official SI unit where the [i] is reserved for the 'legacy' power of two units. 1KB = 1000 bytes, 1KiB = 1024 bytes.

Parameters
strthe string to be parsed
valuewill be updated with the result if and only if the parse is successful and does not overflow for the type of value.
Returns
return a EFromHumanReadableSize enum value indicating the success or failure of the parse.

Definition at line 86 of file StringConv.hxx.

◆ FromHumanReadableSize() [2/2]

template<typename T >
EFromHumanReadableSize ROOT::FromHumanReadableSize ( ROOT::Internal::TStringView  str,
T &  value 
)

Definition at line 160 of file StringConv.hxx.

◆ GetClass() [1/5]

template<typename T >
TClass* ROOT::GetClass ( T *  )

Definition at line 577 of file TClass.h.

◆ GetClass() [2/5]

template<typename T >
TClass* ROOT::GetClass ( const T *  )

Definition at line 578 of file TClass.h.

◆ GetClass() [3/5]

template<typename T >
TClass* ROOT::GetClass ( T **  )

Definition at line 582 of file TClass.h.

◆ GetClass() [4/5]

template<typename T >
TClass * ROOT::GetClass ( const T **  )

Definition at line 583 of file TClass.h.

◆ GetClass() [5/5]

template<typename T >
TClass* ROOT::GetClass ( const T *const *  )

Definition at line 585 of file TClass.h.

◆ GetDelayedAddClass()

std::vector<std::unique_ptr<TClassRec> >& ROOT::GetDelayedAddClass ( )

Definition at line 203 of file TClassTable.cxx.

◆ GetDelayedAddClassAlternate()

std::vector<std::pair<const char *, const char *> >& ROOT::GetDelayedAddClassAlternate ( )

Definition at line 209 of file TClassTable.cxx.

◆ GetImplicitMTPoolSize()

UInt_t ROOT::GetImplicitMTPoolSize ( )

Returns the size of the pool used for implicit multi-threading.

Definition at line 614 of file TROOT.cxx.

◆ GetMacroPath()

TString& ROOT::GetMacroPath ( )

Definition at line 523 of file TROOT.cxx.

◆ GetROOT()

TROOT * ROOT::GetROOT ( )

Definition at line 519 of file TROOT.cxx.

◆ GetRuleIncludes()

void ROOT::GetRuleIncludes ( std::list< std::string > &  result)

Get the list of includes specified in the shema rules.

Definition at line 828 of file RConversionRuleParser.cxx.

◆ HasValidDataMembers()

Bool_t ROOT::HasValidDataMembers ( SchemaRuleMap_t rule,
MembersTypeMap_t members,
std::string &  error_string 
)

Check if given rule contains references to valid data members.

Definition at line 434 of file RConversionRuleParser.cxx.

◆ IsImplicitMTEnabled()

Bool_t ROOT::IsImplicitMTEnabled ( )

Returns true if the implicit multi-threading in ROOT is enabled.

Definition at line 607 of file TROOT.cxx.

◆ MakeSeq() [1/2]

template<class T >
TSeq<T> ROOT::MakeSeq ( end)

Definition at line 200 of file TSeq.hxx.

◆ MakeSeq() [2/2]

template<class T >
TSeq<T> ROOT::MakeSeq ( begin,
end,
step = 1 
)

Definition at line 206 of file TSeq.hxx.

◆ ParseRule()

Bool_t ROOT::ParseRule ( std::string  rule,
ROOT::Internal::MembersMap_t result,
std::string &  error_string 
)

Parse the schema rule as specified in the LinkDef file.

Definition at line 90 of file RConversionRuleParser.cxx.

◆ ProcessReadPragma()

void ROOT::ProcessReadPragma ( const char *  args,
std::string &  error_string 
)

I am being called when a read pragma is encountered.

Definition at line 872 of file RConversionRuleParser.cxx.

◆ ProcessReadRawPragma()

void ROOT::ProcessReadRawPragma ( const char *  args,
std::string &  error_string 
)

I am being called then a readraw pragma is encountered.

Definition at line 905 of file RConversionRuleParser.cxx.

◆ RegisterClassTemplate()

TNamed * ROOT::RegisterClassTemplate ( const char *  name,
const char *  file,
Int_t  line 
)

Global function to register the implementation file and line of a class template (i.e.

NOT a concrete class).

Definition at line 862 of file TClassTable.cxx.

◆ RemoveClass()

void ROOT::RemoveClass ( const char *  cname)

Global function called by the dtor of a class's init class (see the ClassImp macro).

Definition at line 837 of file TClassTable.cxx.

◆ ResetClassVersion()

void ROOT::ResetClassVersion ( TClass cl,
const char *  cname,
Short_t  newid 
)

Global function to update the version number.

This is called via the RootClassVersion macro.

if cl!=0 and cname==-1, set the new class version if and only is greater than the existing one and greater or equal to 2; and also ignore the request if fVersionUsed is true.

Note on class version number:

  • If no class has been specified, TClass::GetVersion will return -1
  • The Class Version 0 request the whole object to be transient
  • The Class Version 1, unless specify via ClassDef indicates that the I/O should use the TClass checksum to distinguish the layout of the class

Definition at line 805 of file TClassTable.cxx.

◆ SetClassVersion()

template<class RootClass >
Short_t ROOT::SetClassVersion ( RootClass *  )

◆ StrReplace()

static void ROOT::StrReplace ( std::string &  proc,
const std::string &  pat,
const std::string &  tr 
)
static

Replace all accurances of given string with other string.

Definition at line 730 of file RConversionRuleParser.cxx.

◆ ToHumanReadableSize()

template<typename value_type >
void ROOT::ToHumanReadableSize ( value_type  bytes,
Bool_t  si,
Double_t coeff,
const char **  units 
)

Return the size expressed in 'human readable' format.

Parameters
bytesthe size in bytes to be converted
siwhether to use the SI units or not.
coeffreturn the size expressed in the new unit.
unitsreturn a pointer to the string representation of the new unit

Definition at line 38 of file StringConv.hxx.

◆ ValidateRule()

static Bool_t ROOT::ValidateRule ( const std::map< std::string, std::string > &  rule,
std::string &  error_string 
)
static

Validate if the user specified rules are correct.

Definition at line 264 of file RConversionRuleParser.cxx.

◆ WriteAutoVariables()

static void ROOT::WriteAutoVariables ( const std::list< std::string > &  target,
const SourceTypeList_t source,
MembersTypeMap_t members,
std::string &  className,
std::string &  mappedName,
std::ostream &  output 
)
static

Write down the sources.

Definition at line 463 of file RConversionRuleParser.cxx.

◆ WriteReadRawRuleFunc()

void ROOT::WriteReadRawRuleFunc ( SchemaRuleMap_t rule,
int  index,
std::string &  mappedName,
MembersTypeMap_t members,
std::ostream &  output 
)

Write the conversion function for ReadRaw rule, the function name is being written to rule["funcname"].

Definition at line 681 of file RConversionRuleParser.cxx.

◆ WriteReadRuleFunc()

void ROOT::WriteReadRuleFunc ( SchemaRuleMap_t rule,
int  index,
std::string &  mappedName,
MembersTypeMap_t members,
std::ostream &  output 
)

Write the conversion function for Read rule, the function name is being written to rule["funcname"].

Definition at line 628 of file RConversionRuleParser.cxx.

◆ WriteSchemaList()

void ROOT::WriteSchemaList ( std::list< SchemaRuleMap_t > &  rules,
const std::string &  listName,
std::ostream &  output 
)

Write schema rules.

Definition at line 752 of file RConversionRuleParser.cxx.

Variable Documentation

◆ gCoreMutex

ROOT::TVirtualRWMutex * ROOT::gCoreMutex = nullptr

Definition at line 31 of file TVirtualRWMutex.h.

◆ gReadRawRules

SchemaRuleClassMap_t ROOT::gReadRawRules

Definition at line 26 of file RConversionRuleParser.h.

◆ gReadRules

SchemaRuleClassMap_t ROOT::gReadRules

Definition at line 25 of file RConversionRuleParser.h.

◆ kUseGlobalSetting

constexpr ECompressionAlgorithm ROOT::kUseGlobalSetting = kUseGlobalCompressionAlgorithm
static

Deprecated name, do not use:

Definition at line 89 of file Compression.h.