Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
RooWorkspace::WSDir Class Reference

Definition at line 225 of file RooWorkspace.h.

Public Member Functions

 WSDir (const char *name, const char *title, RooWorkspace *wspace)
 
virtual ~WSDir ()
 
virtual void Add (TObject *, Bool_t)
 Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.
 
virtual void Append (TObject *, Bool_t)
 Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.
 
- Public Member Functions inherited from TDirectoryFile
 TDirectoryFile ()
 Default TDirectoryFile constructor.
 
 TDirectoryFile (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=nullptr)
 Create a new TDirectoryFile.
 
virtual ~TDirectoryFile ()
 Destructor.
 
Int_t AppendKey (TKey *key) override
 Insert key in the linked list of keys of this directory.
 
void Browse (TBrowser *b) override
 Browse the content of the directory.
 
void Build (TFile *motherFile=nullptr, TDirectory *motherDir=nullptr) override
 
Bool_t cd () override
 Change current directory to "this" directory.
 
Bool_t cd (const char *path) override
 Change current directory the directory described by the path if given one.
 
TObjectCloneObject (const TObject *obj, Bool_t autoadd=kTRUE) override
 Make a clone of an object using the Streamer facility.
 
void Close (Option_t *option="") override
 Delete all objects from memory and directory structure itself.
 
void Copy (TObject &) const override
 Copy this to obj.
 
void Delete (const char *namecycle="") override
 Delete Objects or/and keys in a directory.
 
void FillBuffer (char *&buffer) override
 Encode directory header into output buffer.
 
TKeyFindKey (const char *keyname) const override
 Find key with name keyname in the current directory.
 
TKeyFindKeyAny (const char *keyname) const override
 Find key with name keyname in the current directory or its subdirectories.
 
TObjectFindObjectAny (const char *name) const override
 Find object by name in the list of memory objects of the current directory or its sub-directories.
 
TObjectFindObjectAnyFile (const char *name) const override
 Scan the memory lists of all files for an object with name.
 
template<class T >
T * Get (const char *namecycle)
 See documentation of TDirectoryFile::Get(const char *namecycle)
 
TObjectGet (const char *namecycle) override
 Return pointer to object identified by namecycle.
 
Int_t GetBufferSize () const override
 Return the buffer size to create new TKeys.
 
const TDatimeGetCreationDate () const
 
TDirectoryGetDirectory (const char *apath, Bool_t printError=false, const char *funcname="GetDirectory") override
 Find a directory named "apath".
 
TFileGetFile () const override
 
TKeyGetKey (const char *name, Short_t cycle=9999) const override
 Return pointer to key with name,cycle.
 
TListGetListOfKeys () const override
 
const TDatimeGetModificationDate () const
 
Int_t GetNbytesKeys () const override
 
Int_t GetNkeys () const override
 
voidGetObjectChecked (const char *namecycle, const char *classname) override
 See documentation of TDirectoryFile::GetObjectCheck(const char *namecycle, const TClass *cl)
 
voidGetObjectChecked (const char *namecycle, const TClass *cl) override
 Return pointer to object identified by namecycle if and only if the actual object is a type suitable to be stored as a pointer to a "expectedClass" If expectedClass is null, no check is performed.
 
voidGetObjectUnchecked (const char *namecycle) override
 Return pointer to object identified by namecycle.
 
Long64_t GetSeekDir () const override
 
Long64_t GetSeekKeys () const override
 
Long64_t GetSeekParent () const override
 
Bool_t IsModified () const override
 
Bool_t IsWritable () const override
 
void ls (Option_t *option="") const override
 List Directory contents.
 
TDirectorymkdir (const char *name, const char *title="", Bool_t returnExistingDirectory=kFALSE) override
 Create a sub-directory "a" or a hierarchy of sub-directories "a/b/c/...".
 
TFileOpenFile (const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0) override
 Interface to TFile::Open.
 
void Purge (Short_t nkeep=1) override
 Purge lowest key cycles in a directory.
 
void ReadAll (Option_t *option="") override
 Read objects from a ROOT file directory into memory.
 
Int_t ReadKeys (Bool_t forceRead=kTRUE) override
 Read the linked list of keys.
 
Int_t ReadTObject (TObject *obj, const char *keyname) override
 Read object with keyname from the current directory.
 
virtual void ResetAfterMerge (TFileMergeInfo *)
 Reset the TDirectory after its content has been merged into another Directory.
 
void rmdir (const char *name) override
 Removes subdirectory from the directory.
 
void Save () override
 Save recursively all directory keys and headers.
 
Int_t SaveObjectAs (const TObject *obj, const char *filename="", Option_t *option="") const override
 Save object in filename.
 
void SaveSelf (Bool_t force=kFALSE) override
 Save Directory keys and header.
 
void SetBufferSize (Int_t bufsize) override
 Set the default buffer size when creating new TKeys.
 
void SetModified () override
 
void SetSeekDir (Long64_t v) override
 
void SetTRefAction (TObject *ref, TObject *parent) override
 Find the action to be executed in the dictionary of the parent class and store the corresponding exec number into fBits.
 
