Logo ROOT   6.14/05
Reference Guide
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 // "dispatcher" with several lists pointing to the ROOT main objects. //
25 // //
26 //////////////////////////////////////////////////////////////////////////
27 
28 #include "TDirectory.h"
29 #include "TList.h"
30 #include "RConfigure.h"
31 
32 #include <atomic>
33 
34 class TClass;
35 class TCanvas;
36 class TColor;
37 class TDataType;
38 class TFile;
39 class TStyle;
40 class TVirtualPad;
41 class TApplication;
42 class TInterpreter;
43 class TBrowser;
44 class TGlobal;
45 class TFunction;
46 class TFolder;
47 class TPluginManager;
48 class TProcessUUID;
49 class TClassGenerator;
50 class TVirtualMutex;
51 class TROOT;
52 class TListOfDataMembers;
53 class TListOfEnums;
54 class TListOfFunctions;
56 class TFunctionTemplate;
58 
60 
61 namespace ROOT {
62 namespace Internal {
63  class TROOTAllocator;
64 
65  TROOT *GetROOT2();
66 
67  // Manage parallel branch processing
72  public:
75  };
76 
77  // Manage parallel tree processing
82  public:
85  };
86 } } // End ROOT::Internal
87 
88 namespace ROOT {
89  // Enable support for multi-threading within the ROOT code,
90  // in particular, enables the global mutex to make ROOT thread safe/aware.
91  void EnableThreadSafety();
92  /// \brief Enable ROOT's implicit multi-threading for all objects and methods that provide an internal
93  /// parallelisation mechanism.
94  void EnableImplicitMT(UInt_t numthreads = 0);
95  void DisableImplicitMT();
98 }
99 
100 class TROOT : public TDirectory {
101 
102 friend class TCling;
104 
105 private:
106  Int_t fLineIsProcessing; //To synchronize multi-threads
107 
108  static Int_t fgDirLevel; //Indentation level for ls()
109  static Bool_t fgRootInit; //Singleton initialization flag
110  static Bool_t fgMemCheck; //Turn on memory leak checker
111 
112  TROOT(const TROOT&); //Not implemented
113  TROOT& operator=(const TROOT&); //Not implemented
114 
115 protected:
116  typedef std::atomic<TListOfEnums*> AListOfEnums_t;
117 
118  TString fConfigOptions; //ROOT ./configure set build options
119  TString fConfigFeatures; //ROOT ./configure detected build features
120  TString fVersion; //ROOT version (from CMZ VERSQQ) ex 0.05/01
121  Int_t fVersionInt; //ROOT version in integer format (501)
122  Int_t fVersionCode; //ROOT version code as used in RVersion.h
123  Int_t fVersionDate; //Date of ROOT version (ex 951226)
124  Int_t fVersionTime; //Time of ROOT version (ex 1152)
125  Int_t fBuiltDate; //Date of ROOT built
126  Int_t fBuiltTime; //Time of ROOT built
127  TString fGitCommit; //Git commit SHA1 of built
128  TString fGitBranch; //Git branch
129  TString fGitDate; //Date and time when make was run
130  Int_t fTimer; //Timer flag
131  std::atomic<TApplication*> fApplication; //Pointer to current application
132  TInterpreter *fInterpreter; //Command interpreter
133  Bool_t fBatch; //True if session without graphics
134  TString fWebDisplay; //If not empty it defines where web graphics should be rendered (cef, qt5, browser...)
135  Bool_t fIsWebDisplay; //True if session with graphics on web
136  Bool_t fIsWebDisplayBatch; //True if session with graphics on web and batch mode
137  Bool_t fEditHistograms; //True if histograms can be edited with the mouse
138  Bool_t fFromPopUp; //True if command executed from a popup menu
139  Bool_t fMustClean; //True if object destructor scans canvases
140  Bool_t fReadingObject; //True while reading an object [Deprecated (will be removed in next release)
141  Bool_t fForceStyle; //Force setting of current style when reading objects
142  Bool_t fInterrupt; //True if macro should be interrupted
143  Bool_t fEscape; //True if ESC has been pressed
144  Bool_t fExecutingMacro; //True while executing a TMacro
145  Int_t fEditorMode; //Current Editor mode
146  const TObject *fPrimitive; //Currently selected primitive
147  TVirtualPad *fSelectPad; //Currently selected pad
148  TCollection *fClasses; //List of classes definition
149  TCollection *fTypes; //List of data types definition
150  TListOfFunctionTemplates *fFuncTemplate; //List of global function templates
151  TListOfDataMembers*fGlobals; //List of global variables
152  TListOfFunctions*fGlobalFunctions; //List of global functions
153  TSeqCollection *fClosedObjects; //List of closed objects from the list of files and sockets, so we can delete them if neededCl.
154  TSeqCollection *fFiles; //List of files
155  TSeqCollection *fMappedFiles; //List of memory mapped files
156  TSeqCollection *fSockets; //List of network sockets
157  TSeqCollection *fCanvases; //List of canvases
158  TSeqCollection *fStyles; //List of styles
159  TCollection *fFunctions; //List of analytic functions
160  TSeqCollection *fTasks; //List of tasks
161  TSeqCollection *fColors; //List of colors
162  TSeqCollection *fGeometries; //List of geometries
163  TSeqCollection *fBrowsers; //List of browsers
164  TSeqCollection *fSpecials; //List of special objects
165  TSeqCollection *fCleanups; //List of recursiveRemove collections
166  TSeqCollection *fMessageHandlers; //List of message handlers
167  TSeqCollection *fStreamerInfo; //List of active StreamerInfo classes
168  TCollection *fClassGenerators; //List of user defined class generators;
169  TSeqCollection *fSecContexts; //List of security contexts (TSecContext)
170  TSeqCollection *fProofs; //List of proof sessions
171  TSeqCollection *fClipboard; //List of clipboard objects
172  TSeqCollection *fDataSets; //List of data sets (TDSet or TChain)
173  AListOfEnums_t fEnums; //List of enum types
174  TProcessUUID *fUUIDs; //Pointer to TProcessID managing TUUIDs
175  TFolder *fRootFolder; //top level folder //root
176  TList *fBrowsables; //List of browsables
177  TPluginManager *fPluginManager; //Keeps track of plugin library handlers
178  TString fCutClassName; //Name of default CutG class in graphics editor
179  TString fDefCanvasName; //Name of default canvas
180 
181  TROOT(); //Only used by Dictionary
182  void InitSystem(); //Operating System interface
183  void InitThreads(); //Initialize threads library
184  void InitInterpreter(); //Initialize interpreter (cling)
185  void ReadGitInfo(); //Read Git commit SHA1 and branch name
186  void *operator new(size_t l) { return TObject::operator new(l); }
187  void *operator new(size_t l, void *ptr) { return TObject::operator new(l,ptr); }
188 
189  friend class ::ROOT::Internal::TROOTAllocator;
190 
191  TListOfFunctions*GetGlobalFunctions();
192 
193 public:
194 
195  typedef std::vector<std::pair<std::string, int> > FwdDeclArgsToKeepCollection_t;
196 
197  TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc = 0);
198  virtual ~TROOT();
199  void AddClass(TClass *cl);
200  void AddClassGenerator(TClassGenerator *gen);
201  virtual void Append(TObject *obj, Bool_t replace = kFALSE);
202  void Browse(TBrowser *b);
203  Bool_t ClassSaved(TClass *cl);
204  void CloseFiles();
205  void EndOfProcessCleanups();
206  virtual TObject *FindObject(const char *name) const;
207  virtual TObject *FindObject(const TObject *obj) const;
208  virtual TObject *FindObjectAny(const char *name) const;
209  virtual TObject *FindObjectAnyFile(const char *name) const;
210  TObject *FindSpecialObject(const char *name, void *&where);
211  const char *FindObjectClassName(const char *name) const;
212  const char *FindObjectPathName(const TObject *obj) const;
213  TClass *FindSTLClass(const char *name, Bool_t load, Bool_t silent = kFALSE) const;
214  void ForceStyle(Bool_t force = kTRUE) { fForceStyle = force; }
215  Bool_t FromPopUp() const { return fFromPopUp; }
216  TPluginManager *GetPluginManager() const { return fPluginManager; }
217  TApplication *GetApplication() const { return fApplication; }
218  TInterpreter *GetInterpreter() const { return fInterpreter; }
219  TClass *GetClass(const char *name, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
220  TClass *GetClass(const std::type_info &typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
221  TColor *GetColor(Int_t color) const;
222  const char *GetConfigOptions() const { return fConfigOptions; }
223  const char *GetConfigFeatures() const { return fConfigFeatures; }
224  const char *GetCutClassName() const { return fCutClassName; }
225  const char *GetDefCanvasName() const { return fDefCanvasName; }
226  Bool_t GetEditHistograms() const { return fEditHistograms; }
227  Int_t GetEditorMode() const { return fEditorMode; }
228  Bool_t GetForceStyle() const { return fForceStyle; }
229  Int_t GetBuiltDate() const { return fBuiltDate; }
230  Int_t GetBuiltTime() const { return fBuiltTime; }
231  const char *GetGitCommit() const { return fGitCommit; }
232  const char *GetGitBranch() const { return fGitBranch; }
233  const char *GetGitDate();
234  Int_t GetVersionDate() const { return fVersionDate; }
235  Int_t GetVersionTime() const { return fVersionTime; }
236  Int_t GetVersionInt() const { return fVersionInt; }
237  Int_t GetVersionCode() const { return fVersionCode; }
238  const char *GetVersion() const { return fVersion; }
239  TCollection *GetListOfClasses() const { return fClasses; }
240  TSeqCollection *GetListOfColors() const { return fColors; }
241  TCollection *GetListOfTypes(Bool_t load = kFALSE);
242  TCollection *GetListOfGlobals(Bool_t load = kFALSE);
243  TCollection *GetListOfGlobalFunctions(Bool_t load = kFALSE);
244  TSeqCollection *GetListOfClosedObjects() const { return fClosedObjects; }
245  TSeqCollection *GetListOfFiles() const { return fFiles; }
246  TSeqCollection *GetListOfMappedFiles() const { return fMappedFiles; }
247  TSeqCollection *GetListOfSockets() const { return fSockets; }
248  TSeqCollection *GetListOfCanvases() const { return fCanvases; }
249  TSeqCollection *GetListOfStyles() const { return fStyles; }
250  TCollection *GetListOfFunctions() const { return fFunctions; }
251  TCollection *GetListOfFunctionOverloads(const char* name) const;
252  TSeqCollection *GetListOfGeometries() const { return fGeometries; }
253  TSeqCollection *GetListOfBrowsers() const { return fBrowsers; }
254  TSeqCollection *GetListOfSpecials() const { return fSpecials; }
255  TSeqCollection *GetListOfTasks() const { return fTasks; }
256  TSeqCollection *GetListOfCleanups() const { return fCleanups; }
257  TSeqCollection *GetListOfStreamerInfo() const { return fStreamerInfo; }
258  TSeqCollection *GetListOfMessageHandlers() const { return fMessageHandlers; }
259  TCollection *GetListOfClassGenerators() const { return fClassGenerators; }
260  TSeqCollection *GetListOfSecContexts() const { return fSecContexts; }
261  TSeqCollection *GetListOfProofs() const { return fProofs; }
262  TSeqCollection *GetClipboard() const { return fClipboard; }
263  TSeqCollection *GetListOfDataSets() const { return fDataSets; }
264  TCollection *GetListOfEnums(Bool_t load = kFALSE);
265  TCollection *GetListOfFunctionTemplates();
266  TList *GetListOfBrowsables() const { return fBrowsables; }
267  TDataType *GetType(const char *name, Bool_t load = kFALSE) const;
268  TFile *GetFile() const { if (gDirectory != this) return gDirectory->GetFile(); else return 0;}
269  TFile *GetFile(const char *name) const;
270  TFunctionTemplate*GetFunctionTemplate(const char *name);
271  TStyle *GetStyle(const char *name) const;
272  TObject *GetFunction(const char *name) const;
273  TGlobal *GetGlobal(const char *name, Bool_t load = kFALSE) const;
274  TGlobal *GetGlobal(const TObject *obj, Bool_t load = kFALSE) const;
275  TFunction *GetGlobalFunction(const char *name, const char *params = 0, Bool_t load = kFALSE);
276  TFunction *GetGlobalFunctionWithPrototype(const char *name, const char *proto = 0, Bool_t load = kFALSE);
277  TObject *GetGeometry(const char *name) const;
278  const TObject *GetSelectedPrimitive() const { return fPrimitive; }
279  TVirtualPad *GetSelectedPad() const { return fSelectPad; }
280  Int_t GetNclasses() const { return fClasses->GetSize(); }
281  Int_t GetNtypes() const { return fTypes->GetSize(); }
282  TFolder *GetRootFolder() const { return fRootFolder; }
283  TProcessUUID *GetUUIDs() const { return fUUIDs; }
284  const TString &GetWebDisplay() const { return fWebDisplay; }
285  void Idle(UInt_t idleTimeInSec, const char *command = 0);
286  Int_t IgnoreInclude(const char *fname, const char *expandedfname);
287  Bool_t IsBatch() const { return fBatch; }
288  Bool_t IsExecutingMacro() const { return fExecutingMacro; }
289  Bool_t IsFolder() const { return kTRUE; }
290  Bool_t IsInterrupted() const { return fInterrupt; }
291  Bool_t IsEscaped() const { return fEscape; }
292  Bool_t IsLineProcessing() const { return fLineIsProcessing ? kTRUE : kFALSE; }
293  Bool_t IsProofServ() const { return fName == "proofserv" ? kTRUE : kFALSE; }
294  Bool_t IsRootFile(const char *filename) const;
295  Bool_t IsWebDisplay() const { return fIsWebDisplay; }
296  Bool_t IsWebDisplayBatch() const { return fIsWebDisplayBatch; }
297  void ls(Option_t *option = "") const;
298  Int_t LoadClass(const char *classname, const char *libname, Bool_t check = kFALSE);
299  TClass *LoadClass(const char *name, Bool_t silent = kFALSE) const;
300  Int_t LoadMacro(const char *filename, Int_t *error = 0, Bool_t check = kFALSE);
301  Long_t Macro(const char *filename, Int_t *error = 0, Bool_t padUpdate = kTRUE);
302  TCanvas *MakeDefCanvas() const;
303  void Message(Int_t id, const TObject *obj);
304  Bool_t MustClean() const { return fMustClean; }
305  Long_t ProcessLine(const char *line, Int_t *error = 0);
306  Long_t ProcessLineSync(const char *line, Int_t *error = 0);
307  Long_t ProcessLineFast(const char *line, Int_t *error = 0);
308  Bool_t ReadingObject() const;
309  void RecursiveRemove(TObject *obj);
310  void RefreshBrowsers();
311  static void RegisterModule(const char* modulename,
312  const char** headers,
313  const char** includePaths,
314  const char* payLoadCode,
315  const char* fwdDeclCode,
316  void (*triggerFunc)(),
317  const FwdDeclArgsToKeepCollection_t& fwdDeclsArgToSkip,
318  const char** classesHeaders,
319  bool hasCxxModule = false);
320  TObject *Remove(TObject*);
321  void RemoveClass(TClass *);
322  void Reset(Option_t *option="");
323  void SaveContext();
324  void SetApplication(TApplication *app) { fApplication = app; }
325  void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; }
326  void SetWebDisplay(const char *webdisplay);
327  void SetCutClassName(const char *name = "TCutG");
328  void SetDefCanvasName(const char *name = "c1") { fDefCanvasName = name; }
329  void SetEditHistograms(Bool_t flag = kTRUE) { fEditHistograms = flag; }
330  void SetEditorMode(const char *mode = "");
331  void SetExecutingMacro(Bool_t flag = kTRUE) { fExecutingMacro = flag; }
332  void SetFromPopUp(Bool_t flag = kTRUE) { fFromPopUp = flag; }
333  void SetInterrupt(Bool_t flag = kTRUE) { fInterrupt = flag; }
334  void SetEscape(Bool_t flag = kTRUE) { fEscape = flag; }
335  void SetLineIsProcessing() { fLineIsProcessing++; }
336  void SetLineHasBeenProcessed() { if (fLineIsProcessing) fLineIsProcessing--; }
337  void SetReadingObject(Bool_t flag = kTRUE);
338  void SetMustClean(Bool_t flag = kTRUE) { fMustClean=flag; }
339  void SetSelectedPrimitive(const TObject *obj) { fPrimitive = obj; }
340  void SetSelectedPad(TVirtualPad *pad) { fSelectPad = pad; }
341  void SetStyle(const char *stylename = "Default");
342  void Time(Int_t casetime=1) { fTimer = casetime; }
343  Int_t Timer() const { return fTimer; }
344 
345  //---- static functions
346  static Int_t DecreaseDirLevel();
347  static Int_t GetDirLevel();
348  static const char *GetMacroPath();
349  static void SetMacroPath(const char *newpath);
350  static Int_t IncreaseDirLevel();
351  static void IndentLevel();
352  static Bool_t Initialized();
353  static Bool_t MemCheck();
354  static void SetDirLevel(Int_t level = 0);
355  static Int_t ConvertVersionCode2Int(Int_t code);
356  static Int_t ConvertVersionInt2Code(Int_t v);
357  static Int_t RootVersionCode();
358  static const char**&GetExtraInterpreterArgs();
359 
360  static const TString& GetRootSys();
361  static const TString& GetBinDir();
362  static const TString& GetLibDir();
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  static const TString& GetIconPath();
371  static const TString& GetTTFFontDir();
372 
373  // Backward compatibility function - do not use for new code
374  static const char *GetTutorialsDir();
375 
376  ClassDef(TROOT,0) //Top level (or root) structure for all classes
377 };
378 
379 
380 namespace ROOT {
381  TROOT *GetROOT();
382  namespace Internal {
384 
385  inline void SetRequireCleanup(TObject &obj) {
386  obj.SetBit(kIsReferenced);
387  obj.SetUniqueID(0);
388  }
389 
391  return obj.TestBit(kIsReferenced) && obj.GetUniqueID() == 0;
392  }
393  }
394 
395  /// \brief call RecursiveRemove for obj if gROOT is valid
396  /// and obj.TestBit(kMustCleanup) is true.
397  /// Note: this reset the kMustCleanup bit to allow
398  /// harmless multiple call to this function.
400  {
401  if (obj.TestBit(kMustCleanup)) {
403  if (root && root != &obj && (root->MustClean() || Internal::RequiresCleanup(obj))) {
404  root->RecursiveRemove(&obj);
405  obj.ResetBit(kMustCleanup);
406  }
407  }
408  }
409 }
410 #define gROOT (ROOT::GetROOT())
411 
412 #endif
TSeqCollection * fStreamerInfo
Definition: TROOT.h:167
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&#39;s init class (see the ClassImp macro).
Bool_t fExecutingMacro
Definition: TROOT.h:144
void SetSelectedPad(TVirtualPad *pad)
Definition: TROOT.h:340
virtual UInt_t GetUniqueID() const
Return the unique object id.
Definition: TObject.cxx:375
TListOfFunctionTemplates * fFuncTemplate
Definition: TROOT.h:150
UInt_t GetImplicitMTPoolSize()
Returns the size of the pool used for implicit multi-threading.
Definition: TROOT.cxx:614
Int_t GetNtypes() const
Definition: TROOT.h:281
const TObject * GetSelectedPrimitive() const
Definition: TROOT.h:278
A TFolder object is a collection of objects and folders.
Definition: TFolder.h:30
Bool_t GetForceStyle() const
Definition: TROOT.h:228
A collection of TDataMember objects designed for fast access given a DeclId_t and for keep track of T...
TList * GetListOfBrowsables() const
Definition: TROOT.h:266
This class defines an abstract interface to a generic command line interpreter.
Definition: TInterpreter.h:60
TFolder * fRootFolder
Definition: TROOT.h:175
Bool_t IsWebDisplay() const
Definition: TROOT.h:295
void SetDefCanvasName(const char *name="c1")
Definition: TROOT.h:328
TSeqCollection * GetListOfMappedFiles() const
Definition: TROOT.h:246
ROOT top level object description.
Definition: TROOT.h:100
This class is a specialized TProcessID managing the list of UUIDs.
Definition: TProcessUUID.h:32
TSeqCollection * fProofs
Definition: TROOT.h:170
Bool_t IsEscaped() const
Definition: TROOT.h:291
void SetLineIsProcessing()
Definition: TROOT.h:335
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21
TSeqCollection * GetListOfCleanups() const
Definition: TROOT.h:256
TCollection * GetListOfClasses() const
Definition: TROOT.h:239
TLine * line
void CallRecursiveRemoveIfNeeded(TObject &obj)
call RecursiveRemove for obj if gROOT is valid and obj.TestBit(kMustCleanup) is true.
Definition: TROOT.h:399
TSeqCollection * fGeometries
Definition: TROOT.h:162
TCollection * GetListOfClassGenerators() const
Definition: TROOT.h:259
const char Option_t
Definition: RtypesCore.h:62
Dictionary for function template This class describes one single function template.
void DisableImplicitMT()
Disables the implicit multi-threading in ROOT (see EnableImplicitMT).
Definition: TROOT.cxx:593
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
Int_t fVersionDate
Definition: TROOT.h:123
void SetExecutingMacro(Bool_t flag=kTRUE)
Definition: TROOT.h:331
Int_t GetVersionInt() const
Definition: TROOT.h:236
Bool_t fForceStyle
Definition: TROOT.h:141
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TROOT.h:289
TProcessUUID * GetUUIDs() const
Definition: TROOT.h:283
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
Definition: TFile.h:47
TString fVersion
Definition: TROOT.h:120
const char * GetConfigFeatures() const
Definition: TROOT.h:223
This class implements a mutex interface.
Definition: TVirtualMutex.h:34
void DisableParTreeProcessing()
Globally disables the IMT use case of parallel branch processing, deactivating the corresponding lock...
Definition: TROOT.cxx:482
Int_t GetVersionDate() const
Definition: TROOT.h:234
TROOT * GetROOT2()
Definition: TROOT.cxx:384
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
Basic string class.
Definition: TString.h:131
TString & GetMacroPath()
Definition: TROOT.cxx:524
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
R__EXTERN TVirtualMutex * gROOTMutex
Definition: TROOT.h:57
Int_t fVersionCode
Definition: TROOT.h:122
Int_t GetBuiltDate() const
Definition: TROOT.h:229
Type GetType(const std::string &Name)
Definition: Systematics.cxx:34
const char * GetCutClassName() const
Definition: TROOT.h:224
std::atomic< TApplication * > fApplication
Definition: TROOT.h:131
TString fGitCommit
Definition: TROOT.h:127
const char * GetDefCanvasName() const
Definition: TROOT.h:225
Int_t GetVersionCode() const
Definition: TROOT.h:237
Bool_t FromPopUp() const
Definition: TROOT.h:215
void SetBatch(Bool_t batch=kTRUE)
Definition: TROOT.h:325
void ForceStyle(Bool_t force=kTRUE)
Definition: TROOT.h:214
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:694
TString fCutClassName
Definition: TROOT.h:178
static Int_t fgDirLevel
Definition: TROOT.h:108
TInterpreter * fInterpreter
Definition: TROOT.h:132
AListOfEnums_t fEnums
Definition: TROOT.h:173
TSeqCollection * fMappedFiles
Definition: TROOT.h:155
TClass * GetClass(T *)
Definition: TClass.h:577
Sequenceable collection abstract base class.
Int_t fVersionInt
Definition: TROOT.h:121
#define ClassDef(name, id)
Definition: Rtypes.h:320
Bool_t IsParTreeProcessingEnabled()
Returns true if parallel tree processing is enabled.
Definition: TROOT.cxx:495
TSeqCollection * fCleanups
Definition: TROOT.h:165
Int_t fEditorMode
Definition: TROOT.h:145
Bool_t fMustClean
Definition: TROOT.h:139
void SetEscape(Bool_t flag=kTRUE)
Definition: TROOT.h:334
static Bool_t fgRootInit
Definition: TROOT.h:109
TSeqCollection * GetListOfSpecials() const
Definition: TROOT.h:254
void EnableParTreeProcessing()
Globally enables the parallel tree processing, which is a case of implicit multi-threading in ROOT...
Definition: TROOT.cxx:466
TPluginManager * GetPluginManager() const
Definition: TROOT.h:216
const char * GetConfigOptions() const
Definition: TROOT.h:222
Bool_t IsLineProcessing() const
Definition: TROOT.h:292
void SetFromPopUp(Bool_t flag=kTRUE)
Definition: TROOT.h:332
void SetMustClean(Bool_t flag=kTRUE)
Definition: TROOT.h:338
Bool_t IsInterrupted() const
Definition: TROOT.h:290
Int_t GetNclasses() const
Definition: TROOT.h:280
TString fWebDisplay
Definition: TROOT.h:134
TSeqCollection * fClipboard
Definition: TROOT.h:171
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:49
TCollection * GetListOfFunctions() const
Definition: TROOT.h:250
TSeqCollection * GetListOfClosedObjects() const
Definition: TROOT.h:244
Bool_t fEscape
Definition: TROOT.h:143
TSeqCollection * fFiles
Definition: TROOT.h:154
TSeqCollection * GetListOfGeometries() const
Definition: TROOT.h:252
void EnableImplicitMT(UInt_t numthreads=0)
Enable ROOT&#39;s implicit multi-threading for all objects and methods that provide an internal paralleli...
Definition: TROOT.cxx:576
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
Definition: TObject.cxx:705
TCollection * fClasses
Definition: TROOT.h:148
A doubly linked list.
Definition: TList.h:44
TStyle objects may be created to define special styles.
Definition: TStyle.h:27
R__EXTERN TROOT * gROOTLocal
Definition: TROOT.h:383
Bool_t fEditHistograms
Definition: TROOT.h:137
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
Int_t fVersionTime
Definition: TROOT.h:124
void Time(Int_t casetime=1)
Definition: TROOT.h:342
static Bool_t fgMemCheck
Definition: TROOT.h:110
Bool_t IsParBranchProcessingEnabled()
Returns true if parallel branch processing is enabled.
Definition: TROOT.cxx:446
TSeqCollection * fDataSets
Definition: TROOT.h:172
TSeqCollection * fMessageHandlers
Definition: TROOT.h:166
void RemoveClass(const char *cname)
Global function called by the dtor of a class&#39;s init class (see the ClassImp macro).
TString fDefCanvasName
Definition: TROOT.h:179
SVector< double, 2 > v
Definition: Dict.h:5
Bool_t MustClean() const
Definition: TROOT.h:304
Basic data type descriptor (datatype information is obtained from CINT).
Definition: TDataType.h:44
TFolder * GetRootFolder() const
Definition: TROOT.h:282
TPluginManager * fPluginManager
Definition: TROOT.h:177
std::atomic< TListOfEnums * > AListOfEnums_t
Definition: TROOT.h:116
TString fGitBranch
Definition: TROOT.h:128
TSeqCollection * GetListOfCanvases() const
Definition: TROOT.h:248
TSeqCollection * GetListOfDataSets() const
Definition: TROOT.h:263
TSeqCollection * fSecContexts
Definition: TROOT.h:169
Collection abstract base class.
Definition: TCollection.h:63
void(* VoidFuncPtr_t)()
Definition: Rtypes.h:72
TSeqCollection * GetListOfSecContexts() const
Definition: TROOT.h:260
unsigned int UInt_t
Definition: RtypesCore.h:42
void SetApplication(TApplication *app)
Definition: TROOT.h:324
Bool_t RequiresCleanup(TObject &obj)
Definition: TROOT.h:390
This class implements a plugin library manager.
Objects following this interface can be passed onto the TROOT object to implement a user customized w...
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:75
TFile * GetFile() const
Definition: TROOT.h:268
Int_t GetBuiltTime() const
Definition: TROOT.h:230
Int_t GetEditorMode() const
Definition: TROOT.h:227
Global variables class (global variables are obtained from CINT).
Definition: TGlobal.h:27
void Reset(Detail::TBranchProxy *x)
TROOT * GetROOT()
Definition: TROOT.cxx:520
Bool_t GetEditHistograms() const
Definition: TROOT.h:226
Int_t Timer() const
Definition: TROOT.h:343
TInterpreter * GetInterpreter() const
Definition: TROOT.h:218
TSeqCollection * fSpecials
Definition: TROOT.h:164
const Bool_t kFALSE
Definition: RtypesCore.h:88
TString fGitDate
Definition: TROOT.h:129
long Long_t
Definition: RtypesCore.h:50
The Canvas class.
Definition: TCanvas.h:31
Bool_t IsExecutingMacro() const
Definition: TROOT.h:288
TSeqCollection * GetListOfColors() const
Definition: TROOT.h:240
TListOfFunctions * fGlobalFunctions
Definition: TROOT.h:152
Bool_t IsWebDisplayBatch() const
Definition: TROOT.h:296
TSeqCollection * fCanvases
Definition: TROOT.h:157
TSeqCollection * GetListOfSockets() const
Definition: TROOT.h:247
TVirtualPad * GetSelectedPad() const
Definition: TROOT.h:279
void EnableThreadSafety()
Enables the global mutex to make ROOT thread safe/aware.
Definition: TROOT.cxx:546
void SetEditHistograms(Bool_t flag=kTRUE)
Definition: TROOT.h:329
TString fConfigOptions
Definition: TROOT.h:118
void RecursiveRemove(TObject *obj)
Recursively remove this object from the list of Cleanups.
Definition: TROOT.cxx:2479
Describe directory structure in memory.
Definition: TDirectory.h:34
TSeqCollection * GetListOfStyles() const
Definition: TROOT.h:249
TSeqCollection * GetListOfFiles() const
Definition: TROOT.h:245
Int_t GetVersionTime() const
Definition: TROOT.h:235
Bool_t fFromPopUp
Definition: TROOT.h:138
Int_t fTimer
Definition: TROOT.h:130
void EnableParBranchProcessing()
Globally enables the parallel branch processing, which is a case of implicit multi-threading (IMT) in...
Definition: TROOT.cxx:417
Bool_t fBatch
Definition: TROOT.h:133
The color creation and management class.
Definition: TColor.h:19
TSeqCollection * fStyles
Definition: TROOT.h:158
void SetInterrupt(Bool_t flag=kTRUE)
Definition: TROOT.h:333
Bool_t fReadingObject
Definition: TROOT.h:140
TSeqCollection * GetListOfStreamerInfo() const
Definition: TROOT.h:257
TCollection * fClassGenerators
Definition: TROOT.h:168
const char * GetGitCommit() const
Definition: TROOT.h:231
Binding & operator=(OUT(*fun)(void))
Bool_t IsProofServ() const
Definition: TROOT.h:293
Int_t fBuiltTime
Definition: TROOT.h:126
Mother of all ROOT objects.
Definition: TObject.h:37
void GetColor(Float_t v, Float_t vmin, Float_t vmax, Int_t type, Float_t *rgba)
This function creates color for parametric surface&#39;s vertex, using its &#39;u&#39; value. ...
Definition: TGLUtil.cxx:3844
Global functions class (global functions are obtained from CINT).
Definition: TFunction.h:28
Bool_t fIsWebDisplay
Definition: TROOT.h:135
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
Definition: TROOT.h:195
Bool_t IsBatch() const
Definition: TROOT.h:287
#define R__EXTERN
Definition: DllImport.h:27
Int_t fBuiltDate
Definition: TROOT.h:125
const char * GetGitBranch() const
Definition: TROOT.h:232
Bool_t fIsWebDisplayBatch
Definition: TROOT.h:136
TCollection * fFunctions
Definition: TROOT.h:159
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
Definition: TListOfEnums.h:32
auto * l
Definition: textangle.C:4
TListOfDataMembers * fGlobals
Definition: TROOT.h:151
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled.
Definition: TROOT.cxx:607
TSeqCollection * fClosedObjects
Definition: TROOT.h:153
TSeqCollection * GetClipboard() const
Definition: TROOT.h:262
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition: TRolke.cxx:630
Int_t fLineIsProcessing
Definition: TROOT.h:106
TSeqCollection * fTasks
Definition: TROOT.h:160
TSeqCollection * fColors
Definition: TROOT.h:161
TCollection * fTypes
Definition: TROOT.h:149
const char * proto
Definition: civetweb.c:15049
void SetSelectedPrimitive(const TObject *obj)
Definition: TROOT.h:339
TSeqCollection * fBrowsers
Definition: TROOT.h:163
TSeqCollection * GetListOfProofs() const
Definition: TROOT.h:261
#define gDirectory
Definition: TDirectory.h:213
void ResetBit(UInt_t f)
Definition: TObject.h:171
This class creates the ROOT Application Environment that interfaces to the windowing system eventloop...
Definition: TApplication.h:39
TList * fBrowsables
Definition: TROOT.h:176
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
TSeqCollection * fSockets
Definition: TROOT.h:156
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition: TCollection.h:182
Bool_t fInterrupt
Definition: TROOT.h:142
TSeqCollection * GetListOfMessageHandlers() const
Definition: TROOT.h:258
TSeqCollection * GetListOfBrowsers() const
Definition: TROOT.h:253
const Bool_t kTRUE
Definition: RtypesCore.h:87
void SetLineHasBeenProcessed()
Definition: TROOT.h:336
char name[80]
Definition: TGX11.cxx:109
TString fConfigFeatures
Definition: TROOT.h:119
TProcessUUID * fUUIDs
Definition: TROOT.h:174
TSeqCollection * GetListOfTasks() const
Definition: TROOT.h:255
void DisableParBranchProcessing()
Globally disables the IMT use case of parallel branch processing, deactivating the corresponding lock...
Definition: TROOT.cxx:433
const TObject * fPrimitive
Definition: TROOT.h:146
void SetRequireCleanup(TObject &obj)
Definition: TROOT.h:385
TVirtualPad * fSelectPad
Definition: TROOT.h:147
const TString & GetWebDisplay() const
Definition: TROOT.h:284
TApplication * GetApplication() const
Definition: TROOT.h:217
const char * GetVersion() const
Definition: TROOT.h:238