/usr/include/root/TROOT.h is in libroot-core-dev 5.34.00-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | // @(#)root/base:$Id: TROOT.h 42030 2011-11-15 22:23:12Z pcanal $
// Author: Rene Brun 08/12/94
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TROOT
#define ROOT_TROOT
//////////////////////////////////////////////////////////////////////////
// //
// TROOT //
// //
// The TROOT object is the entry point to the system. //
// The single instance of TROOT is accessable via the global gROOT. //
// Using the gROOT pointer one has access to basically every object //
// created in a ROOT based program. The TROOT object is essentially a //
// "dispatcher" with several lists pointing to the ROOT main objects. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TDirectory
#include "TDirectory.h"
#endif
#ifndef ROOT_TList
#include "TList.h"
#endif
class TClass;
class TCanvas;
class TColor;
class TDataType;
class TFile;
class TStyle;
class TVirtualPad;
class TApplication;
class TInterpreter;
class TBrowser;
class TGlobal;
class TFunction;
class TFolder;
class TPluginManager;
class TProcessUUID;
class TClassGenerator;
class TVirtualMutex;
R__EXTERN TVirtualMutex *gROOTMutex;
class TROOT : public TDirectory {
friend class TCint;
friend class TCintWithCling;
private:
Int_t fLineIsProcessing; //To synchronize multi-threads
static Int_t fgDirLevel; //Indentation level for ls()
static Bool_t fgRootInit; //Singleton initialization flag
static Bool_t fgMemCheck; //Turn on memory leak checker
TROOT(const TROOT&); //Not implemented
TROOT& operator=(const TROOT&); //Not implemented
protected:
TString fConfigOptions; //ROOT ./configure set build options
TString fConfigFeatures; //ROOT ./configure detected build features
TString fVersion; //ROOT version (from CMZ VERSQQ) ex 0.05/01
Int_t fVersionInt; //ROOT version in integer format (501)
Int_t fVersionCode; //ROOT version code as used in RVersion.h
Int_t fVersionDate; //Date of ROOT version (ex 951226)
Int_t fVersionTime; //Time of ROOT version (ex 1152)
Int_t fBuiltDate; //Date of ROOT built
Int_t fBuiltTime; //Time of ROOT built
Int_t fSvnRevision; //Subversion revision number of built
TString fSvnBranch; //Subversion branch
TString fSvnDate; //Date and time when make was run
Int_t fTimer; //Timer flag
TApplication *fApplication; //Pointer to current application
TInterpreter *fInterpreter; //Command interpreter
Bool_t fBatch; //True if session without graphics
Bool_t fEditHistograms; //True if histograms can be edited with the mouse
Bool_t fFromPopUp; //True if command executed from a popup menu
Bool_t fMustClean; //True if object destructor scans canvases
Bool_t fReadingObject; //True while reading an object [Deprecated (will be removed in next release)
Bool_t fForceStyle; //Force setting of current style when reading objects
Bool_t fInterrupt; //True if macro should be interrupted
Bool_t fEscape; //True if ESC has been pressed
Bool_t fExecutingMacro; //True while executing a TMacro
Int_t fEditorMode; //Current Editor mode
const TObject *fPrimitive; //Currently selected primitive
TVirtualPad *fSelectPad; //Currently selected pad
TCollection *fClasses; //List of classes definition
TCollection *fTypes; //List of data types definition
TCollection *fGlobals; //List of global variables
TCollection *fGlobalFunctions; //List of global functions
TSeqCollection *fClosedObjects; //List of closed objects from the list of files and sockets, so we can delete them if neededCl.
TSeqCollection *fFiles; //List of files
TSeqCollection *fMappedFiles; //List of memory mapped files
TSeqCollection *fSockets; //List of network sockets
TSeqCollection *fCanvases; //List of canvases
TSeqCollection *fStyles; //List of styles
TCollection *fFunctions; //List of analytic functions
TSeqCollection *fTasks; //List of tasks
TSeqCollection *fColors; //List of colors
TSeqCollection *fGeometries; //List of geometries
TSeqCollection *fBrowsers; //List of browsers
TSeqCollection *fSpecials; //List of special objects
TSeqCollection *fCleanups; //List of recursiveRemove collections
TSeqCollection *fMessageHandlers; //List of message handlers
TSeqCollection *fStreamerInfo; //List of active StreamerInfo classes
TCollection *fClassGenerators; //List of user defined class generators;
TSeqCollection *fSecContexts; //List of security contexts (TSecContext)
TSeqCollection *fProofs; //List of proof sessions
TSeqCollection *fClipboard; //List of clipbard objects
TSeqCollection *fDataSets; //List of data sets (TDSet or TChain)
TProcessUUID *fUUIDs; //Pointer to TProcessID managing TUUIDs
TFolder *fRootFolder; //top level folder //root
TList *fBrowsables; //List of browsables
TPluginManager *fPluginManager; //Keeps track of plugin library handlers
TString fCutClassName; //Name of default CutG class in graphics editor
TString fDefCanvasName; //Name of default canvas
TROOT(); //Only used by Dictionary
void InitSystem(); //Operating System interface
void InitThreads(); //Initialize threads library
void ReadSvnInfo(); //Read Subversion revision number and branch name
void *operator new(size_t l) { return TObject::operator new(l); }
public:
TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc = 0);
virtual ~TROOT();
void AddClass(TClass *cl);
void AddClassGenerator(TClassGenerator *gen);
void Browse(TBrowser *b);
Bool_t ClassSaved(TClass *cl);
void CloseFiles();
virtual TObject *FindObject(const char *name) const;
virtual TObject *FindObject(const TObject *obj) const;
virtual TObject *FindObjectAny(const char *name) const;
virtual TObject *FindObjectAnyFile(const char *name) const;
TObject *FindSpecialObject(const char *name, void *&where);
const char *FindObjectClassName(const char *name) const;
const char *FindObjectPathName(const TObject *obj) const;
TClass *FindSTLClass(const char *name, Bool_t load, Bool_t silent = kFALSE) const;
void ForceStyle(Bool_t force = kTRUE) { fForceStyle = force; }
Bool_t FromPopUp() const { return fFromPopUp; }
TPluginManager *GetPluginManager() const { return fPluginManager; }
TApplication *GetApplication() const { return fApplication; }
TInterpreter *GetInterpreter() const { return fInterpreter; }
TClass *GetClass(const char *name, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
TClass *GetClass(const type_info &typeinfo, Bool_t load = kTRUE, Bool_t silent = kFALSE) const;
TColor *GetColor(Int_t color) const;
const char *GetConfigOptions() const { return fConfigOptions; }
const char *GetConfigFeatures() const { return fConfigFeatures; }
const char *GetCutClassName() const { return fCutClassName; }
const char *GetDefCanvasName() const { return fDefCanvasName; }
Bool_t GetEditHistograms() const { return fEditHistograms; }
Int_t GetEditorMode() const { return fEditorMode; }
Bool_t GetForceStyle() const { return fForceStyle; }
Int_t GetBuiltDate() const { return fBuiltDate; }
Int_t GetBuiltTime() const { return fBuiltTime; }
Int_t GetSvnRevision() const { return fSvnRevision; }
const char *GetSvnBranch() const { return fSvnBranch; }
const char *GetSvnDate();
Int_t GetVersionDate() const { return fVersionDate; }
Int_t GetVersionTime() const { return fVersionTime; }
Int_t GetVersionInt() const { return fVersionInt; }
Int_t GetVersionCode() const { return fVersionCode; }
const char *GetVersion() const { return fVersion; }
TCollection *GetListOfClasses() const { return fClasses; }
TSeqCollection *GetListOfColors() const { return fColors; }
TCollection *GetListOfTypes(Bool_t load = kFALSE);
TCollection *GetListOfGlobals(Bool_t load = kFALSE);
TCollection *GetListOfGlobalFunctions(Bool_t load = kFALSE);
TSeqCollection *GetListOfClosedObjects() const { return fClosedObjects; }
TSeqCollection *GetListOfFiles() const { return fFiles; }
TSeqCollection *GetListOfMappedFiles() const { return fMappedFiles; }
TSeqCollection *GetListOfSockets() const { return fSockets; }
TSeqCollection *GetListOfCanvases() const { return fCanvases; }
TSeqCollection *GetListOfStyles() const { return fStyles; }
TCollection *GetListOfFunctions() const { return fFunctions; }
TSeqCollection *GetListOfGeometries() const { return fGeometries; }
TSeqCollection *GetListOfBrowsers() const { return fBrowsers; }
TSeqCollection *GetListOfSpecials() const { return fSpecials; }
TSeqCollection *GetListOfTasks() const { return fTasks; }
TSeqCollection *GetListOfCleanups() const { return fCleanups; }
TSeqCollection *GetListOfStreamerInfo() const { return fStreamerInfo; }
TSeqCollection *GetListOfMessageHandlers() const { return fMessageHandlers; }
TCollection *GetListOfClassGenerators() const { return fClassGenerators; }
TSeqCollection *GetListOfSecContexts() const { return fSecContexts; }
TSeqCollection *GetListOfProofs() const { return fProofs; }
TSeqCollection *GetClipboard() const { return fClipboard; }
TSeqCollection *GetListOfDataSets() const { return fDataSets; }
TList *GetListOfBrowsables() const { return fBrowsables; }
TDataType *GetType(const char *name, Bool_t load = kFALSE) const;
TFile *GetFile() const { if (gDirectory != this) return gDirectory->GetFile(); else return 0;}
TFile *GetFile(const char *name) const;
TStyle *GetStyle(const char *name) const;
TObject *GetFunction(const char *name) const;
TGlobal *GetGlobal(const char *name, Bool_t load = kFALSE) const;
TGlobal *GetGlobal(const TObject *obj, Bool_t load = kFALSE) const;
TFunction *GetGlobalFunction(const char *name, const char *params = 0, Bool_t load = kFALSE);
TFunction *GetGlobalFunctionWithPrototype(const char *name, const char *proto = 0, Bool_t load = kFALSE);
TObject *GetGeometry(const char *name) const;
const TObject *GetSelectedPrimitive() const { return fPrimitive; }
TVirtualPad *GetSelectedPad() const { return fSelectPad; }
Int_t GetNclasses() const { return fClasses->GetSize(); }
Int_t GetNtypes() const { return fTypes->GetSize(); }
TFolder *GetRootFolder() const { return fRootFolder; }
TProcessUUID *GetUUIDs() const { return fUUIDs; }
void Idle(UInt_t idleTimeInSec, const char *command = 0);
Int_t IgnoreInclude(const char *fname, const char *expandedfname);
Bool_t IsBatch() const { return fBatch; }
Bool_t IsExecutingMacro() const { return fExecutingMacro; }
Bool_t IsFolder() const { return kTRUE; }
Bool_t IsInterrupted() const { return fInterrupt; }
Bool_t IsEscaped() const { return fEscape; }
Bool_t IsLineProcessing() const { return fLineIsProcessing ? kTRUE : kFALSE; }
Bool_t IsProofServ() const { return fName == "proofserv" ? kTRUE : kFALSE; }
void ls(Option_t *option = "") const;
Int_t LoadClass(const char *classname, const char *libname, Bool_t check = kFALSE);
TClass *LoadClass(const char *name, Bool_t silent = kFALSE) const;
Int_t LoadMacro(const char *filename, Int_t *error = 0, Bool_t check = kFALSE);
Long_t Macro(const char *filename, Int_t *error = 0, Bool_t padUpdate = kTRUE);
TCanvas *MakeDefCanvas() const;
void Message(Int_t id, const TObject *obj);
Bool_t MustClean() const { return fMustClean; }
Long_t ProcessLine(const char *line, Int_t *error = 0);
Long_t ProcessLineSync(const char *line, Int_t *error = 0);
Long_t ProcessLineFast(const char *line, Int_t *error = 0);
Bool_t ReadingObject() const { /* Deprecated (will be removed in next release) */ return fReadingObject; }
void RefreshBrowsers();
void RemoveClass(TClass *);
void Reset(Option_t *option="");
void SaveContext();
void SetApplication(TApplication *app) { fApplication = app; }
void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; }
void SetCutClassName(const char *name = "TCutG");
void SetDefCanvasName(const char *name = "c1") { fDefCanvasName = name; }
void SetEditHistograms(Bool_t flag = kTRUE) { fEditHistograms = flag; }
void SetEditorMode(const char *mode = "");
void SetExecutingMacro(Bool_t flag = kTRUE) { fExecutingMacro = flag; }
void SetFromPopUp(Bool_t flag = kTRUE) { fFromPopUp = flag; }
void SetInterrupt(Bool_t flag = kTRUE) { fInterrupt = flag; }
void SetEscape(Bool_t flag = kTRUE) { fEscape = flag; }
void SetLineIsProcessing() { fLineIsProcessing++; }
void SetLineHasBeenProcessed() { if (fLineIsProcessing) fLineIsProcessing--; }
void SetReadingObject(Bool_t flag = kTRUE) { fReadingObject = flag; }
void SetMustClean(Bool_t flag = kTRUE) { fMustClean=flag; }
void SetSelectedPrimitive(const TObject *obj) { fPrimitive = obj; }
void SetSelectedPad(TVirtualPad *pad) { fSelectPad = pad; }
void SetStyle(const char *stylename = "Default");
void Time(Int_t casetime=1) { fTimer = casetime; }
Int_t Timer() const { return fTimer; }
//---- static functions
static Int_t DecreaseDirLevel();
static Int_t GetDirLevel();
static const char *GetMacroPath();
static void SetMacroPath(const char *newpath);
static Int_t IncreaseDirLevel();
static void IndentLevel();
static Bool_t Initialized();
static Bool_t MemCheck();
static void SetDirLevel(Int_t level = 0);
static Int_t ConvertVersionCode2Int(Int_t code);
static Int_t ConvertVersionInt2Code(Int_t v);
static Int_t RootVersionCode();
ClassDef(TROOT,0) //Top level (or root) structure for all classes
};
R__EXTERN TROOT *gROOT;
namespace ROOT {
TROOT *GetROOT();
}
#endif
|