void SetWritable (Bool_t writable=kTRUE) override
 Set the new value of fWritable recursively.
 
Int_t Sizeof () const override
 Return the size in bytes of the directory header.
 
Int_t Write (const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) const override
 One can not save a const TDirectory object.
 
Int_t Write (const char *name=nullptr, Int_t opt=0, Int_t bufsize=0) override
 Write all objects in memory to disk.
 
void WriteDirHeader () override
 Overwrite the Directory header record.
 
void WriteKeys () override
 Write Keys linked list on the file.
 
Int_t WriteObjectAny (const void *obj, const char *classname, const char *name, Option_t *option="", Int_t bufsize=0) override
 Write object from pointer of class classname in this directory.
 
Int_t WriteObjectAny (const void *obj, const TClass *cl, const char *name, Option_t *option="", Int_t bufsize=0) override
 Write object of class with dictionary cl in this directory.
 
Int_t WriteTObject (const TObject *obj, const char *name=nullptr, Option_t *option="", Int_t bufsize=0) override
 Write object obj to this directory.
 
- Public Member Functions inherited from TDirectory
 TDirectory ()
 Directory default constructor.
 
 TDirectory (const char *name, const char *title, Option_t *option="", TDirectory *motherDir=nullptr)
 Create a new Directory.
 
virtual ~TDirectory ()
 Destructor.
 
void Clear (Option_t *option="") override
 Delete all objects from a Directory list.
 
virtual void DeleteAll (Option_t *option="")
 Delete all objects from memory.
 
void Draw (Option_t *option="") override
 Fill Graphics Structure and Paint.
 
TObjectFindObject (const char *name) const override
 Find object by name in the list of memory objects.
 
TObjectFindObject (const TObject *obj) const override
 Find object in the list of memory objects.
 
template<class T >
T * Get (const char *namecycle)
 See documentation of TDirectoryFile::Get(const char *namecycle)
 
virtual TListGetList () const
 
TObjectGetMother () const
 
TDirectoryGetMotherDir () const
 
template<class T >
void GetObject (const char *namecycle, T *&ptr)
 Get an object with proper type checking.
 
virtual const char * GetPath () const
 Returns the full path of the directory.
 
virtual const char * GetPathStatic () const
 Returns the full path of the directory.
 
TUUID GetUUID () const
 
Bool_t IsBuilt () const
 
Bool_t IsFolder () const override
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
void Paint (Option_t *option="") override
 Paint all objects in the directory.
 
void Print (Option_t *option="") const override
 Print all objects in the directory.
 
virtual void pwd () const
 Print the path of the directory.
 
void RecursiveRemove (TObject *obj) override
 Recursively remove object from a Directory.
 
virtual TObjectRemove (TObject *)
 Remove an object from the in-memory list.
 
virtual void SetMother (TObject *mother)
 
void SetName (const char *newname) override
 Set the name for directory If the directory name is changed after the directory was written once, ROOT currently would NOT change the name of correspondent key in the mother directory.
 
template<typename T >
std::enable_if_t<!std::is_base_of< TObject, T >::value, Int_tWriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0)
 Write an object with proper type checking.
 
template<typename T >
std::enable_if_t< std::is_base_of< TObject, T >::value, Int_tWriteObject (const T *obj, const char *name, Option_t *option="", Int_t bufsize=0)
 Write an object with proper type checking.
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility.
 
virtual Int_t Compare (const TObject *obj) const
 Compare two TNamed objects.
 
virtual const char * GetName () const
 Returns name of object.
 
virtual const char * GetTitle () const
 Returns title of object.
 
virtual ULong_t Hash () const
 Return hash value for this object.
 
virtual Bool_t IsSortable () const
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification.
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 

Protected Member Functions

void InternalAppend (TObject *obj)
 Internal access to TDirectory append method.
 
- Protected Member Functions inherited from TDirectoryFile
void BuildDirectoryFile (TFile *motherFile, TDirectory *motherDir)
 Initialise directory to defaults.
 
void CleanTargets ()
 Clean the pointers to this object (gDirectory, TContext, etc.)
 
