30#include "RConfigure.h"
188 void *
operator new(
size_t l) {
return TObject::operator
new(
l); }
189 void *
operator new(
size_t l,
void *ptr) {
return TObject::operator
new(
l,ptr); }
191 friend class ::ROOT::Internal::TROOTAllocator;
287 void Idle(
UInt_t idleTimeInSec,
const char *command = 0);
314 const char** headers,
315 const char** includePaths,
316 const char* payLoadCode,
317 const char* fwdDeclCode,
318 void (*triggerFunc)(),
320 const char** classesHeaders,
321 bool hasCxxModule =
false);
343 void SetStyle(
const char *stylename =
"Default");
415#define gROOT (ROOT::GetROOT())
#define ClassDef(name, id)
R__EXTERN TVirtualMutex * gROOTMutex
TParBranchProcessingRAII()
~TParBranchProcessingRAII()
~TParTreeProcessingRAII()
This class creates the ROOT Application Environment that interfaces to the windowing system eventloop...
Using a TBrowser one can browse all ROOT objects.
Objects following this interface can be passed onto the TROOT object to implement a user customized w...
TClass instances represent classes, structs and namespaces in the ROOT type system.
This class defines an interface to the cling C++ interpreter.
Collection abstract base class.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
The color creation and management class.
Basic data type descriptor (datatype information is obtained from CINT).
Describe directory structure in memory.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
A TFolder object is a collection of objects and folders.
Dictionary for function template This class describes one single function template.
Global functions class (global functions are obtained from CINT).
Global variables class (global variables are obtained from CINT).
This class defines an abstract interface to a generic command line interpreter.
A collection of TDataMember objects designed for fast access given a DeclId_t and for keep track of T...
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
Mother of all ROOT objects.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual UInt_t GetUniqueID() const
Return the unique object id.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
This class implements a plugin library manager.
This class is a specialized TProcessID managing the list of UUIDs.
ROOT top level object description.
void SetApplication(TApplication *app)
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
Int_t GetVersionInt() const
const char * GetConfigFeatures() const
TSeqCollection * GetListOfCleanups() const
void Time(Int_t casetime=1)
Int_t IgnoreInclude(const char *fname, const char *expandedfname)
Return 1 if the name of the given include file corresponds to a class that is known to ROOT,...
const char * GetDefCanvasName() const
Bool_t IsInterrupted() const
const TString & GetWebDisplay() const
TCollection * GetListOfClasses() const
void Message(Int_t id, const TObject *obj)
Process message id called by obj.
void RemoveClass(TClass *)
Remove a class from the list and map of classes.
TCollection * fClassGenerators
void SetCutClassName(const char *name="TCutG")
Set the default graphical cut class name for the graphics editor By default the graphics editor creat...
TSeqCollection * fCanvases
const TObject * fPrimitive
void AddClassGenerator(TClassGenerator *gen)
Add a class generator.
const char * GetCutClassName() const
Int_t GetBuiltTime() const
void SetFromPopUp(Bool_t flag=kTRUE)
TSeqCollection * fGeometries
TInterpreter * fInterpreter
Bool_t IsProofServ() const
TSeqCollection * GetListOfMessageHandlers() const
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
void SetLineIsProcessing()
void SetMustClean(Bool_t flag=kTRUE)
void EndOfProcessCleanups()
Execute the cleanups necessary at the end of the process, in particular those that must be executed b...
Bool_t IsWebDisplayBatch() const
TSeqCollection * GetListOfFiles() const
static const TString & GetBinDir()
Get the binary directory in the installation. Static utility function.
TSeqCollection * GetListOfSockets() const
static const TString & GetIncludeDir()
Get the include directory in the installation. Static utility function.
TSeqCollection * fSockets
Long_t ProcessLine(const char *line, Int_t *error=0)
Process interpreter command via TApplication::ProcessLine().
static const char * GetMacroPath()
Get macro search path. Static utility function.
Int_t GetVersionDate() const
void SaveContext()
Save the current interpreter context.
TCollection * GetListOfClassGenerators() const
Bool_t IsExecutingMacro() const
TDataType * GetType(const char *name, Bool_t load=kFALSE) const
Return pointer to type with name.
static void Initialize()
Initialize ROOT explicitly.
TFunction * GetGlobalFunctionWithPrototype(const char *name, const char *proto=0, Bool_t load=kFALSE)
Return pointer to global function by name.
static void ShutDown()
Shut down ROOT.
TObject * GetFunction(const char *name) const
Return pointer to function with name.
static Int_t ConvertVersionCode2Int(Int_t code)
Convert version code to an integer, i.e. 331527 -> 51507.
TSeqCollection * fMessageHandlers
void SetStyle(const char *stylename="Default")
Change current style to style with name stylename.
TSeqCollection * GetListOfMappedFiles() const
void SetEditHistograms(Bool_t flag=kTRUE)
void ReadGitInfo()
Read Git commit information and branch name from the etc/gitinfo.txt file.
void ForceStyle(Bool_t force=kTRUE)
void RefreshBrowsers()
Refresh all browsers.
void CloseFiles()
Close any files and sockets that gROOT knows about.
const char * GetVersion() const
std::atomic< TApplication * > fApplication
const char * FindObjectPathName(const TObject *obj) const
Return path name of obj somewhere in the //root/... path.
static Int_t ConvertVersionInt2Code(Int_t v)
Convert version as an integer to version code as used in RVersion.h.
static const TString & GetTTFFontDir()
Get the fonts directory in the installation. Static utility function.
const char * GetGitBranch() const
const TObject * GetSelectedPrimitive() const
TCanvas * MakeDefCanvas() const
Return a default canvas.
TColor * GetColor(Int_t color) const
Return address of color with index color.
Bool_t IsLineProcessing() const
TGlobal * GetGlobal(const char *name, Bool_t load=kFALSE) const
Return pointer to global variable by name.
TClass * FindSTLClass(const char *name, Bool_t load, Bool_t silent=kFALSE) const
return a TClass object corresponding to 'name' assuming it is an STL container.
TSeqCollection * fStreamerInfo
TROOT & operator=(const TROOT &)
static const TString & GetIconPath()
Get the icon path in the installation. Static utility function.
TSeqCollection * GetListOfCanvases() const
Long_t Macro(const char *filename, Int_t *error=0, Bool_t padUpdate=kTRUE)
Execute a macro in the interpreter.
std::atomic< TListOfEnums * > AListOfEnums_t
TCollection * GetListOfGlobalFunctions(Bool_t load=kFALSE)
Return list containing the TFunctions currently defined.
TSeqCollection * fSpecials
TCollection * GetListOfFunctionTemplates()
void SetExecutingMacro(Bool_t flag=kTRUE)
static void RegisterModule(const char *modulename, const char **headers, const char **includePaths, const char *payLoadCode, const char *fwdDeclCode, void(*triggerFunc)(), const FwdDeclArgsToKeepCollection_t &fwdDeclsArgToSkip, const char **classesHeaders, bool hasCxxModule=false)
Called by static dictionary initialization to register clang modules for headers.
void SetInterrupt(Bool_t flag=kTRUE)
TListOfDataMembers * fGlobals
TListOfFunctionTemplates * fFuncTemplate
TSeqCollection * GetClipboard() const
TSeqCollection * fDataSets
TStyle * GetStyle(const char *name) const
Return pointer to style with name.
TCollection * GetListOfEnums(Bool_t load=kFALSE)
Long_t ProcessLineFast(const char *line, Int_t *error=0)
Process interpreter command directly via CINT interpreter.
void InitInterpreter()
Initialize the interpreter.
TCollection * GetListOfGlobals(Bool_t load=kFALSE)
Return list containing the TGlobals currently defined.
virtual TObject * FindObjectAnyFile(const char *name) const
Scan the memory lists of all files for an object with name.
TVirtualPad * GetSelectedPad() const
static void SetDirLevel(Int_t level=0)
Return Indentation level for ls().
TSeqCollection * fSecContexts
static const char * GetTutorialsDir()
Get the tutorials directory in the installation.
TCollection * GetListOfFunctionOverloads(const char *name) const
Return the collection of functions named "name".
TSeqCollection * fCleanups
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
void RecursiveRemove(TObject *obj)
Recursively remove this object from the list of Cleanups.
TApplication * GetApplication() const
void SetBatch(Bool_t batch=kTRUE)
static const TString & GetSourceDir()
Get the source directory in the installation. Static utility function.
static const TString & GetMacroDir()
Get the macro directory in the installation. Static utility function.
TSeqCollection * fClosedObjects
void Browse(TBrowser *b)
Add browsable objects to TBrowser.
TFunction * GetGlobalFunction(const char *name, const char *params=0, Bool_t load=kFALSE)
Return pointer to global function by name.
TSeqCollection * fClipboard
const char * GetGitDate()
Return date/time make was run.
TProcessUUID * GetUUIDs() const
void SetEditorMode(const char *mode="")
Set editor mode.
TSeqCollection * GetListOfStreamerInfo() const
static const TString & GetTutorialDir()
Get the tutorials directory in the installation. Static utility function.
virtual ~TROOT()
Clean up and free resources used by ROOT (files, network sockets, shared memory segments,...
static Bool_t MemCheck()
Return kTRUE if the memory leak checker is on.
Int_t GetBuiltDate() const
TCollection * GetListOfFunctions() const
void Idle(UInt_t idleTimeInSec, const char *command=0)
Execute command when system has been idle for idleTimeInSec seconds.
Bool_t GetForceStyle() const
TFolder * GetRootFolder() const
TSeqCollection * GetListOfBrowsers() const
Bool_t ReadingObject() const
Deprecated (will be removed in next release).
TSeqCollection * GetListOfProofs() const
Bool_t GetEditHistograms() const
TSeqCollection * GetListOfColors() const
virtual void Append(TObject *obj, Bool_t replace=kFALSE)
Append object to this directory.
static const std::vector< std::string > & AddExtraInterpreterArgs(const std::vector< std::string > &args)
Provide command line arguments to the interpreter construction.
void SetLineHasBeenProcessed()
TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE) const
Return pointer to class with name. Obsolete, use TClass::GetClass directly.
virtual TObject * FindObjectAny(const char *name) const
Return a pointer to the first object with name starting at //root.
static const TString & GetRootSys()
Get the rootsys directory in the installation. Static utility function.
TListOfFunctions * GetGlobalFunctions()
Internal routine returning, and creating if necessary, the list of global function.
TObject * Remove(TObject *)
Remove an object from the in-memory list.
Int_t LoadClass(const char *classname, const char *libname, Bool_t check=kFALSE)
Check if class "classname" is known to the interpreter (in fact, this check is not needed anymore,...
void AddClass(TClass *cl)
Add a class to the list and map of classes.
static Int_t RootVersionCode()
Return ROOT version code as defined in RVersion.h.
TObject * FindSpecialObject(const char *name, void *&where)
Returns address and folder of a ROOT object if it exists.
void InitSystem()
Initialize operating system interface.
Int_t GetEditorMode() const
Bool_t ClassSaved(TClass *cl)
return class status bit kClassSaved for class cl This function is called by the SavePrimitive functio...
const char * GetGitCommit() const
TCollection * GetListOfTypes(Bool_t load=kFALSE)
Return a dynamic list giving access to all TDataTypes (typedefs) currently defined.
virtual TObject * FindObject(const char *name) const
Returns address of a ROOT object if it exists.
TSeqCollection * GetListOfTasks() const
Bool_t IsRootFile(const char *filename) const
Return true if the file is local and is (likely) to be a ROOT file.
Bool_t IsWebDisplay() const
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
Int_t GetVersionTime() const
static const TString & GetDocDir()
Get the documentation directory in the installation. Static utility function.
static const TString & GetEtcDir()
Get the sysconfig directory in the installation. Static utility function.
Int_t GetNclasses() const
static const char **& GetExtraInterpreterArgs()
INTERNAL function! Used by rootcling to inject interpreter arguments through a C-interface layer.
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
void SetSelectedPad(TVirtualPad *pad)
void InitThreads()
Load and initialize thread library.
TFunctionTemplate * GetFunctionTemplate(const char *name)
TPluginManager * fPluginManager
TObject * GetGeometry(const char *name) const
Return pointer to Geometry with name.
TList * GetListOfBrowsables() const
Bool_t fIsWebDisplayBatch
void SetEscape(Bool_t flag=kTRUE)
Int_t GetVersionCode() const
TSeqCollection * fMappedFiles
TSeqCollection * GetListOfSpecials() const
static const TString & GetLibDir()
Get the library directory in the installation. Static utility function.
void ls(Option_t *option="") const
To list all objects of the application.
void SetDefCanvasName(const char *name="c1")
TSeqCollection * fBrowsers
TListOfFunctions * fGlobalFunctions
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
Long_t ProcessLineSync(const char *line, Int_t *error=0)
Process interpreter command via TApplication::ProcessLine().
void SetSelectedPrimitive(const TObject *obj)
void Reset(Option_t *option="")
Delete all global interpreter objects created since the last call to Reset.
const char * FindObjectClassName(const char *name) const
Returns class name of a ROOT object including CINT globals.
TSeqCollection * GetListOfDataSets() const
TSeqCollection * GetListOfClosedObjects() const
const char * GetConfigOptions() const
static const TString & GetDataDir()
Get the data directory in the installation. Static utility function.
void SetWebDisplay(const char *webdisplay)
Specify where web graphics shall be rendered.
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
TSeqCollection * GetListOfSecContexts() const
Int_t LoadMacro(const char *filename, Int_t *error=0, Bool_t check=kFALSE)
Load a macro in the interpreter's memory.
TSeqCollection * GetListOfGeometries() const
TSeqCollection * GetListOfStyles() const
static Int_t GetDirLevel()
return directory level
void SetReadingObject(Bool_t flag=kTRUE)
TInterpreter * GetInterpreter() const
TPluginManager * GetPluginManager() const
Sequenceable collection abstract base class.
TStyle objects may be created to define special styles.
This class implements a mutex interface.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
void SetRequireCleanup(TObject &obj)
R__EXTERN TROOT * gROOTLocal
void DisableParBranchProcessing()
Globally disables the IMT use case of parallel branch processing, deactivating the corresponding lock...
void DisableParTreeProcessing()
Globally disables the IMT use case of parallel branch processing, deactivating the corresponding lock...
void EnableParBranchProcessing()
Globally enables the parallel branch processing, which is a case of implicit multi-threading (IMT) in...
Bool_t IsParBranchProcessingEnabled()
Returns true if parallel branch processing is enabled.
Bool_t IsParTreeProcessingEnabled()
Returns true if parallel tree processing is enabled.
void EnableParTreeProcessing()
Globally enables the parallel tree processing, which is a case of implicit multi-threading in ROOT,...
Bool_t RequiresCleanup(TObject &obj)
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT's implicit multi-threading for all objects and methods that provide an internal paralleli...
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled.
void EnableThreadSafety()
Enables the global mutex to make ROOT thread safe/aware.
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
UInt_t GetImplicitMTPoolSize()
Returns the size of the pool used for implicit multi-threading.
void DisableImplicitMT()
Disables the implicit multi-threading in ROOT (see EnableImplicitMT).