ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 accessable 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 #ifndef ROOT_TDirectory
29 #include "TDirectory.h"
30 #endif
31 #ifndef ROOT_TList
32 #include "TList.h"
33 #endif
34 #ifndef ROOT_RConfigure
35 #include "RConfigure.h"
36 #endif
37 
38 #include <atomic>
39 
40 class TClass;
41 class TCanvas;
42 class TColor;
43 class TDataType;
44 class TFile;
45 class TStyle;
46 class TVirtualPad;
47 class TApplication;
48 class TInterpreter;
49 class TBrowser;
50 class TGlobal;
51 class TFunction;
52 class TFolder;
53 class TPluginManager;
54 class TProcessUUID;
55 class TClassGenerator;
56 class TVirtualMutex;
57 class TROOT;
58 class TListOfDataMembers;
59 class TListOfEnums;
60 class TListOfFunctions;
62 class TFunctionTemplate;
64 
66 
67 namespace ROOT {
68 namespace Internal {
69  class TROOTAllocator;
70 
71  TROOT *GetROOT2();
72 } } // End ROOT::Internal
73 
74 namespace ROOT {
75  // Enable support for multi-threading within the ROOT code,
76  // in particular, enables the global mutex to make ROOT thread safe/aware.
77  void EnableThreadSafety();
78  // Manage implicit multi-threading within ROOT
79  void EnableImplicitMT(UInt_t numthreads = 0);
80  void DisableImplicitMT();
82 }
83 
84 class TROOT : public TDirectory {
85 
86 friend class TCling;
88 
89 private:
90  Int_t fLineIsProcessing; //To synchronize multi-threads
91 
92  static Int_t fgDirLevel; //Indentation level for ls()
93  static Bool_t fgRootInit; //Singleton initialization flag
94  static Bool_t fgMemCheck; //Turn on memory leak checker
95 
96  TROOT(const TROOT&); //Not implemented
97  TROOT& operator=(const TROOT&); //Not implemented
98 
99 protected:
100  typedef std::atomic<TListOfEnums*> AListOfEnums_t;
101 
102  TString fConfigOptions; //ROOT ./configure set build options
103  TString fConfigFeatures; //ROOT ./configure detected build features
104  TString fVersion; //ROOT version (from CMZ VERSQQ) ex 0.05/01
105  Int_t fVersionInt; //ROOT version in integer format (501)
106  Int_t fVersionCode; //ROOT version code as used in RVersion.h
107  Int_t fVersionDate; //Date of ROOT version (ex 951226)
108  Int_t fVersionTime; //Time of ROOT version (ex 1152)
109  Int_t fBuiltDate; //Date of ROOT built
110  Int_t fBuiltTime; //Time of ROOT built
111  TString fGitCommit; //Git commit SHA1 of built
112  TString fGitBranch; //Git branch
113  TString fGitDate; //Date and time when make was run
114  Int_t fTimer; //Timer flag
115  std::atomic<TApplication*> fApplication; //Pointer to current application
116  TInterpreter *fInterpreter; //Command interpreter
117  Bool_t fBatch; //True if session without graphics
118  Bool_t fEditHistograms; //True if histograms can be edited with the mouse
119  Bool_t fFromPopUp; //True if command executed from a popup menu
120  Bool_t fMustClean; //True if object destructor scans canvases
121  Bool_t fReadingObject; //True while reading an object [Deprecated (will be removed in next release)
122  Bool_t fForceStyle; //Force setting of current style when reading objects
123  Bool_t fInterrupt; //True if macro should be interrupted
124  Bool_t fEscape; //True if ESC has been pressed
125  Bool_t fExecutingMacro; //True while executing a TMacro
126  Int_t fEditorMode; //Current Editor mode
127  const TObject *fPrimitive; //Currently selected primitive
128  TVirtualPad *fSelectPad; //Currently selected pad
129  TCollection *fClasses; //List of classes definition
130  TCollection *fTypes; //List of data types definition
131  TListOfFunctionTemplates *fFuncTemplate; //List of global function templates
132  TListOfDataMembers*fGlobals; //List of global variables
133  TListOfFunctions*fGlobalFunctions; //List of global functions
134  TSeqCollection *fClosedObjects; //List of closed objects from the list of files and sockets, so we can delete them if neededCl.
135  TSeqCollection *fFiles; //List of files
136  TSeqCollection *fMappedFiles; //List of memory mapped files
137  TSeqCollection *fSockets; //List of network sockets
138  TSeqCollection *fCanvases; //List of canvases
139  TSeqCollection *fStyles; //List of styles
140  TCollection *fFunctions; //List of analytic functions
141  TSeqCollection *fTasks; //List of tasks
142  TSeqCollection *fColors; //List of colors
143  TSeqCollection *fGeometries; //List of geometries
144  TSeqCollection *fBrowsers; //List of browsers
145  TSeqCollection *fSpecials; //List of special objects
146  TSeqCollection *fCleanups; //List of recursiveRemove collections
147  TSeqCollection *fMessageHandlers; //List of message handlers
148  TSeqCollection *fStreamerInfo; //List of active StreamerInfo classes
149  TCollection *fClassGenerators; //List of user defined class generators;
150  TSeqCollection *fSecContexts; //List of security contexts (TSecContext)
151  TSeqCollection *fProofs; //List of proof sessions
152  TSeqCollection *fClipboard; //List of clipbard objects
153  TSeqCollection *fDataSets; //List of data sets (TDSet or TChain)
154  AListOfEnums_t fEnums; //List of enum types
155  TProcessUUID *fUUIDs; //Pointer to TProcessID managing TUUIDs
156  TFolder *fRootFolder; //top level folder //root
157  TList *fBrowsables; //List of browsables
158  TPluginManager *fPluginManager; //Keeps track of plugin library handlers
159  TString fCutClassName; //Name of default CutG class in graphics editor
160  TString fDefCanvasName; //Name of default canvas
161 
162  TROOT(); //Only used by Dictionary
163  void InitSystem(); //Operating System interface
164  void InitThreads(); //Initialize threads library
165  void InitInterpreter(); //Initialize interpreter (cling)
166  void ReadGitInfo(); //Read Git commit SHA1 and branch name
167  void *operator new(size_t l) { return TObject::operator new(l); }
168  void *operator new(size_t l, void *ptr) { return TObject::operator new(l,ptr); }
169 
170  friend class ::ROOT::Internal::TROOTAllocator;
171 
173 
174 public:
175 
176  typedef std::vector<std::pair<std::string, int> > FwdDeclArgsToKeepCollection_t;
177 
178  TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc = 0);
179  virtual ~TROOT();
180  void AddClass(TClass *cl);
182  void Browse(TBrowser *b);
183  Bool_t ClassSaved(TClass *cl);
184  void CloseFiles();
185  void EndOfProcessCleanups();
186  virtual TObject *FindObject(const char *name) const;
187  virtual TObject *FindObject(const TObject *obj) const;
188  virtual TObject *FindObjectAny(const char *name) const;
189  virtual TObject *FindObjectAnyFile(const char *name) const;
190  TObject *FindSpecialObject(const char *name, void *&where);
191  const char *FindObjectClassName(const char *name) const;
192  const char *FindObjectPathName(const TObject *obj) const;
193  TClass *FindSTLClass(const char *name, Bool_t load, Bool_t silent = kFALSE) const;
194  void ForceStyle(Bool_t force = kTRUE) { fForceStyle = force; }
195  Bool_t FromPopUp() const { return fFromPopUp; }
199  TClass *GetClass(const char *name, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
200  TClass *GetClass(const type_info &typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
201  TColor *GetColor(Int_t color) const;
202  const char *GetConfigOptions() const { return fConfigOptions; }
203  const char *GetConfigFeatures() const { return fConfigFeatures; }
204  const char *GetCutClassName() const { return fCutClassName; }
205  const char *GetDefCanvasName() const { return fDefCanvasName; }
207  Int_t GetEditorMode() const { return fEditorMode; }
208  Bool_t GetForceStyle() const { return fForceStyle; }
209  Int_t GetBuiltDate() const { return fBuiltDate; }
210  Int_t GetBuiltTime() const { return fBuiltTime; }
211  const char *GetGitCommit() const { return fGitCommit; }
212  const char *GetGitBranch() const { return fGitBranch; }
213  const char *GetGitDate();
214  Int_t GetVersionDate() const { return fVersionDate; }
215  Int_t GetVersionTime() const { return fVersionTime; }
216  Int_t GetVersionInt() const { return fVersionInt; }
217  Int_t GetVersionCode() const { return fVersionCode; }
218  const char *GetVersion() const { return fVersion; }
219  TCollection *GetListOfClasses() const { return fClasses; }
225  TSeqCollection *GetListOfFiles() const { return fFiles; }
231  TCollection *GetListOfFunctionOverloads(const char* name) const;
235  TSeqCollection *GetListOfTasks() const { return fTasks; }
246  TList *GetListOfBrowsables() const { return fBrowsables; }
247  TDataType *GetType(const char *name, Bool_t load = kFALSE) const;
248  TFile *GetFile() const { if (gDirectory != this) return gDirectory->GetFile(); else return 0;}
249  TFile *GetFile(const char *name) const;
251  TStyle *GetStyle(const char *name) const;
252  TObject *GetFunction(const char *name) const;
253  TGlobal *GetGlobal(const char *name, Bool_t load = kFALSE) const;
254  TGlobal *GetGlobal(const TObject *obj, Bool_t load = kFALSE) const;
255  TFunction *GetGlobalFunction(const char *name, const char *params = 0, Bool_t load = kFALSE);
256  TFunction *GetGlobalFunctionWithPrototype(const char *name, const char *proto = 0, Bool_t load = kFALSE);
257  TObject *GetGeometry(const char *name) const;
258  const TObject *GetSelectedPrimitive() const { return fPrimitive; }
259  TVirtualPad *GetSelectedPad() const { return fSelectPad; }
260  Int_t GetNclasses() const { return fClasses->GetSize(); }
261  Int_t GetNtypes() const { return fTypes->GetSize(); }
262  TFolder *GetRootFolder() const { return fRootFolder; }
263  TProcessUUID *GetUUIDs() const { return fUUIDs; }
264  void Idle(UInt_t idleTimeInSec, const char *command = 0);
265  Int_t IgnoreInclude(const char *fname, const char *expandedfname);
266  Bool_t IsBatch() const { return fBatch; }
268  Bool_t IsFolder() const { return kTRUE; }
269  Bool_t IsInterrupted() const { return fInterrupt; }
270  Bool_t IsEscaped() const { return fEscape; }
272  Bool_t IsProofServ() const { return fName == "proofserv" ? kTRUE : kFALSE; }
273  Bool_t IsRootFile(const char *filename) const;
274  void ls(Option_t *option = "") const;
275  Int_t LoadClass(const char *classname, const char *libname, Bool_t check = kFALSE);
276  TClass *LoadClass(const char *name, Bool_t silent = kFALSE) const;
277  Int_t LoadMacro(const char *filename, Int_t *error = 0, Bool_t check = kFALSE);
278  Long_t Macro(const char *filename, Int_t *error = 0, Bool_t padUpdate = kTRUE);
279  TCanvas *MakeDefCanvas() const;
280  void Message(Int_t id, const TObject *obj);
281  Bool_t MustClean() const { return fMustClean; }
282  Long_t ProcessLine(const char *line, Int_t *error = 0);
283  Long_t ProcessLineSync(const char *line, Int_t *error = 0);
284  Long_t ProcessLineFast(const char *line, Int_t *error = 0);
285  Bool_t ReadingObject() const;
286  void RefreshBrowsers();
287  static void RegisterModule(const char* modulename,
288  const char** headers,
289  const char** includePaths,
290  const char* payLoadCode,
291  const char* fwdDeclCode,
292  void (*triggerFunc)(),
293  const FwdDeclArgsToKeepCollection_t& fwdDeclsArgToSkip,
294  const char** classesHeaders);
295  void RemoveClass(TClass *);
296  void Reset(Option_t *option="");
297  void SaveContext();
299  void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; }
300  void SetCutClassName(const char *name = "TCutG");
301  void SetDefCanvasName(const char *name = "c1") { fDefCanvasName = name; }
303  void SetEditorMode(const char *mode = "");
305  void SetFromPopUp(Bool_t flag = kTRUE) { fFromPopUp = flag; }
306  void SetInterrupt(Bool_t flag = kTRUE) { fInterrupt = flag; }
307  void SetEscape(Bool_t flag = kTRUE) { fEscape = flag; }
310  void SetReadingObject(Bool_t flag = kTRUE);
311  void SetMustClean(Bool_t flag = kTRUE) { fMustClean=flag; }
314  void SetStyle(const char *stylename = "Default");
315  void Time(Int_t casetime=1) { fTimer = casetime; }
316  Int_t Timer() const { return fTimer; }
317 
318  //---- static functions
319  static Int_t DecreaseDirLevel();
320  static Int_t GetDirLevel();
321  static const char *GetMacroPath();
322  static void SetMacroPath(const char *newpath);
323  static Int_t IncreaseDirLevel();
324  static void IndentLevel();
325  static Bool_t Initialized();
326  static Bool_t MemCheck();
327  static void SetDirLevel(Int_t level = 0);
328  static Int_t ConvertVersionCode2Int(Int_t code);
330  static Int_t RootVersionCode();
331  static const char**&GetExtraInterpreterArgs();
332  static const char *GetTutorialsDir();
333 
334  ClassDef(TROOT,0) //Top level (or root) structure for all classes
335 };
336 
337 
338 namespace ROOT {
339  TROOT *GetROOT();
340  namespace Internal {
342  }
343 }
344 #define gROOT (ROOT::GetROOT())
345 
346 #endif
TSeqCollection * fStreamerInfo
Definition: TROOT.h:148
TSeqCollection * GetListOfMappedFiles() const
Definition: TROOT.h:226
Bool_t fExecutingMacro
Definition: TROOT.h:125
void SetSelectedPad(TVirtualPad *pad)
Definition: TROOT.h:313
void AddClass(TClass *cl)
Add a class to the list and map of classes.
Definition: TROOT.cxx:827
TListOfFunctionTemplates * fFuncTemplate
Definition: TROOT.h:131
A TFolder object is a collection of objects and folders.
Definition: TFolder.h:32
A collection of TDataMember objects designed for fast access given a DeclId_t and for keep track of T...
This class defines an abstract interface to a generic command line interpreter.
Definition: TInterpreter.h:50
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
Definition: TROOT.cxx:2430
const char * GetConfigFeatures() const
Definition: TROOT.h:203
TFolder * fRootFolder
Definition: TROOT.h:156
void SetDefCanvasName(const char *name="c1")
Definition: TROOT.h:301
TCollection * GetListOfEnums(Bool_t load=kFALSE)
Definition: TROOT.cxx:1463
ROOT top level object description.
Definition: TROOT.h:84
This class is a specialized TProcessID managing the list of UUIDs.
Definition: TProcessUUID.h:34
TSeqCollection * fProofs
Definition: TROOT.h:151
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:1204
void RemoveClass(TClass *)
Remove a class from the list and map of classes.
Definition: TROOT.cxx:2312
TCollection * GetListOfGlobalFunctions(Bool_t load=kFALSE)
Return list containing the TFunctions currently defined.
Definition: TROOT.cxx:1532
void SetLineIsProcessing()
Definition: TROOT.h:308
Int_t LoadMacro(const char *filename, Int_t *error=0, Bool_t check=kFALSE)
Load a macro in the interpreter's memory.
Definition: TROOT.cxx:1955
static const char **& GetExtraInterpreterArgs()
Definition: TROOT.cxx:2559
TLine * line
TSeqCollection * fGeometries
Definition: TROOT.h:143
TList * GetListOfBrowsables() const
Definition: TROOT.h:246
TStyle * GetStyle(const char *name) const
Return pointer to style with name.
Definition: TROOT.cxx:1299
virtual TObject * FindObject(const char *name) const
Returns address of a ROOT object if it exists.
Definition: TROOT.cxx:1037
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.
Definition: TROOT.cxx:428
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
void EnableImplicitMT(UInt_t numthreads=0)
Globally enables the implicit multi-threading in ROOT, activating the parallel execution of those met...
Definition: TROOT.cxx:419
Int_t fVersionDate
Definition: TROOT.h:107
void SetExecutingMacro(Bool_t flag=kTRUE)
Definition: TROOT.h:304
Bool_t fForceStyle
Definition: TROOT.h:122
const TObject * GetSelectedPrimitive() const
Definition: TROOT.h:258
static Int_t RootVersionCode()
Return ROOT version code as defined in RVersion.h.
Definition: TROOT.cxx:2552
Bool_t IsBatch() const
Definition: TROOT.h:266
static Bool_t MemCheck()
Return kTRUE if the memory leak checker is on.
Definition: TROOT.cxx:2517
TVirtualPad * GetSelectedPad() const
Definition: TROOT.h:259
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
Definition: TFile.h:45
TString fVersion
Definition: TROOT.h:104
const char * GetGitCommit() const
Definition: TROOT.h:211
This class implements a mutex interface.
Definition: TVirtualMutex.h:34
static const char * filename()
void InitInterpreter()
Initialize the interpreter.
Definition: TROOT.cxx:1745
TROOT * GetROOT2()
Definition: TROOT.cxx:358
Basic string class.
Definition: TString.h:137
TSeqCollection * GetListOfStyles() const
Definition: TROOT.h:229
TCollection * GetListOfFunctions() const
Definition: TROOT.h:230
void RefreshBrowsers()
Refresh all browsers.
Definition: TROOT.cxx:2207
void ls(Option_t *option="") const
To list all objects of the application.
Definition: TROOT.cxx:1937
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TSeqCollection * GetListOfColors() const
Definition: TROOT.h:220
R__EXTERN TVirtualMutex * gROOTMutex
Definition: TROOT.h:63
const Bool_t kFALSE
Definition: Rtypes.h:92
Int_t fVersionCode
Definition: TROOT.h:106
Bool_t IsLineProcessing() const
Definition: TROOT.h:271
void Reset(Option_t *option="")
Delete all global interpreter objects created since the last call to Reset.
Definition: TROOT.cxx:2335
Bool_t GetEditHistograms() const
Definition: TROOT.h:206
TCollection * GetListOfFunctionOverloads(const char *name) const
Return the collection of functions named "name".
Definition: TROOT.cxx:1381
TProcessUUID * GetUUIDs() const
Definition: TROOT.h:263
std::atomic< TApplication * > fApplication
Definition: TROOT.h:115
void SetStyle(const char *stylename="Default")
Change current style to style with name stylename.
Definition: TROOT.cxx:2414
TCollection * GetListOfGlobals(Bool_t load=kFALSE)
Return list containing the TGlobals currently defined.
Definition: TROOT.cxx:1497
TString fGitCommit
Definition: TROOT.h:111
void SetBatch(Bool_t batch=kTRUE)
Definition: TROOT.h:299
TObject * GetGeometry(const char *name) const
Return pointer to Geometry with name.
Definition: TROOT.cxx:1456
TSeqCollection * GetListOfBrowsers() const
Definition: TROOT.h:233
void ForceStyle(Bool_t force=kTRUE)
Definition: TROOT.h:194
TString fCutClassName
Definition: TROOT.h:159
static const char * GetTutorialsDir()
Get the tutorials directory in the installation. Static utility function.
Definition: TROOT.cxx:2567
TListOfFunctions * GetGlobalFunctions()
Internal routine returning, and creating if necessary, the list of global function.
Definition: TROOT.cxx:1372
const char * GetVersion() const
Definition: TROOT.h:218
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:1238
static Int_t fgDirLevel
Definition: TROOT.h:92
static const char * GetMacroPath()
Get macro search path. Static utility function.
Definition: TROOT.cxx:2446
TInterpreter * fInterpreter
Definition: TROOT.h:116
TROOT & operator=(const TROOT &)
const char * GetGitDate()
Return date/time make was run.
Definition: TROOT.cxx:2182
AListOfEnums_t fEnums
Definition: TROOT.h:154
TPluginManager * GetPluginManager() const
Definition: TROOT.h:196
TSeqCollection * fMappedFiles
Definition: TROOT.h:136
Sequenceable collection abstract base class.
TSeqCollection * GetListOfDataSets() const
Definition: TROOT.h:243
Int_t fVersionInt
Definition: TROOT.h:105
#define ClassDef(name, id)
Definition: Rtypes.h:254
Int_t Timer() const
Definition: TROOT.h:316
void SetEditorMode(const char *mode="")
Set editor mode.
Definition: TROOT.cxx:2388
const char * FindObjectClassName(const char *name) const
Returns class name of a ROOT object including CINT globals.
Definition: TROOT.cxx:1173
Bool_t IsEscaped() const
Definition: TROOT.h:270
TSeqCollection * fCleanups
Definition: TROOT.h:146
Int_t fEditorMode
Definition: TROOT.h:126
Bool_t fMustClean
Definition: TROOT.h:120
static Bool_t Initialized()
Return kTRUE if the TROOT object has been initialized.
Definition: TROOT.cxx:2509
void EndOfProcessCleanups()
Execute the cleanups necessary at the end of the process, in particular those that must be executed b...
Definition: TROOT.cxx:989
void SetEscape(Bool_t flag=kTRUE)
Definition: TROOT.h:307
static Bool_t fgRootInit
Definition: TROOT.h:93
Long_t ProcessLineSync(const char *line, Int_t *error=0)
Process interpreter command via TApplication::ProcessLine().
Definition: TROOT.cxx:2077
TSeqCollection * GetListOfStreamerInfo() const
Definition: TROOT.h:237
void Message(Int_t id, const TObject *obj)
Process message id called by obj.
Definition: TROOT.cxx:2037
Int_t GetVersionTime() const
Definition: TROOT.h:215
TCollection * GetListOfFunctionTemplates()
Definition: TROOT.cxx:1480
void SetFromPopUp(Bool_t flag=kTRUE)
Definition: TROOT.h:305
void SetMustClean(Bool_t flag=kTRUE)
Definition: TROOT.h:311
Bool_t GetForceStyle() const
Definition: TROOT.h:208
TApplication * GetApplication() const
Definition: TROOT.h:197
void SaveContext()
Save the current interpreter context.
Definition: TROOT.cxx:2355
TCollection * GetListOfClasses() const
Definition: TROOT.h:219
TSeqCollection * fClipboard
Definition: TROOT.h:152
This class defines an interface to the cling C++ interpreter.
Definition: TCling.h:92
TInterpreter * GetInterpreter() const
Definition: TROOT.h:198
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:59
TSeqCollection * GetListOfCleanups() const
Definition: TROOT.h:236
Int_t GetBuiltDate() const
Definition: TROOT.h:209
const char * GetConfigOptions() const
Definition: TROOT.h:202
Bool_t fEscape
Definition: TROOT.h:124
TSeqCollection * fFiles
Definition: TROOT.h:135
TSeqCollection * GetListOfMessageHandlers() const
Definition: TROOT.h:238
const char * GetDefCanvasName() const
Definition: TROOT.h:205
TCollection * fClasses
Definition: TROOT.h:129
A doubly linked list.
Definition: TList.h:47
Long_t Macro(const char *filename, Int_t *error=0, Bool_t padUpdate=kTRUE)
Execute a macro in the interpreter.
Definition: TROOT.cxx:2003
Int_t GetVersionCode() const
Definition: TROOT.h:217
TStyle objects may be created to define special styles.
Definition: TStyle.h:52
R__EXTERN TROOT * gROOTLocal
Definition: TROOT.h:341
TSeqCollection * GetListOfCanvases() const
Definition: TROOT.h:228
TSeqCollection * GetListOfGeometries() const
Definition: TROOT.h:232
Bool_t fEditHistograms
Definition: TROOT.h:118
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:41
Bool_t ClassSaved(TClass *cl)
return class status bit kClassSaved for class cl This function is called by the SavePrimitive functio...
Definition: TROOT.cxx:865
Int_t fVersionTime
Definition: TROOT.h:108
void Time(Int_t casetime=1)
Definition: TROOT.h:315
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)
Called by static dictionary initialization to register clang modules for headers. ...
Definition: TROOT.cxx:2230
static Bool_t fgMemCheck
Definition: TROOT.h:94
TSeqCollection * fDataSets
Definition: TROOT.h:153
TSeqCollection * fMessageHandlers
Definition: TROOT.h:147
Bool_t ReadingObject() const
Deprecated (will be removed in next release).
Definition: TROOT.cxx:2168
void Browse(TBrowser *b)
Add browsable objects to TBrowser.
Definition: TROOT.cxx:846
void AddClassGenerator(TClassGenerator *gen)
Add a class generator.
Definition: TROOT.cxx:837
TString fDefCanvasName
Definition: TROOT.h:160
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:2367
SVector< double, 2 > v
Definition: Dict.h:5
TPaveLabel title(3, 27.1, 15, 28.7,"ROOT Environment and Tools")
Basic data type descriptor (datatype information is obtained from CINT).
Definition: TDataType.h:46
TSeqCollection * GetListOfSpecials() const
Definition: TROOT.h:234
TPluginManager * fPluginManager
Definition: TROOT.h:158
std::atomic< TListOfEnums * > AListOfEnums_t
Definition: TROOT.h:100
TString fGitBranch
Definition: TROOT.h:112
TSeqCollection * fSecContexts
Definition: TROOT.h:150
Collection abstract base class.
Definition: TCollection.h:48
Bool_t IsInterrupted() const
Definition: TROOT.h:269
static Int_t ConvertVersionCode2Int(Int_t code)
Convert version code to an integer, i.e. 331527 -> 51507.
Definition: TROOT.cxx:2533
unsigned int UInt_t
Definition: RtypesCore.h:42
void ReadGitInfo()
Read Git commit information and branch name from the etc/gitinfo.txt file.
Definition: TROOT.cxx:2116
void SetApplication(TApplication *app)
Definition: TROOT.h:298
Bool_t MustClean() const
Definition: TROOT.h:281
Int_t GetBuiltTime() const
Definition: TROOT.h:210
This class implements a plugin library manager.
TLine * l
Definition: textangle.C:4
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:1869
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:81
Global variables class (global variables are obtained from CINT).
Definition: TGlobal.h:29
TSeqCollection * GetClipboard() const
Definition: TROOT.h:242
TSeqCollection * GetListOfFiles() const
Definition: TROOT.h:225
tuple pad
Definition: first.py:38
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects)...
Definition: TROOT.h:268
TROOT * GetROOT()
Definition: TROOT.cxx:388
Bool_t FromPopUp() const
Definition: TROOT.h:195
TSeqCollection * GetListOfTasks() const
Definition: TROOT.h:235
TString fName
Definition: TNamed.h:36
void InitSystem()
Initialize operating system interface.
Definition: TROOT.cxx:1669
TSeqCollection * fSpecials
Definition: TROOT.h:145
TGlobal * GetGlobal(const char *name, Bool_t load=kFALSE) const
Return pointer to global variable by name.
Definition: TROOT.cxx:1340
Bool_t IsExecutingMacro() const
Definition: TROOT.h:267
TString fGitDate
Definition: TROOT.h:113
const char * GetGitBranch() const
Definition: TROOT.h:212
static void SetDirLevel(Int_t level=0)
Return Indentation level for ls().
Definition: TROOT.cxx:2525
long Long_t
Definition: RtypesCore.h:50
The Canvas class.
Definition: TCanvas.h:48
TListOfFunctions * fGlobalFunctions
Definition: TROOT.h:133
Long_t ProcessLine(const char *line, Int_t *error=0)
Process interpreter command via TApplication::ProcessLine().
Definition: TROOT.cxx:2057
virtual Int_t GetSize() const
Definition: TCollection.h:95
TSeqCollection * fCanvases
Definition: TROOT.h:138
virtual TObject * FindObjectAnyFile(const char *name) const
Scan the memory lists of all files for an object with name.
Definition: TROOT.cxx:1156
void EnableThreadSafety()
Enables the global mutex to make ROOT thread safe/aware.
Definition: TROOT.cxx:399
TFunction * GetGlobalFunctionWithPrototype(const char *name, const char *proto=0, Bool_t load=kFALSE)
Return pointer to global function by name.
Definition: TROOT.cxx:1427
void SetReadingObject(Bool_t flag=kTRUE)
Definition: TROOT.cxx:2173
TSeqCollection * GetListOfSecContexts() const
Definition: TROOT.h:240
void SetEditHistograms(Bool_t flag=kTRUE)
Definition: TROOT.h:302
TString fConfigOptions
Definition: TROOT.h:102
void InitThreads()
Load and initialize thread library.
Definition: TROOT.cxx:1734
Describe directory structure in memory.
Definition: TDirectory.h:44
void(* VoidFuncPtr_t)()
Definition: Rtypes.h:74
Int_t GetVersionDate() const
Definition: TROOT.h:214
Int_t GetVersionInt() const
Definition: TROOT.h:216
Bool_t fFromPopUp
Definition: TROOT.h:119
Int_t fTimer
Definition: TROOT.h:114
TSeqCollection * GetListOfProofs() const
Definition: TROOT.h:241
TCanvas * MakeDefCanvas() const
Return a default canvas.
Definition: TROOT.cxx:1274
Bool_t fBatch
Definition: TROOT.h:117
Long_t ProcessLineFast(const char *line, Int_t *error=0)
Process interpreter command directly via CINT interpreter.
Definition: TROOT.cxx:2094
void CloseFiles()
Close any files and sockets that gROOT knows about.
Definition: TROOT.cxx:911
virtual ~TROOT()
Clean up and free resources used by ROOT (files, network sockets, shared memory segments, etc.).
Definition: TROOT.cxx:702
The color creation and management class.
Definition: TColor.h:47
const char * GetCutClassName() const
Definition: TROOT.h:204
TSeqCollection * fStyles
Definition: TROOT.h:139
void SetInterrupt(Bool_t flag=kTRUE)
Definition: TROOT.h:306
Bool_t fReadingObject
Definition: TROOT.h:121
TCollection * fClassGenerators
Definition: TROOT.h:149
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:1619
TSeqCollection * GetListOfSockets() const
Definition: TROOT.h:227
#define name(a, b)
Definition: linkTestLib0.cpp:5
const char * FindObjectPathName(const TObject *obj) const
Return path name of obj somewhere in the //root/...
Definition: TROOT.cxx:1193
static Int_t GetDirLevel()
return directory level
Definition: TROOT.cxx:2438
virtual TObject * FindObjectAny(const char *name) const
Return a pointer to the first object with name starting at //root.
Definition: TROOT.cxx:1146
Int_t fBuiltTime
Definition: TROOT.h:110
Mother of all ROOT objects.
Definition: TObject.h:58
Global functions class (global functions are obtained from CINT).
Definition: TFunction.h:30
TFunction * GetGlobalFunction(const char *name, const char *params=0, Bool_t load=kFALSE)
Return pointer to global function by name.
Definition: TROOT.cxx:1394
std::vector< std::pair< std::string, int > > FwdDeclArgsToKeepCollection_t
Definition: TROOT.h:176
static Int_t ConvertVersionInt2Code(Int_t v)
Convert version as an integer to version code as used in RVersion.h.
Definition: TROOT.cxx:2541
#define R__EXTERN
Definition: DllImport.h:27
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
Definition: TROOT.cxx:2493
TCollection * GetListOfTypes(Bool_t load=kFALSE)
Return a dynamic list giving access to all TDataTypes (typedefs) currently defined.
Definition: TROOT.cxx:1571
TFile * GetFile() const
Definition: TROOT.h:248
Int_t fBuiltDate
Definition: TROOT.h:109
TFunctionTemplate * GetFunctionTemplate(const char *name)
Definition: TROOT.cxx:1327
TDataType * GetType(const char *name, Bool_t load=kFALSE) const
Return pointer to type with name.
Definition: TROOT.cxx:1282
TColor * GetColor(Int_t color) const
Return address of color with index color.
Definition: TROOT.cxx:1256
TCollection * fFunctions
Definition: TROOT.h:140
A collection of TEnum objects designed for fast access given a DeclId_t and for keep track of TEnum t...
Definition: TListOfEnums.h:36
static void SetMacroPath(const char *newpath)
Set or extend the macro search path.
Definition: TROOT.cxx:2480
Int_t GetEditorMode() const
Definition: TROOT.h:207
Int_t GetNtypes() const
Definition: TROOT.h:261
TListOfDataMembers * fGlobals
Definition: TROOT.h:132
Bool_t IsImplicitMTEnabled()
Returns true if the implicit multi-threading in ROOT is enabled.
Definition: TROOT.cxx:437
Bool_t IsProofServ() const
Definition: TROOT.h:272
TSeqCollection * fClosedObjects
Definition: TROOT.h:134
TObject * GetFunction(const char *name) const
Return pointer to function with name.
Definition: TROOT.cxx:1307
Int_t fLineIsProcessing
Definition: TROOT.h:90
TSeqCollection * fTasks
Definition: TROOT.h:141
TSeqCollection * fColors
Definition: TROOT.h:142
TCollection * fTypes
Definition: TROOT.h:130
void SetSelectedPrimitive(const TObject *obj)
Definition: TROOT.h:312
TSeqCollection * fBrowsers
Definition: TROOT.h:144
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:1917
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
Definition: TROOT.cxx:2501
TFolder * GetRootFolder() const
Definition: TROOT.h:262
TSeqCollection * GetListOfClosedObjects() const
Definition: TROOT.h:224
#define gDirectory
Definition: TDirectory.h:221
This class creates the ROOT Application Environment that interfaces to the windowing system eventloop...
Definition: TApplication.h:45
TList * fBrowsables
Definition: TROOT.h:157
A collection of TFunction objects designed for fast access given a DeclId_t and for keep track of TFu...
TSeqCollection * fSockets
Definition: TROOT.h:137
TObject * FindSpecialObject(const char *name, void *&where)
Returns address and folder of a ROOT object if it exists.
Definition: TROOT.cxx:1087
Bool_t fInterrupt
Definition: TROOT.h:123
const Bool_t kTRUE
Definition: Rtypes.h:91
TObject * obj
void Idle(UInt_t idleTimeInSec, const char *command=0)
Execute command when system has been idle for idleTimeInSec seconds.
Definition: TROOT.cxx:1583
void SetLineHasBeenProcessed()
Definition: TROOT.h:309
TCollection * GetListOfClassGenerators() const
Definition: TROOT.h:239
Int_t GetNclasses() const
Definition: TROOT.h:260
TString fConfigFeatures
Definition: TROOT.h:103
TProcessUUID * fUUIDs
Definition: TROOT.h:155
const TObject * fPrimitive
Definition: TROOT.h:127
TVirtualPad * fSelectPad
Definition: TROOT.h:128
TText gen(9, 20.7,"rootcint")