ROOT logo

class TFileDrawMap: public TNamed


 This class is automatically called by TFile::DrawMap
 It draws a canvas showing the internal structure of a ROOT file.
 Each key or basket in a file is shown with a fill area drawn
 at the byte position of the key/basket in the file.
 The Y axis of the canvas shows the number of Kbytes/Mbytes.
 The X axis shows the bytes between y(i) and y(i+1).
 A color corresponding to the class in the key/basket is automatically
 selected using the class unique identifier.

 When moving the mouse in the canvas, the "Event Status" panels
 shows the object corresponding to the mouse position.
 if the object is a key, it shows the class and object name as well as
    the file directory name if the file has sub-directories.
 if the object is a basket, it shows:
   -the name of the Tree
   -the name of the branch
   -the basket number
   -the entry number in the basket

 Special keys like the StreamerInfo record, the Keys List Record
 and the Free Blocks Record are also shown.

 When clicking the right mouse button, a pop-up menu is shown
 with its title identifying the picked object and with the items:
   -DrawObject: in case of a key, the Draw function of the object is called
                in case of a basket, the branch is drawn for all entries
   -DumpObject: in case of a key, the Dump function of the object is called
                in case of a basket, tree->Show(entry) is called
   -InspectObject: the Inspect function is called for the object.

 The normal axis zoom functionality can be used to zoom or unzoom
 One can also use the TCanvas context menu SetCanvasSize to make
 a larger canvas and use the canvas scroll bars.

 When the class is built, it is possible to identify a subset of the
 objects to be shown. For example, to view only the keys with
 names starting with "abc", set the argument keys to "abc*".
 The default is to view all the objects.
 The argument options can also be used (only one option currently)
 When the option "same" is given, the new picture is suprimposed.
 The option "same" is useful, eg:
  to draw all keys with names = "abc" in a first pass
 then all keys with names = "uv*" in a second pass, etc.

/* */

Function Members (Methods)

TFileDrawMap(const TFileDrawMap&)
TFileDrawMap(const TFile* file, const char* keys, Option_t* option)
voidTObject::AbstractMethod(const char* method) const
virtual voidAnimateTree(const char* branches = "")MENU
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidDrawObject()MENU
virtual voidTObject::Dump() constMENU
virtual voidDumpObject()MENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
virtual voidInspectObject()MENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TFileDrawMap&operator=(const TFileDrawMap&)
virtual voidPaint(Option_t* option)
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidDrawMarker(Int_t marker, Long64_t eseek)
virtual TObject*GetObject()
virtual Bool_tGetObjectInfoDir(TDirectory* dir, Int_t px, Int_t py, char* info) const
virtual voidPaintBox(TBox& box, Long64_t bseek, Int_t nbytes)
virtual voidPaintDir(TDirectory* dir, const char* keys)

Data Members

TFile*fFilepointer to the file
TH1*fFramehistogram used to draw the map frame
TStringfKeyslist of keys
TStringTNamed::fNameobject identifier
TStringfOptiondrawing options
TStringTNamed::fTitleobject title
Int_tfXsizesize in bytes of X axis
Int_tfYsizesize in K/Mbytes of Y axis

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

 Default TreeFileMap constructor
TFileDrawMap(const TFile* file, const char* keys, Option_t* option)
 TFileDrawMap normal constructor
 see descriptions of arguments above
Tree destructor*-*-*-*-
*-*                  =================
void AnimateTree(const char* branches = "")
 Show sequence of baskets reads for the list of baskets involved
 in the list of branches (separated by ",")
 if branches="", the branch pointed by the mouse is taken.
 if branches="*", all branches are taken
Int_t DistancetoPrimitive(Int_t px, Int_t py)
 Compute distance from point px,py to this TreeFileMap
 Find the closest object to the mouse, save its path in the TFileDrawMap name.
void DrawMarker(Int_t marker, Long64_t eseek)
 Draw marker
void DrawObject()
 Draw object at the mouse position
void DumpObject()
 Dump object at the mouse position
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 Execute action corresponding to one event
TObject * GetObject()
 Retrieve object at the mouse position in memory
char * GetObjectInfo(Int_t px, Int_t py) const
   Redefines TObject::GetObjectInfo.
   Displays the keys info in the file corresponding to cursor position px,py
   in the canvas status bar info panel
Bool_t GetObjectInfoDir(TDirectory* dir, Int_t px, Int_t py, char* info) const
   Redefines TObject::GetObjectInfo.
   Displays the keys info in the directory
   corresponding to cursor position px,py

void InspectObject()
 Inspect object at the mouse position
void Paint(Option_t* option)
void PaintBox(TBox& box, Long64_t bseek, Int_t nbytes)
 Paint the object at bseek with nbytes using the box object
void PaintDir(TDirectory* dir, const char* keys)
 Paint keys in a directory