void InitDirectoryFile (TClass *cl=nullptr)
 Initialize the key associated with this directory (and the related data members.
 
- Protected Member Functions inherited from TDirectory
 TDirectory (const TDirectory &directory)=delete
 
void BuildDirectory (TFile *motherFile, TDirectory *motherDir)
 Initialise directory to defaults.
 
Bool_t cd1 (const char *path)
 flag to add histograms, graphs,etc to the directory
 
void CleanTargets ()
 Clean the pointers to this object (gDirectory, TContext, etc.).
 
void FillFullPath (TString &buf) const
 Recursive method to fill full path for directory.
 
void operator= (const TDirectory &)=delete
 
void RegisterContext (TContext *ctxt)
 Register a TContext pointing to this TDirectory object.
 
void RegisterGDirectory (SharedGDirectory_t &ptr)
 Register a std::atomic<TDirectory*> that will soon be pointing to this TDirectory object.
 
void UnregisterContext (TContext *ctxt)
 UnRegister a TContext pointing to this TDirectory object.
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

Protected Attributes

RooWorkspace_wspace
 
- Protected Attributes inherited from TDirectoryFile
Int_t fBufferSize {0}
 Default buffer size to create new TKeys.
 
TDatime fDatimeC
 Date and time when directory is created.
 
TDatime fDatimeM
 Date and time of last modification.
 
TFilefFile {nullptr}
 Pointer to current file in memory.
 
TListfKeys {nullptr}
 Pointer to keys list in memory.
 
Bool_t fModified {kFALSE}
 True if directory has been modified.
 
Int_t fNbytesKeys {0}
 Number of bytes for the keys.
 
Int_t fNbytesName {0}
 Number of bytes in TNamed at creation time.
 
Long64_t fSeekDir {0}
 Location of directory on file.
 
Long64_t fSeekKeys {0}
 Location of Keys record on file.
 
Long64_t fSeekParent {0}
 Location of parent directory on file.
 
Bool_t fWritable {kFALSE}
 True if directory is writable.
 
- Protected Attributes inherited from TDirectory
TContextfContext {nullptr}
 Buffer for GetPath() function.
 
std::atomic< size_t > fContextPeg {0}
 thread local gDirectory pointing to this object.
 
std::vector< SharedGDirectory_tfGDirectories
 
TListfList {nullptr}
 
TObjectfMother {nullptr}
 
TString fPathBuffer
 
std::atomic_flag fSpinLock
 Counter delaying the TDirectory destructor from finishing.
 
TUUID fUUID
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Friends

class RooWorkspace
 

Additional Inherited Members

- Public Types inherited from TDirectoryFile
enum  EStatusBits { kCloseDirectory = BIT(7) }
 
- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = BIT(3) }
 
enum  EStatusBits {
  kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) ,
  kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13)
}
 
- Static Public Member Functions inherited from TDirectory
static void AddDirectory (Bool_t add=kTRUE)
 Sets the flag controlling the automatic add objects like histograms, TGraph2D, etc in memory.
 
static Bool_t AddDirectoryStatus ()
 Static function: see TDirectory::AddDirectory for more comments.
 
static Bool_t Cd (const char *path)
 Change current directory to "path".
 
static std::atomic< TDirectory * > & CurrentDirectory ()
 Return the current directory for the current thread.
 
static void DecodeNameCycle (const char *namecycle, char *name, Short_t &cycle, const size_t namesize=0)
 Decode a namecycle "aap;2" into name "aap" and cycle "2".
 
static void EncodeNameCycle (char *buffer, const char *name, Short_t cycle)
 Encode the name and cycle into buffer like: "aap;2".
 
- Static Public Member Functions inherited from TObject
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 
- Protected Types inherited from TDirectory
using SharedGDirectory_t = std::shared_ptr< std::atomic< TDirectory * > >
 Pointer to a list of TContext object pointing to this TDirectory.
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = BIT(3) }
 
- Static Protected Member Functions inherited from TDirectory
static Bool_t Cd1 (const char *path)
 Change current directory to "path".
 
static SharedGDirectory_tGetSharedLocalCurrentDirectory ()
 Return the (address of) a shared pointer to the struct holding the actual thread local gDirectory pointer and the atomic_flag for its lock.
 
- Static Protected Attributes inherited from TDirectory
static Bool_t fgAddDirectory = kTRUE
 MSVC doesn't support = ATOMIC_FLAG_INIT;.
 

#include <RooWorkspace.h>

Inheritance diagram for RooWorkspace::WSDir:
[legend]

Constructor & Destructor Documentation

◆ WSDir()

RooWorkspace::WSDir::WSDir ( const char *  name,
const char *  title,
RooWorkspace wspace 
)
inline

Definition at line 227 of file RooWorkspace.h.

◆ ~WSDir()

virtual RooWorkspace::WSDir::~WSDir ( )
inlinevirtual

Definition at line 233 of file RooWorkspace.h.

Member Function Documentation

◆ Add()

void RooWorkspace::WSDir::Add ( TObject obj,
Bool_t   
)
virtual

Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.

Reimplemented from TDirectoryFile.

Definition at line 3005 of file RooWorkspace.cxx.

◆ Append()

void RooWorkspace::WSDir::Append ( TObject obj,
Bool_t   
)
virtual

Overload TDirectory interface method to prohibit insertion of objects in read-only directory workspace representation.

Reimplemented from TDirectoryFile.

Definition at line 3018 of file RooWorkspace.cxx.

◆ InternalAppend()

void RooWorkspace::WSDir::InternalAppend ( TObject obj)
protected

Internal access to TDirectory append method.

Definition at line 2996 of file RooWorkspace.cxx.

Friends And Related Symbol Documentation

◆ RooWorkspace

friend class RooWorkspace
friend

Definition at line 240 of file RooWorkspace.h.

Member Data Documentation

◆ _wspace

RooWorkspace* RooWorkspace::WSDir::_wspace
protected

Definition at line 242 of file RooWorkspace.h.

Libraries for RooWorkspace::WSDir:

The documentation for this class was generated from the following files: