Logo ROOT   6.10/09
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.
 
 TF1Helper
 
 TreeUtils
 
 TThreadedObjectUtils
 
 v5
 

Classes

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  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  TRWSpinLock
 
class  TSchemaRule
 
class  TSeq
 A pseudo container class which is a generator of indices. More...
 
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...
 

Typedefs

typedef void(* DelArrFunc_t) (void *)
 
typedef void(* DelFunc_t) (void *)
 
typedef void(* DesFunc_t) (void *)
 
typedef void(* DirAutoAdd_t) (void *, TDirectory *)
 
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 *)
 
using TSeqI = TSeq< int >
 
using TSeqL = TSeq< long >
 
using TSeqU = TSeq< unsigned int >
 
using TSeqUL = TSeq< unsigned long >
 

Enumerations

enum  EFromHumanReadableSize { EFromHumanReadableSize::kSuccess, EFromHumanReadableSize::kParseFail, EFromHumanReadableSize::kOverflow }
 
enum  EFunctionMatchMode { kExactMatch = 0, kConversionMatch = 1 }
 
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 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)
 
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...
 
void Error (ErrorHandler_t func, int code, const char *va_(fmt),...)
 Write error message and call a handler, if required. More...
 
void ErrorInfo (const char *va_(fmt),...)
 Formats a string in a circular formatting buffer and prints the string. More...
 
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 *)
 
int GetErrno ()
 return errno More...
 
UInt_t GetImplicitMTPoolSize ()
 Returns the size of the pool used for implicit multi-threading. More...
 
TStringGetMacroPath ()
 
TROOTGetROOT ()
 
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)
 
void NetClose ()
 Empty call, for consistency. More...
 
void NetGetRemoteHost (std::string &openhost)
 Return name of connected host. More...
 
int NetGetSockFd ()
 return open socket descriptor More...
 
int NetParOpen (int port, int size)
 Empty call, for consistency. More...
 
int NetRecv (char *msg, int max)
 Receive a string of maximum length max. More...
 
int NetRecv (char *msg, int len, EMessageTypes &kind)
 Receive a string of maximum len length. More...
 
int NetRecv (void *&buf, int &len, EMessageTypes &kind)
 Receive a buffer. More...
 
int NetRecvRaw (void *buf, int len)
 Receive a buffer of maximum len bytes. More...
 
int NetRecvRaw (int sock, void *buf, int len)
 Receive a buffer of maximum len bytes from generic socket sock. More...
 
int NetSend (int code, EMessageTypes kind)
 Send integer. Message will be of type "kind". More...
 
int NetSend (const char *msg, EMessageTypes kind)
 Send a string. Message will be of type "kind". More...
 
int NetSend (const void *buf, int len, EMessageTypes kind)
 Send buffer of len bytes. Message will be of type "kind". More...
 
int NetSendAck ()
 Send acknowledge code. More...
 
int NetSendError (ERootdErrors err)
 Send error code. More...
 
int NetSendRaw (const void *buf, int len)
 Send buffer of len bytes. More...
 
void Perror (char *buf, int size)
 Return in buf the message belonging to errno. More...
 
static int Recvn (int sock, void *buffer, int length)
 Receive exactly length bytes into buffer. 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...
 
void ResetErrno ()
 reset errno More...
 
template<class RootClass >
Short_t SetClassVersion (RootClass *)
 
void SrvSetSocket (TSocket *Socket)
 Fill socket parameters. 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...
 

Variables

ErrorHandler_t gErr
 
ErrorHandler_t gErrFatal
 
ErrorHandler_t gErrSys
 
static int gSockFd = -1
 

Detailed Description

Namespace for new ROOT classes and functions.

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

Typedef Documentation

◆ DelArrFunc_t

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

Definition at line 105 of file Rtypes.h.

◆ DelFunc_t

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

Definition at line 104 of file Rtypes.h.

◆ DesFunc_t

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

Definition at line 106 of file Rtypes.h.

◆ DirAutoAdd_t

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

Definition at line 107 of file Rtypes.h.

◆ MergeFunc_t

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

Definition at line 108 of file Rtypes.h.

◆ NewArrFunc_t

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

Definition at line 103 of file Rtypes.h.

◆ NewFunc_t

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

Definition at line 102 of file Rtypes.h.

◆ ResetAfterMergeFunc_t

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

Definition at line 109 of file Rtypes.h.

◆ 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.

Enumeration Type Documentation

◆ 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.

◆ 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 709 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 721 of file TClassTable.cxx.

◆ 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 513 of file TClass.cxx.

◆ ClassTableHash()

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

Definition at line 196 of file TClassTable.cxx.

◆ 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 5506 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 5521 of file TClass.cxx.

◆ DisableImplicitMT()

void ROOT::DisableImplicitMT ( )

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

Definition at line 539 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:

  • TDataFrame 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

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 525 of file TROOT.cxx.

◆ EnableThreadSafety()

void ROOT::EnableThreadSafety ( )

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

Definition at line 498 of file TROOT.cxx.

◆ Error()

void ROOT::Error ( ErrorHandler_t  func,
int  code,
const char *  va_fmt,
  ... 
)

Write error message and call a handler, if required.

Definition at line 565 of file DaemonUtils.cxx.

◆ ErrorInfo()

void ROOT::ErrorInfo ( const char *  va_fmt,
  ... 
)

Formats a string in a circular formatting buffer and prints the string.

Appends a newline. Cut & Paste from Printf in base/src/TString.cxx

Definition at line 551 of file DaemonUtils.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 545 of file TClass.h.

◆ GetClass() [2/5]

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

Definition at line 546 of file TClass.h.

◆ GetClass() [3/5]

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

Definition at line 551 of file TClass.h.

◆ GetClass() [4/5]

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

Definition at line 552 of file TClass.h.

◆ GetClass() [5/5]

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

Definition at line 554 of file TClass.h.

◆ GetErrno()

int ROOT::GetErrno ( )

return errno

Definition at line 511 of file DaemonUtils.cxx.

◆ GetImplicitMTPoolSize()

UInt_t ROOT::GetImplicitMTPoolSize ( )

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

Definition at line 567 of file TROOT.cxx.

◆ GetMacroPath()

TString& ROOT::GetMacroPath ( )

Definition at line 491 of file TROOT.cxx.

◆ GetROOT()

TROOT * ROOT::GetROOT ( )

Definition at line 487 of file TROOT.cxx.

◆ IsImplicitMTEnabled()

Bool_t ROOT::IsImplicitMTEnabled ( )

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

Definition at line 552 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.

◆ NetClose()

void ROOT::NetClose ( )

Empty call, for consistency.

Definition at line 349 of file DaemonUtils.cxx.

◆ NetGetRemoteHost()

void ROOT::NetGetRemoteHost ( std::string &  openhost)

Return name of connected host.

Definition at line 502 of file DaemonUtils.cxx.

◆ NetGetSockFd()

int ROOT::NetGetSockFd ( )

return open socket descriptor

Definition at line 357 of file DaemonUtils.cxx.

◆ NetParOpen()

int ROOT::NetParOpen ( int  port,
int  size 
)

Empty call, for consistency.

Definition at line 365 of file DaemonUtils.cxx.

◆ NetRecv() [1/3]

int ROOT::NetRecv ( char *  msg,
int  max 
)

Receive a string of maximum length max.

Definition at line 376 of file DaemonUtils.cxx.

◆ NetRecv() [2/3]

int ROOT::NetRecv ( char *  msg,
int  len,
EMessageTypes kind 
)

Receive a string of maximum len length.

Returns message type in kind. Return value is msg length.

Definition at line 385 of file DaemonUtils.cxx.

◆ NetRecv() [3/3]

int ROOT::NetRecv ( void *&  buf,
int &  len,
EMessageTypes kind 
)

Receive a buffer.

Returns the newly allocated buffer, the length of the buffer and message type in kind.

Definition at line 397 of file DaemonUtils.cxx.

◆ NetRecvRaw() [1/2]

int ROOT::NetRecvRaw ( void buf,
int  len 
)

Receive a buffer of maximum len bytes.

Definition at line 418 of file DaemonUtils.cxx.

◆ NetRecvRaw() [2/2]

int ROOT::NetRecvRaw ( int  sock,
void buf,
int  len 
)

Receive a buffer of maximum len bytes from generic socket sock.

Definition at line 426 of file DaemonUtils.cxx.

◆ NetSend() [1/3]

int ROOT::NetSend ( int  code,
EMessageTypes  kind 
)

Send integer. Message will be of type "kind".

Definition at line 441 of file DaemonUtils.cxx.

◆ NetSend() [2/3]

int ROOT::NetSend ( const char *  msg,
EMessageTypes  kind 
)

Send a string. Message will be of type "kind".

Definition at line 455 of file DaemonUtils.cxx.

◆ NetSend() [3/3]

int ROOT::NetSend ( const void buf,
int  len,
EMessageTypes  kind 
)

Send buffer of len bytes. Message will be of type "kind".

Definition at line 463 of file DaemonUtils.cxx.

◆ NetSendAck()

int ROOT::NetSendAck ( )

Send acknowledge code.

Definition at line 478 of file DaemonUtils.cxx.

◆ NetSendError()

int ROOT::NetSendError ( ERootdErrors  err)

Send error code.

Definition at line 486 of file DaemonUtils.cxx.

◆ NetSendRaw()

int ROOT::NetSendRaw ( const void buf,
int  len 
)

Send buffer of len bytes.

Definition at line 494 of file DaemonUtils.cxx.

◆ Perror()

void ROOT::Perror ( char *  buf,
int  size 
)

Return in buf the message belonging to errno.

Definition at line 534 of file DaemonUtils.cxx.

◆ Recvn()

static int ROOT::Recvn ( int  sock,
void buffer,
int  length 
)
static

Receive exactly length bytes into buffer.

Returns number of bytes received. Returns -1 in case of error.

Definition at line 324 of file DaemonUtils.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 797 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 772 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 740 of file TClassTable.cxx.

◆ ResetErrno()

void ROOT::ResetErrno ( )

reset errno

Definition at line 522 of file DaemonUtils.cxx.

◆ SetClassVersion()

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

◆ SrvSetSocket()

void ROOT::SrvSetSocket ( TSocket Socket)

Fill socket parameters.

Definition at line 314 of file DaemonUtils.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.

Variable Documentation

◆ gErr

ErrorHandler_t ROOT::gErr

◆ gErrFatal

ErrorHandler_t ROOT::gErrFatal

◆ gErrSys

ErrorHandler_t ROOT::gErrSys

◆ gSockFd

int ROOT::gSockFd = -1
static

Definition at line 309 of file DaemonUtils.cxx.