Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TROOT.h
Go to the documentation of this file.
1// @(#)root/base:$Id$
2// Author: Rene Brun 08/12/94
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TROOT
13#define ROOT_TROOT
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TROOT //
19// //
20// The TROOT object is the entry point to the system. //
21// The single instance of TROOT is accessible via the global gROOT. //
22// Using the gROOT pointer one has access to basically every object //
23// created in a ROOT based program. The TROOT object is essentially a //
24// container of several lists pointing to the main ROOT objects. //
25// //
26//////////////////////////////////////////////////////////////////////////
27
28#include "TDirectory.h"
29// #include "TList.h" // included in TDirectory.h
30// #include "RConfigure.h" // included via Rtypes.h
31
32#include <atomic>
33#include <string>
34#include <vector>
35#include <utility>
36
37class TClass;
38class TCanvas;
39class TColor;
40class TDataType;
41class TFile;
42class TStyle;
43class TVirtualPad;
44class TApplication;
45class TInterpreter;
46class TBrowser;
47class TGlobal;
48class TFunction;
49class TFolder;
50class TPluginManager;
51class TProcessUUID;
52class TClassGenerator;
53class TVirtualMutex;
54class TROOT;
56class TListOfEnums;
59class TSeqCollection;
62
64
65namespace ROOT {
66namespace Internal {
67 class TROOTAllocator;
68
69 TROOT *GetROOT2();
70
71 // Manage parallel branch processing
80} } // End ROOT::Internal
81
82namespace ROOT {
83 enum class EIMTConfig {
84 kWholeMachine = 0, ///< Default configuration
85 kExistingTBBArena = 1, ///< Use the existing TBB arena
86 kNumConfigs = 2 ///< Number of support IMT semantic configurations
87 };
88 /// \brief Enable support for multi-threading within the ROOT code
89 /// in particular, enables the global mutex to make ROOT thread safe/aware.
90 void EnableThreadSafety();
91 /// \brief Enable ROOT's implicit multi-threading for all objects and methods that provide an internal
92 /// parallelisation mechanism.
94 /// \brief Enable ROOT's implicit multi-threading for all objects and methods that provide an internal
95 /// parallelisation mechanism.
97 void DisableImplicitMT();
100}
101
102class TROOT : public TDirectory {
103
104friend class TCling;
106
107private:
108 Int_t fLineIsProcessing = 0; ///< To synchronize multi-threads
109
110 static Int_t fgDirLevel; ///< Indentation level for ls()
111 static Bool_t fgRootInit; ///< Singleton initialization flag
112
113 TROOT(const TROOT&) = delete;
114 TROOT& operator=(const TROOT&) = delete;
115
116protected:
117 typedef std::atomic<TListOfEnums*> AListOfEnums_t;
118
119 TString fConfigOptions; ///< ROOT ./configure set build options
120 TString fConfigFeatures; ///< ROOT ./configure detected build features
121 TString fVersion; ///< ROOT version as TString, example: 0.05.01
122 Int_t fVersionInt = 0; ///< ROOT version in integer format (501)
123 Int_t fVersionCode = 0; ///< ROOT version code as used in RVersion.h
124 Int_t fVersionDate = 0; ///< Date of ROOT version (ex 951226)
125 Int_t fVersionTime = 0; ///< Time of ROOT version (ex 1152)
126 Int_t fBuiltDate = 0; ///< Date of ROOT built
127 Int_t fBuiltTime = 0; ///< Time of ROOT built
128 TString fGitCommit; ///< Git commit SHA1 of built
129 TString fGitBranch; ///< Git branch
130 TString fGitDate; ///< Date and time when make was run
131 Int_t fTimer = 0; ///< Timer flag
132 std::atomic<TApplication*> fApplication = nullptr; ///< Pointer to current application
133 TInterpreter *fInterpreter = nullptr; ///< Command interpreter
134 Bool_t fBatch = true; ///< True if session without graphics
135 TString fWebDisplay; ///< If not empty it defines where web graphics should be rendered (cef, qt6, browser...)
136 Bool_t fIsWebDisplay = false; ///< True if session uses web widgets
137 Bool_t fIsWebDisplayBatch = false; ///< True if web widgets are not displayed
138 Bool_t fEditHistograms = true; ///< True if histograms can be edited with the mouse
139 Bool_t fFromPopUp = true; ///< True if command executed from a popup menu
140 Bool_t fMustClean = true; ///< True if object destructor scans canvases
141 Bool_t fForceStyle = false; ///< Force setting of current style when reading objects
142 Bool_t fInterrupt = false; ///< True if macro should be interrupted
143 Bool_t fEscape = false; ///< True if ESC has been pressed
144 Bool_t fExecutingMacro = false; ///< True while executing a TMacro
145 Int_t fEditorMode = 0; ///< Current Editor mode
146 const TObject *fPrimitive = nullptr; ///< Currently selected primitive
147 TVirtualPad *fSelectPad = nullptr; ///< Currently selected pad
148 TCollection *fClasses = nullptr; ///< List of classes definition
149 TCollection *fTypes = nullptr; ///< List of data types definition
150 TListOfFunctionTemplates *fFuncTemplate = nullptr; ///< List of global function templates
151 TListOfDataMembers*fGlobals = nullptr; ///< List of global variables
152 TListOfFunctions*fGlobalFunctions = nullptr; ///< List of global functions
153 TSeqCollection *fClosedObjects = nullptr; ///< List of closed objects from the list of files and sockets, so we can delete them if neededCl.
154 TSeqCollection *fFiles = nullptr; ///< List of files
155 TSeqCollection *fMappedFiles = nullptr; ///< List of memory mapped files
156 TSeqCollection *fSockets = nullptr; ///< List of network sockets
157 TSeqCollection *fCanvases = nullptr; ///< List of canvases
158 TSeqCollection *fStyles = nullptr; ///< List of styles
159 TCollection *fFunctions = nullptr; ///< List of analytic functions
160 TSeqCollection *fTasks = nullptr; ///< List of tasks
161 TSeqCollection *fColors = nullptr; ///< List of colors
162 TSeqCollection *fGeometries = nullptr; ///< List of geometries
163 TSeqCollection *fBrowsers = nullptr; ///< List of browsers
164 TSeqCollection *fSpecials = nullptr; ///< List of special objects
165 TSeqCollection *fCleanups = nullptr; ///< List of recursiveRemove collections
166 TSeqCollection *fMessageHandlers = nullptr; ///< List of message handlers
167 TSeqCollection *fStreamerInfo = nullptr; ///< List of active StreamerInfo classes
168 TCollection *fClassGenerators = nullptr; ///< List of user defined class generators;
169 TSeqCollection *fSecContexts = nullptr; ///< List of security contexts (TSecContext)
170 TSeqCollection *fClipboard = nullptr; ///< List of clipboard objects
171 TSeqCollection *fDataSets = nullptr; ///< List of data sets (TDSet or TChain)
172 AListOfEnums_t fEnums = nullptr; ///< List of enum types
173 TProcessUUID *fUUIDs = nullptr; ///< Pointer to TProcessID managing TUUIDs
174 TFolder *fRootFolder = nullptr; ///< top level folder //root
175 TList *fBrowsables = nullptr; ///< List of browsables
176 TPluginManager *fPluginManager = nullptr; ///< Keeps track of plugin library handlers
177 TString fCutClassName; ///< Name of default CutG class in graphics editor
178 TString fDefCanvasName; ///< Name of default canvas
179
180 TROOT(); ///< Only used by Dictionary
181 void InitSystem(); ///< Operating System interface
182 void InitThreads(); ///< Initialize threads library
183 void InitInterpreter(); ///< Initialize interpreter (cling)
184 void ReadGitInfo(); ///< Read Git commit SHA1 and branch name
185 void *operator new(size_t l) { return TObject::operator new(l); }
186 void *operator new(size_t l, void *ptr) { return TObject::operator new(l,ptr); }
187
188 friend class ::ROOT::Internal::TROOTAllocator;
189
191
192public:
193
194 typedef std::vector<std::pair<std::string, int> > FwdDeclArgsToKeepCollection_t;
195
196 TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc = nullptr);
197 virtual ~TROOT();
198 void AddClass(TClass *cl);
200 void Append(TObject *obj, Bool_t replace = kFALSE) override;
201 void Browse(TBrowser *b) override;
203 void CloseFiles();
205 TObject *FindObject(const char *name) const override;
206 TObject *FindObject(const TObject *obj) const override;
207 TObject *FindObjectAny(const char *name) const override;
208 TObject *FindObjectAnyFile(const char *name) const override;
209 TObject *FindSpecialObject(const char *name, void *&where);
210 const char *FindObjectClassName(const char *name) const;
211 const char *FindObjectPathName(const TObject *obj) const;
212 TClass *FindSTLClass(const char *name, Bool_t load, Bool_t silent = kFALSE) const;
214 Bool_t FromPopUp() const { return fFromPopUp; }
218 TClass *GetClass(const char *name, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
219 TClass *GetClass(const std::type_info &typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
220 TColor *GetColor(Int_t color) const;
221 const char *GetConfigOptions() const { return fConfigOptions; }
222 const char *GetConfigFeatures() const { return fConfigFeatures; }
223 const char *GetCutClassName() const { return fCutClassName; }
224 const char *GetDefCanvasName() const { return fDefCanvasName; }
226 Int_t GetEditorMode() const { return fEditorMode; }
227 Bool_t GetForceStyle() const { return fForceStyle; }
228 Int_t GetBuiltDate() const { return fBuiltDate; }
229 Int_t GetBuiltTime() const { return fBuiltTime; }
230 const char *GetGitCommit() const { return fGitCommit; }
231 const char *GetGitBranch() const { return fGitBranch; }
232 const char *GetGitDate();
235 Int_t GetVersionInt() const { return fVersionInt; }
237 const char *GetVersion() const { return fVersion; }
250 TCollection *GetListOfFunctionOverloads(const char* name) const;
265 TDataType *GetType(const char *name, Bool_t load = kFALSE) const;
266 TFile *GetFile() const override { if (gDirectory && gDirectory != this) return gDirectory->GetFile(); else return nullptr;}
267 TFile *GetFile(const char *name) const;
269 TStyle *GetStyle(const char *name) const;
270 TObject *GetFunction(const char *name) const;
271 TGlobal *GetGlobal(const char *name, Bool_t load = kFALSE) const;
272 TGlobal *GetGlobal(const TObject *obj, Bool_t load = kFALSE) const;
273 TFunction *GetGlobalFunction(const char *name, const char *params = nullptr, Bool_t load = kFALSE);
274 TFunction *GetGlobalFunctionWithPrototype(const char *name, const char *proto = nullptr, Bool_t load = kFALSE);
275 TObject *GetGeometry(const char *name) const;
276 const TObject *GetSelectedPrimitive() const { return fPrimitive; }
278 Int_t GetNclasses() const;
279 Int_t GetNtypes() const;
280 TFolder *GetRootFolder() const { return fRootFolder; }
281 TProcessUUID *GetUUIDs() const { return fUUIDs; }
282 const TString &GetWebDisplay() const { return fWebDisplay; }
283 void Idle(UInt_t idleTimeInSec, const char *command = nullptr);
284 Int_t IgnoreInclude(const char *fname, const char *expandedfname);
285 Bool_t IsBatch() const { return fBatch; }
287 Bool_t IsFolder() const override { return kTRUE; }
288 Bool_t IsInterrupted() const { return fInterrupt; }
289 Bool_t IsEscaped() const { return fEscape; }
291 Bool_t IsRootFile(const char *filename) const;
294 void ls(Option_t *option = "") const override;
295 Int_t LoadClass(const char *classname, const char *libname, Bool_t check = kFALSE);
296 TClass *LoadClass(const char *name, Bool_t silent = kFALSE) const;
297 Int_t LoadMacro(const char *filename, Int_t *error = nullptr, Bool_t check = kFALSE);
298 Longptr_t Macro(const char *filename, Int_t *error = nullptr, Bool_t padUpdate = kTRUE);
299 TCanvas *MakeDefCanvas() const;
300 void Message(Int_t id, const TObject *obj);
301 Bool_t MustClean() const { return fMustClean; }
302 Longptr_t ProcessLine(const char *line, Int_t *error = nullptr);
303 Longptr_t ProcessLineSync(const char *line, Int_t *error = nullptr);
304 Longptr_t ProcessLineFast(const char *line, Int_t *error = nullptr);
305 Bool_t ReadingObject() const;
306 void RecursiveRemove(TObject *obj) override;
307 void RefreshBrowsers();
308 static void RegisterModule(const char* modulename,
309 const char** headers,
310 const char** includePaths,
311 const char* payLoadCode,
312 const char* fwdDeclCode,
313 void (*triggerFunc)(),
315 const char** classesHeaders,
316 bool hasCxxModule = false);
317 TObject *Remove(TObject*) override;
318 void RemoveClass(TClass *);
319 void Reset(Option_t *option="");
320 void ResetClassSaved();
321 void SaveContext();
323 void SetBatch(Bool_t batch = kTRUE);
324 void SetWebDisplay(const char *webdisplay = "");
325 void SetCutClassName(const char *name = "TCutG");
326 void SetDefCanvasName(const char *name = "c1") { fDefCanvasName = name; }
328 void SetEditorMode(const char *mode = "");
337 void SetSelectedPrimitive(const TObject *obj) { fPrimitive = obj; }
339 void SetStyle(const char *stylename = "Default");
341 Int_t Timer() const { return fTimer; }
342
343 //---- static functions
344 static Int_t DecreaseDirLevel();
345 static Int_t GetDirLevel();
346 static const char *GetMacroPath();
347 static void SetMacroPath(const char *newpath);
348 static Int_t IncreaseDirLevel();
349 static void IndentLevel();
350 static void Initialize();
351 static Bool_t Initialized();
352 static void SetDirLevel(Int_t level = 0);
355 static Int_t RootVersionCode();
356 static const std::vector<std::string> &AddExtraInterpreterArgs(const std::vector<std::string> &args);
357 static const char**&GetExtraInterpreterArgs();
358
359 static const TString& GetRootSys();
360 static const TString& GetBinDir();
361 static const TString& GetLibDir();
362 static const TString& GetSharedLibDir();
363 static const TString& GetIncludeDir();
364 static const TString& GetEtcDir();
365 static const TString& GetDataDir();
366 static const TString& GetDocDir();
367 static const TString& GetMacroDir();
368 static const TString& GetTutorialDir();
369 static const TString &GetSourceDir()
370 R__DEPRECATED(6, 42,
375
376 // Backward compatibility function - do not use for new code
378 static void ShutDown();
379
380 ClassDefOverride(TROOT,0) //Top level (or root) structure for all classes
381};
382
383
385 TROOT *GetROOT();
386 namespace Internal {
388
389 inline void SetRequireCleanup(TObject &obj) {
391 obj.SetUniqueID(0);
392 }
393
395 return obj.TestBit(kIsReferenced) && obj.GetUniqueID() == 0;
396 }
397 }
398
399 /// \brief call RecursiveRemove for obj if gROOT is valid
400 /// and obj.TestBit(kMustCleanup) is true.
401 /// Note: this reset the kMustCleanup bit to allow
402 /// harmless multiple call to this function.
404 {
405 if (obj.TestBit(kMustCleanup)) {
407 if (root && root != &obj && (root->MustClean() || Internal::RequiresCleanup(obj))) {
408 root->RecursiveRemove(&obj);
410 }
411 }
412 }
413}
414#define gROOT (ROOT::GetROOT())
415
416#endif
#define R__EXTERN
Definition DllImport.h:26
#define R__DEPRECATED(MAJOR, MINOR, REASON)
Definition RConfig.hxx:512
#define b(i)
Definition RSha256.hxx:100
bool Bool_t
Boolean (0=false, 1=true) (bool)
Definition RtypesCore.h:77
int Int_t
Signed integer 4 bytes (int)
Definition RtypesCore.h:59
long Longptr_t
Integer large enough to hold a pointer (platform-dependent)
Definition RtypesCore.h:89
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int)
Definition RtypesCore.h:60
constexpr Bool_t kFALSE
Definition RtypesCore.h:108
constexpr Bool_t kTRUE
Definition RtypesCore.h:107
const char Option_t
Option string (const char)
Definition RtypesCore.h:80
void(* VoidFuncPtr_t)()
Definition Rtypes.h:85
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define gDirectory
Definition TDirectory.h:385
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char mode
char name[80]
Definition TGX11.cxx:110
@ kIsReferenced
Definition TObject.h:373
R__EXTERN TVirtualMutex * gROOTMutex
Definition TROOT.h:63
const char * proto
Definition civetweb.c:18822
This class creates the ROOT Application Environment that interfaces to the windowing system eventloop...
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
The Canvas class.
Definition TCanvas.h:23
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.
Definition TClass.h:84
This class defines an interface to the cling C++ interpreter.
Definition TCling.h:102
Collection abstract base class.
Definition TCollection.h:65
The color creation and management class.
Definition TColor.h:22
Basic data type descriptor (datatype information is obtained from CINT).
Definition TDataType.h:44
TFile * GetFile() const override
Describe directory structure in memory.
Definition TDirectory.h:45
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Definition TFile.h:131
<div class="legacybox"><h2>Legacy Code</h2> TFolder is a legacy interface: there will be no bug fixes...
Definition TFolder.h:30
Dictionary for function template This class describes one single function template.
Global functions class (global functions are obtained from CINT).
Definition TFunction.h:30
Global variables class (global variables are obtained from CINT).
Definition TGlobal.h:28
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...
A doubly linked list.
Definition TList.h:38
Mother of all ROOT objects.
Definition TObject.h:41
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition TObject.h:202
virtual UInt_t GetUniqueID() const
Return the unique object id.
Definition TObject.cxx:475
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition TObject.cxx:881
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
Definition TObject.cxx:892
void ResetBit(UInt_t f)
Definition TObject.h:201
@ kMustCleanup
if object destructor must call RecursiveRemove()
Definition TObject.h:70
This class implements a plugin library manager.
This class is a specialized TProcessID managing the list of UUIDs.
ROOT top level object description.
Definition TROOT.h:102
void SetApplication(TApplication *app)
Definition TROOT.h:322
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
Definition TROOT.cxx:2892
Int_t GetVersionInt() const
Definition TROOT.h:235
const char * GetConfigFeatures() const
Definition TROOT.h:222
TSeqCollection * GetListOfCleanups() const
Definition TROOT.h:255
void Time(Int_t casetime=1)
Definition TROOT.h:340
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,...
Definition TROOT.cxx:1928
Int_t fVersionCode
ROOT version code as used in RVersion.h.
Definition TROOT.h:123
const char * GetDefCanvasName() const
Definition TROOT.h:224
Bool_t IsInterrupted() const
Definition TROOT.h:288
const TString & GetWebDisplay() const
Definition TROOT.h:282
TCollection * GetListOfClasses() const
Definition TROOT.h:238
void Message(Int_t id, const TObject *obj)
Process message id called by obj.
Definition TROOT.cxx:2351
void RemoveClass(TClass *)
Remove a class from the list and map of classes.
Definition TROOT.cxx:2631
TCollection * fClassGenerators
List of user defined class generators;.
Definition TROOT.h:168
TROOT()
Only used by Dictionary.
Definition TROOT.cxx:634
void SetCutClassName(const char *name="TCutG")
Set the default graphical cut class name for the graphics editor By default the graphics editor creat...
Definition TROOT.cxx:2686
TSeqCollection * fCanvases
List of canvases.
Definition TROOT.h:157
TObject * FindObjectAnyFile(const char *name) const override
Scan the memory lists of all files for an object with name.
Definition TROOT.cxx:1436
const TObject * fPrimitive
Currently selected primitive.
Definition TROOT.h:146
void SetWebDisplay(const char *webdisplay="")
Specify where web graphics shall be rendered.
Definition TROOT.cxx:2836
Bool_t fIsWebDisplay
True if session uses web widgets.
Definition TROOT.h:136
TFolder * fRootFolder
top level folder //root
Definition TROOT.h:174
void AddClassGenerator(TClassGenerator *gen)
Add a class generator.
Definition TROOT.cxx:1035
const char * GetCutClassName() const
Definition TROOT.h:223
Int_t GetBuiltTime() const
Definition TROOT.h:229
void SetFromPopUp(Bool_t flag=kTRUE)
Definition TROOT.h:330
TSeqCollection * fGeometries
List of geometries.
Definition TROOT.h:162
TString fCutClassName
Name of default CutG class in graphics editor.
Definition TROOT.h:177
TInterpreter * fInterpreter
Command interpreter.
Definition TROOT.h:133
TSeqCollection * GetListOfMessageHandlers() const
Definition TROOT.h:257
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
Definition TROOT.h:194
Int_t fVersionTime
Time of ROOT version (ex 1152)
Definition TROOT.h:125
void SetLineIsProcessing()
Definition TROOT.h:333
void SetMustClean(Bool_t flag=kTRUE)
Definition TROOT.h:336
void EndOfProcessCleanups()
Execute the cleanups necessary at the end of the process, in particular those that must be executed b...
Definition TROOT.cxx:1248
Bool_t fBatch
True if session without graphics.
Definition TROOT.h:134
Bool_t IsWebDisplayBatch() const
Definition TROOT.h:293
TSeqCollection * GetListOfFiles() const
Definition TROOT.h:244
Bool_t fEscape
True if ESC has been pressed.
Definition TROOT.h:143
static const TString & GetBinDir()
Get the binary directory in the installation. Static utility function.
Definition TROOT.cxx:2998
TSeqCollection * GetListOfSockets() const
Definition TROOT.h:246
Int_t fVersionInt
ROOT version in integer format (501)
Definition TROOT.h:122
static const TString & GetIncludeDir()
Get the include directory in the installation. Static utility function.
Definition TROOT.cxx:3099
Bool_t fFromPopUp
True if command executed from a popup menu.
Definition TROOT.h:139
void Idle(UInt_t idleTimeInSec, const char *command=nullptr)
Execute command when system has been idle for idleTimeInSec seconds.
Definition TROOT.cxx:1892
TSeqCollection * fSockets
List of network sockets.
Definition TROOT.h:156
void ls(Option_t *option="") const override
To list all objects of the application.
Definition TROOT.cxx:2251
Bool_t IsEscaped() const
Definition TROOT.h:289
static const char * GetMacroPath()
Get macro search path. Static utility function.
Definition TROOT.cxx:2765
TCollection * fFunctions
List of analytic functions.
Definition TROOT.h:159
Int_t GetVersionDate() const
Definition TROOT.h:233
void SaveContext()
Save the current interpreter context.
Definition TROOT.cxx:2674
TCollection * GetListOfClassGenerators() const
Definition TROOT.h:258
Bool_t IsExecutingMacro() const
Definition TROOT.h:286
TDataType * GetType(const char *name, Bool_t load=kFALSE) const
Return pointer to type with name.
Definition TROOT.cxx:1562
static void Initialize()
Initialize ROOT explicitly.
Definition TROOT.cxx:2908
static void ShutDown()
Shut down ROOT.
Definition TROOT.cxx:3193
TObject * GetFunction(const char *name) const
Return pointer to function with name.
Definition TROOT.cxx:1587
static Int_t ConvertVersionCode2Int(Int_t code)
Convert version code to an integer, i.e. 331527 -> 51507.
Definition TROOT.cxx:2931
TSeqCollection * fMessageHandlers
List of message handlers.
Definition TROOT.h:166
static const TString & GetSourceDir() R__DEPRECATED(6
Get the source directory in the installation. Static utility function.
Definition TROOT.cxx:3204
void SetStyle(const char *stylename="Default")
Change current style to style with name stylename.
Definition TROOT.cxx:2733
TSeqCollection * GetListOfMappedFiles() const
Definition TROOT.h:245
void SetEditHistograms(Bool_t flag=kTRUE)
Definition TROOT.h:327
AListOfEnums_t fEnums
List of enum types.
Definition TROOT.h:172
void ReadGitInfo()
Read Git commit SHA1 and branch name.
Definition TROOT.cxx:2430
void ForceStyle(Bool_t force=kTRUE)
Definition TROOT.h:213
static Bool_t fgRootInit
Singleton initialization flag.
Definition TROOT.h:111
void RefreshBrowsers()
Refresh all browsers.
Definition TROOT.cxx:2513
void CloseFiles()
Close any files and sockets that gROOT knows about.
Definition TROOT.cxx:1168
const char * GetVersion() const
Definition TROOT.h:237
std::atomic< TApplication * > fApplication
Pointer to current application.
Definition TROOT.h:132
const char * FindObjectPathName(const TObject *obj) const
Return path name of obj somewhere in the //root/... path.
Definition TROOT.cxx:1473
static Int_t ConvertVersionInt2Code(Int_t v)
Convert version as an integer to version code as used in RVersion.h.
Definition TROOT.cxx:2939
void ResetClassSaved()
Reset the ClassSaved status of all classes.
Definition TROOT.cxx:1096
static const TString & GetTTFFontDir()
Get the fonts directory in the installation. Static utility function.
Definition TROOT.cxx:3246
const char * GetGitBranch() const
Definition TROOT.h:231
Bool_t fForceStyle
Force setting of current style when reading objects.
Definition TROOT.h:141
Bool_t FromPopUp() const
Definition TROOT.h:214
const TObject * GetSelectedPrimitive() const
Definition TROOT.h:276
TCanvas * MakeDefCanvas() const
Return a default canvas.
Definition TROOT.cxx:1554
TCollection * fTypes
List of data types definition.
Definition TROOT.h:149
TColor * GetColor(Int_t color) const
Return address of color with index color.
Definition TROOT.cxx:1536
Bool_t IsLineProcessing() const
Definition TROOT.h:290
TGlobal * GetGlobal(const char *name, Bool_t load=kFALSE) const
Return pointer to global variable by name.
Definition TROOT.cxx:1631
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.
Definition TROOT.cxx:1484
TSeqCollection * fStreamerInfo
List of active StreamerInfo classes.
Definition TROOT.h:167
void Append(TObject *obj, Bool_t replace=kFALSE) override
Append object to this directory.
Definition TROOT.cxx:1047
static const TString & GetIconPath()
Get the icon path in the installation. Static utility function.
Definition TROOT.cxx:3225
TSeqCollection * GetListOfCanvases() const
Definition TROOT.h:247
std::atomic< TListOfEnums * > AListOfEnums_t
Definition TROOT.h:117
TCollection * GetListOfGlobalFunctions(Bool_t load=kFALSE)
Return list containing the TFunctions currently defined.
Definition TROOT.cxx:1826
TString fGitDate
Date and time when make was run.
Definition TROOT.h:130
TSeqCollection * fSpecials
List of special objects.
Definition TROOT.h:164
TCollection * GetListOfFunctionTemplates()
Definition TROOT.cxx:1771
void SetExecutingMacro(Bool_t flag=kTRUE)
Definition TROOT.h:329
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.
Definition TROOT.cxx:2538
TObject * FindObject(const char *name) const override
Returns address of a ROOT object if it exists.
Definition TROOT.cxx:1313
TCollection * fClasses
List of classes definition.
Definition TROOT.h:148
void SetInterrupt(Bool_t flag=kTRUE)
Definition TROOT.h:331
Bool_t fEditHistograms
True if histograms can be edited with the mouse.
Definition TROOT.h:138
TListOfDataMembers * fGlobals
List of global variables.
Definition TROOT.h:151
TListOfFunctionTemplates * fFuncTemplate
List of global function templates.
Definition TROOT.h:150
TSeqCollection * GetClipboard() const
Definition TROOT.h:260
Int_t fTimer
Timer flag.
Definition TROOT.h:131
TSeqCollection * fDataSets
List of data sets (TDSet or TChain)
Definition TROOT.h:171
TString fConfigOptions
ROOT ./configure set build options.
Definition TROOT.h:119
TStyle * GetStyle(const char *name) const
Return pointer to style with name.
Definition TROOT.cxx:1579
TCollection * GetListOfEnums(Bool_t load=kFALSE)
Definition TROOT.cxx:1754
Longptr_t ProcessLineSync(const char *line, Int_t *error=nullptr)
Process interpreter command via TApplication::ProcessLine().
Definition TROOT.cxx:2391
void InitInterpreter()
Initialize interpreter (cling)
Definition TROOT.cxx:2065
TCollection * GetListOfGlobals(Bool_t load=kFALSE)
Return list containing the TGlobals currently defined.
Definition TROOT.cxx:1788
TVirtualPad * GetSelectedPad() const
Definition TROOT.h:277
static void SetDirLevel(Int_t level=0)
Return Indentation level for ls().
Definition TROOT.cxx:2923
TSeqCollection * fSecContexts
List of security contexts (TSecContext)
Definition TROOT.h:169
TString fWebDisplay
If not empty it defines where web graphics should be rendered (cef, qt6, browser.....
Definition TROOT.h:135
static const char * GetTutorialsDir()
Get the tutorials directory in the installation.
Definition TROOT.cxx:3268
TCollection * GetListOfFunctionOverloads(const char *name) const
Return the collection of functions named "name".
Definition TROOT.cxx:1672
TSeqCollection * fCleanups
List of recursiveRemove collections.
Definition TROOT.h:165
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
Definition TROOT.cxx:2915
TApplication * GetApplication() const
Definition TROOT.h:216
void SetBatch(Bool_t batch=kTRUE)
Set batch mode for ROOT If the argument evaluates to true, the session does not use interactive graph...
Definition TROOT.cxx:2807
Int_t fLineIsProcessing
To synchronize multi-threads.
Definition TROOT.h:108
Int_t Timer() const
Definition TROOT.h:341
static const TString & GetMacroDir()
Get the macro directory in the installation. Static utility function.
Definition TROOT.cxx:3151
TString fGitCommit
Git commit SHA1 of built.
Definition TROOT.h:128
Longptr_t ProcessLine(const char *line, Int_t *error=nullptr)
Process interpreter command via TApplication::ProcessLine().
Definition TROOT.cxx:2371
TSeqCollection * fClosedObjects
List of closed objects from the list of files and sockets, so we can delete them if neededCl.
Definition TROOT.h:153
TSeqCollection * fTasks
List of tasks.
Definition TROOT.h:160
TSeqCollection * fClipboard
List of clipboard objects.
Definition TROOT.h:170
const char * GetGitDate()
Return date/time make was run.
Definition TROOT.cxx:2475
TProcessUUID * GetUUIDs() const
Definition TROOT.h:281
void SetEditorMode(const char *mode="")
Set editor mode.
Definition TROOT.cxx:2707
TSeqCollection * GetListOfStreamerInfo() const
Definition TROOT.h:256
static const TString & GetTutorialDir()
Get the tutorials directory in the installation. Static utility function.
Definition TROOT.cxx:3172
virtual ~TROOT()
Clean up and free resources used by ROOT (files, network sockets, shared memory segments,...
Definition TROOT.cxx:869
TSeqCollection * fColors
List of colors.
Definition TROOT.h:161
Int_t GetBuiltDate() const
Definition TROOT.h:228
TCollection * GetListOfFunctions() const
Definition TROOT.h:249
TFunction * GetGlobalFunctionWithPrototype(const char *name, const char *proto=nullptr, Bool_t load=kFALSE)
Return pointer to global function by name.
Definition TROOT.cxx:1718
Bool_t GetForceStyle() const
Definition TROOT.h:227
TFolder * GetRootFolder() const
Definition TROOT.h:280
TSeqCollection * GetListOfBrowsers() const
Definition TROOT.h:252
Bool_t ReadingObject() const
Deprecated (will be removed in next release).
Definition TROOT.cxx:2461
TSeqCollection * fStyles
List of styles.
Definition TROOT.h:158
Bool_t GetEditHistograms() const
Definition TROOT.h:225
Int_t fVersionDate
Date of ROOT version (ex 951226)
Definition TROOT.h:124
TSeqCollection * GetListOfColors() const
Definition TROOT.h:239
Longptr_t Macro(const char *filename, Int_t *error=nullptr, Bool_t padUpdate=kTRUE)
Execute a macro in the interpreter.
Definition TROOT.cxx:2317
Int_t fBuiltTime
Time of ROOT built.
Definition TROOT.h:127
static const std::vector< std::string > & AddExtraInterpreterArgs(const std::vector< std::string > &args)
Provide command line arguments to the interpreter construction.
Definition TROOT.cxx:2961
void SetLineHasBeenProcessed()
Definition TROOT.h:334
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.
Definition TROOT.cxx:1518
TVirtualPad * fSelectPad
Currently selected pad.
Definition TROOT.h:147
TSeqCollection * fFiles
List of files.
Definition TROOT.h:154
void Browse(TBrowser *b) override
Add browsable objects to TBrowser.
Definition TROOT.cxx:1056
static const TString & GetRootSys()
Get the rootsys directory in the installation. Static utility function.
Definition TROOT.cxx:2988
TListOfFunctions * GetGlobalFunctions()
Internal routine returning, and creating if necessary, the list of global function.
Definition TROOT.cxx:1663
Bool_t fInterrupt
True if macro should be interrupted.
Definition TROOT.h:142
Bool_t fMustClean
True if object destructor scans canvases.
Definition TROOT.h:140
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,...
Definition TROOT.cxx:2184
TFunction * GetGlobalFunction(const char *name, const char *params=nullptr, Bool_t load=kFALSE)
Return pointer to global function by name.
Definition TROOT.cxx:1685
void AddClass(TClass *cl)
Add a class to the list and map of classes.
Definition TROOT.cxx:1025
static Int_t RootVersionCode()
Return ROOT version code as defined in RVersion.h.
Definition TROOT.cxx:2950
TObject * FindSpecialObject(const char *name, void *&where)
Returns address and folder of a ROOT object if it exists.
Definition TROOT.cxx:1367
TObject * Remove(TObject *) override
Remove an object from the in-memory list.
Definition TROOT.cxx:2621
void InitSystem()
Operating System interface.
Definition TROOT.cxx:1978
Longptr_t ProcessLineFast(const char *line, Int_t *error=nullptr)
Process interpreter command directly via CINT interpreter.
Definition TROOT.cxx:2408
Int_t GetEditorMode() const
Definition TROOT.h:226
Bool_t ClassSaved(TClass *cl)
return class status 'ClassSaved' for class cl This function is called by the SavePrimitive functions ...
Definition TROOT.cxx:1083
const char * GetGitCommit() const
Definition TROOT.h:230
TString fGitBranch
Git branch.
Definition TROOT.h:129
static const TString This function is removed because it made only sense in the corner case where the ROOT source is copied inside the ROOT installation
Definition TROOT.h:370
TCollection * GetListOfTypes(Bool_t load=kFALSE)
Return a dynamic list giving access to all TDataTypes (typedefs) currently defined.
Definition TROOT.cxx:1865
static Int_t fgDirLevel
Indentation level for ls()
Definition TROOT.h:110
TSeqCollection * GetListOfTasks() const
Definition TROOT.h:254
Bool_t IsBatch() const
Definition TROOT.h:285
Bool_t IsRootFile(const char *filename) const
Return true if the file is local and is (likely) to be a ROOT file.
Definition TROOT.cxx:2231
Bool_t IsWebDisplay() const
Definition TROOT.h:292
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
Definition TROOT.cxx:2900
Int_t GetVersionTime() const
Definition TROOT.h:234
static const TString & GetDocDir()
Get the documentation directory in the installation. Static utility function.
Definition TROOT.cxx:3135
static const TString & GetEtcDir()
Get the sysconfig directory in the installation. Static utility function.
Definition TROOT.cxx:3109
TROOT(const TROOT &)=delete
Int_t GetNclasses() const
Get number of classes.
Definition TROOT.cxx:1876
static const char **& GetExtraInterpreterArgs()
INTERNAL function! Used by rootcling to inject interpreter arguments through a C-interface layer.
Definition TROOT.cxx:2971
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
Definition TROOT.cxx:2791
void SetSelectedPad(TVirtualPad *pad)
Definition TROOT.h:338
void InitThreads()
Initialize threads library.
Definition TROOT.cxx:2053
TProcessUUID * fUUIDs
Pointer to TProcessID managing TUUIDs.
Definition TROOT.h:173
TString fConfigFeatures
ROOT ./configure detected build features.
Definition TROOT.h:120
TFunctionTemplate * GetFunctionTemplate(const char *name)
Definition TROOT.cxx:1618
TPluginManager * fPluginManager
Keeps track of plugin library handlers.
Definition TROOT.h:176
TObject * GetGeometry(const char *name) const
Return pointer to Geometry with name.
Definition TROOT.cxx:1747
void RecursiveRemove(TObject *obj) override
Recursively remove this object from the list of Cleanups.
Definition TROOT.cxx:2499
Bool_t fExecutingMacro
True while executing a TMacro.
Definition TROOT.h:144
static const TString This function is removed because it made only sense in the corner case where the ROOT source is copied inside the ROOT which is never the case unless the user does it by hand
Definition TROOT.h:372
TList * GetListOfBrowsables() const
Definition TROOT.h:264
Int_t fBuiltDate
Date of ROOT built.
Definition TROOT.h:126
Bool_t fIsWebDisplayBatch
True if web widgets are not displayed.
Definition TROOT.h:137
static const TString & GetSharedLibDir()
Get the shared libraries directory in the installation. Static utility function.
Definition TROOT.cxx:3088
void SetEscape(Bool_t flag=kTRUE)
Definition TROOT.h:332
Int_t GetVersionCode() const
Definition TROOT.h:236
TSeqCollection * fMappedFiles
List of memory mapped files.
Definition TROOT.h:155
Int_t GetNtypes() const
Get number of types.
Definition TROOT.cxx:1884
TSeqCollection * GetListOfSpecials() const
Definition TROOT.h:253
Int_t LoadMacro(const char *filename, Int_t *error=nullptr, Bool_t check=kFALSE)
Load a macro in the interpreter's memory.
Definition TROOT.cxx:2269
TFile * GetFile() const override
Definition TROOT.h:266
static const TString & GetLibDir()
Get the library directory in the installation.
Definition TROOT.cxx:3029
void SetDefCanvasName(const char *name="c1")
Definition TROOT.h:326
TSeqCollection * fBrowsers
List of browsers.
Definition TROOT.h:163
TString fDefCanvasName
Name of default canvas.
Definition TROOT.h:178
TListOfFunctions * fGlobalFunctions
List of global functions.
Definition TROOT.h:152
TList * fBrowsables
List of browsables.
Definition TROOT.h:175
TObject * FindObjectAny(const char *name) const override
Return a pointer to the first object with name starting at //root.
Definition TROOT.cxx:1426
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
Definition TROOT.cxx:2749
Bool_t IsFolder() const override
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition TROOT.h:287
void SetSelectedPrimitive(const TObject *obj)
Definition TROOT.h:337
void Reset(Option_t *option="")
Delete all global interpreter objects created since the last call to Reset.
Definition TROOT.cxx:2654
Int_t fEditorMode
Current Editor mode.
Definition TROOT.h:145
const char * FindObjectClassName(const char *name) const
Returns class name of a ROOT object including CINT globals.
Definition TROOT.cxx:1453
TSeqCollection * GetListOfDataSets() const
Definition TROOT.h:261
Bool_t MustClean() const
Definition TROOT.h:301
TSeqCollection * GetListOfClosedObjects() const
Definition TROOT.h:243
const char * GetConfigOptions() const
Definition TROOT.h:221
static const TString & GetDataDir()
Get the data directory in the installation. Static utility function.
Definition TROOT.cxx:3119
TROOT & operator=(const TROOT &)=delete
TSeqCollection * GetListOfSecContexts() const
Definition TROOT.h:259
TSeqCollection * GetListOfGeometries() const
Definition TROOT.h:251
TSeqCollection * GetListOfStyles() const
Definition TROOT.h:248
TString fVersion
ROOT version as TString, example: 0.05.01.
Definition TROOT.h:121
static Int_t GetDirLevel()
return directory level
Definition TROOT.cxx:2757
void SetReadingObject(Bool_t flag=kTRUE)
Definition TROOT.cxx:2466
TInterpreter * GetInterpreter() const
Definition TROOT.h:217
TPluginManager * GetPluginManager() const
Definition TROOT.h:215
Sequenceable collection abstract base class.
Basic string class.
Definition TString.h:138
TStyle objects may be created to define special styles.
Definition TStyle.h:29
This class implements a mutex interface.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition TVirtualPad.h:51
TLine * line
void SetRequireCleanup(TObject &obj)
Definition TROOT.h:389
R__EXTERN TROOT * gROOTLocal
Definition TROOT.h:387
void DisableParBranchProcessing()
Globally disables the IMT use case of parallel branch processing, deactivating the corresponding lock...
Definition TROOT.cxx:439
void EnableParBranchProcessing()
Globally enables the parallel branch processing, which is a case of implicit multi-threading (IMT) in...
Definition TROOT.cxx:425
Bool_t IsParBranchProcessingEnabled()
Returns true if parallel branch processing is enabled.
Definition TROOT.cxx:452
TROOT * GetROOT2()
Definition TROOT.cxx:392
Bool_t RequiresCleanup(TObject &obj)
Definition TROOT.h:394
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT's implicit multi-threading for all objects and methods that provide an internal paralleli...
Definition TROOT.cxx:544
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled.
Definition TROOT.cxx:600
UInt_t GetThreadPoolSize()
Returns the size of ROOT's thread pool.
Definition TROOT.cxx:607
void EnableThreadSafety()
Enable support for multi-threading within the ROOT code in particular, enables the global mutex to ma...
Definition TROOT.cxx:506
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition TROOT.h:403
EIMTConfig
Definition TROOT.h:83
@ kWholeMachine
Default configuration.
@ kNumConfigs
Number of support IMT semantic configurations.
@ kExistingTBBArena
Use the existing TBB arena.
void DisableImplicitMT()
Disables the implicit multi-threading in ROOT (see EnableImplicitMT).
Definition TROOT.cxx:586
TLine l
Definition textangle.C:4