94 :
TNamed(
"TFileDrawMap",
"")
104 if (file->
GetEND() > 1000000) {
110 fFrame->SetDirectory(
nullptr);
115 fFrame->GetYaxis()->SetTitle(
"MBytes");
117 fFrame->GetYaxis()->SetTitle(
"KBytes");
119 fFrame->GetXaxis()->SetTitle(
"Bytes");
157 if (pos ==
kNPOS)
return;
159 pos = ourbranches.
Index(
", branch=");
160 if (pos ==
kNPOS)
return;
161 ourbranches[pos] = 0;
166 if (strlen(branches) > 0) info = branches;
167 else info = ourbranches.
Data()+pos+9;
168 printf(
"Animating tree, branches=%s\n",info.
Data());
175 while((comma = strrchr((
char*)info.
Data(),
','))) {
178 while (*comma ==
' ') comma++;
179 branch = tree->GetBranch(comma);
186 comma = (
char*)info.
Data();
187 while (*comma ==
' ') comma++;
188 branch = tree->GetBranch(comma);
195 Int_t nbranches = list.GetEntries();
202 gPad->SetDoubleBuffer(0);
205 for (
Int_t ib=0;ib<nbranches;ib++) {
206 branch = (
TBranch*)list.At(ib);
233 if (px > pxmin && px < pxmax && py > pymax &&
py < pymin) {
237 return fFrame->DistancetoPrimitive(px,
py);
248 Int_t mark = marker%4;
284 if (padsave ==
gPad) {
286 gROOT->MakeDefCanvas();
287 }
else if (padsave) {
292 char *info =
new char[
fName.Length()+1];
294 char *cbasket = (
char*)strstr(info,
", basket=");
297 char *cbranch = (
char*)strstr(info,
", branch=");
298 if (!cbranch) {
delete [] info;
return; }
302 if (tree) tree->Draw(cbranch);
311 if (obj) obj->
Draw();
325 char *centry = (
char*)strstr(
GetName(),
"entry=");
328 sscanf(centry+6,
"%d",&entry);
330 char *colon = (
char*)strstr((
char*)info.
Data(),
"::");
335 if (tree) tree->Show(entry);
351 if (strstr(
GetName(),
"entry="))
return nullptr;
352 char *info =
new char[
fName.Length()+1];
354 char *colon = strstr(info,
"::");
361 auto res =
fFile->Get(info);
377 return (
char*)info.
Data();
398 while ((key = (
TKey*)next())) {
416 TIter nextb(tree->GetListOfLeaves());
418 while ((leaf = (
TLeaf*)nextb())) {
427 if (pbyte >= bseek && pbyte < bseek+nbytes) {
429 if (!offsets) entry += (pbyte-bseek)/
len;
442 if (pbyte >= bseek && pbyte < bseek+nbytes) {
460 if (pbyte >=
fFile->GetSeekInfo() && pbyte < fFile->GetSeekInfo()+
fFile->GetNbytesInfo()) {
461 info.
Form(
"%sStreamerInfo List, nbytes=%d",dir->
GetPath(),
fFile->GetNbytesInfo());
466 if (pbyte >=
fFile->GetSeekFree() && pbyte < fFile->GetSeekFree()+
fFile->GetNbytesFree()) {
472 info.
Form(
"(byte=%lld)",pbyte);
492 if (!
fOption.Contains(
"same")) {
495 if (
fFrame->GetMaximumStored() < -1000) {
518 for (
Int_t j=0;j<ny;j++) {
527 if (
xmin >
gPad->GetUxmax())
continue;
531 if (
ymin >
gPad->GetUymax())
continue;
550 while ((key = (
TKey*)next())) {
559 box.SetFillColor(color);
560 box.SetFillStyle(1001);
575 TIter nextb(tree->GetListOfLeaves());
577 while ((leaf = (
TLeaf*)nextb())) {
581 gPad->IncrementPaletteColor(1,
"pfc");
582 color =
gPad->NextPaletteColor();
584 box.SetFillColor(color);
596 box.SetFillColor(50);
597 box.SetFillStyle(1001);
602 box.SetFillStyle(3008);
606 box.SetFillStyle(1001);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
R__EXTERN C unsigned int sleep(unsigned int seconds)
R__EXTERN TSystem * gSystem
virtual Color_t GetFillColor() const
Return the fill area color.
A TTree is a list of TBranches.
virtual Long64_t GetBasketSeek(Int_t basket) const
Return address of basket in the file.
TObjArray * GetListOfBaskets()
Int_t GetMaxBaskets() const
Int_t * GetBasketBytes() const
Long64_t GetZipBytes(Option_t *option="") const
Return total number of zip bytes in the branch if option ="*" includes all sub-branches of this branc...
Long64_t * GetBasketEntry() const
Int_t GetEntryOffsetLen() const
TClass instances represent classes, structs and namespaces in the ROOT type system.
Bool_t InheritsFrom(const char *cl) const override
Return kTRUE if this class inherits from a class with name "classname".
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Describe directory structure in memory.
virtual Int_t GetNbytesKeys() const
virtual Bool_t cd()
Change current directory to "this" directory.
virtual Long64_t GetSeekKeys() const
virtual TList * GetListOfKeys() const
virtual const char * GetPath() const
This class is automatically called by TFile::DrawMap.
virtual bool GetObjectInfoDir(TDirectory *dir, Int_t px, Int_t py, TString &info) const
Redefines TObject::GetObjectInfo.
TFile * fFile
Pointer to the file.
virtual void DrawObject()
Draw object at the mouse position.
virtual void DrawMarker(Int_t marker, Long64_t eseek)
Draw marker.
Int_t fYsize
Size in K/Mbytes of Y axis.
TString fKeys
List of keys.
TString fOption
Drawing options.
~TFileDrawMap() override
Tree destructor.
virtual void PaintDir(TDirectory *dir, const char *keys)
Paint keys in a directory.
Int_t fXsize
Size in bytes of X axis.
virtual void DumpObject()
Dump object at the mouse position.
virtual void InspectObject()
Inspect object at the mouse position.
TFileDrawMap()
Default TreeFileMap constructor.
char * GetObjectInfo(Int_t px, Int_t py) const override
Redefines TObject::GetObjectInfo.
virtual void PaintBox(TBox &box, Long64_t bseek, Int_t nbytes)
Paint the object at bseek with nbytes using the box object.
virtual TObject * GetObject()
Retrieve object at the mouse position in memory.
virtual void AnimateTree(const char *branches="")
Show sequence of baskets reads for the list of baskets involved in the list of branches (separated by...
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
TH1 * fFrame
Histogram used to draw the map frame.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to this TreeFileMap.
void Paint(Option_t *option) override
Paint this TFileDrawMap.
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
virtual Long64_t GetEND() const
1-D histogram with a double per channel (see TH1 documentation)
@ kNoStats
Don't draw stats box.
Book space in a file, create I/O buffers, to fill them, (un)compress them.
virtual Long64_t GetSeekKey() const
virtual const char * GetClassName() const
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
virtual Int_t GetLen() const
Return the number of effective elements of this leaf, for the current entry.
TBranch * GetBranch() const
const char * GetName() const override
Returns name of object.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual void Inspect() const
Dump contents of this object in a graphics canvas.
virtual void Dump() const
Dump contents of object on stdout.
virtual UInt_t GetUniqueID() const
Return the unique object id.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
TObject()
TObject constructor.
@ kCanDelete
if object in a list can be deleted
Regular expression class.
const char * Data() const
TString & Remove(Ssiz_t pos)
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
A TTree represents a columnar dataset.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Long64_t BinarySearch(Long64_t n, const T *array, T value)
Binary search in an array of n values to locate value.