93 :
TNamed(
"TFileDrawMap",
"")
103 if (
file->GetEND() > 1000000) {
156 if (pos ==
kNPOS)
return;
158 pos = ourbranches.
Index(
", branch=");
159 if (pos ==
kNPOS)
return;
160 ourbranches[pos] = 0;
165 if (strlen(branches) > 0) info = branches;
166 else info = ourbranches.
Data()+pos+9;
167 printf(
"Animating tree, branches=%s\n",info.
Data());
174 while((comma = strrchr((
char*)info.
Data(),
','))) {
177 while (*comma ==
' ') comma++;
178 branch =
tree->GetBranch(comma);
185 comma = (
char*)info.
Data();
186 while (*comma ==
' ') comma++;
187 branch =
tree->GetBranch(comma);
201 gPad->SetDoubleBuffer(0);
204 for (
Int_t ib=0;ib<nbranches;ib++) {
232 if (px > pxmin && px < pxmax && py > pymax && py < pymin) {
283 if (padsave ==
gPad) {
285 gROOT->MakeDefCanvas();
293 char *cbasket = (
char*)strstr(info,
", basket=");
296 char *cbranch = (
char*)strstr(info,
", branch=");
297 if (!cbranch)
return;
307 if (obj) obj->
Draw();
321 char *centry = (
char*)strstr(
GetName(),
"entry=");
324 sscanf(centry+6,
"%d",&entry);
326 char *colon = (
char*)strstr((
char*)info.
Data(),
"::");
347 if (strstr(
GetName(),
"entry="))
return 0;
350 char *colon = strstr(info,
"::");
351 if (!colon)
return 0;
368 return (
char*)info.
Data();
389 while ((key = (
TKey*)next())) {
409 while ((leaf = (
TLeaf*)nextb())) {
414 for (
Int_t i=0;i<nbaskets;i++) {
418 if (pbyte >= bseek && pbyte < bseek+nbytes) {
420 if (!offsets) entry += (pbyte-bseek)/len;
433 if (pbyte >= bseek && pbyte < bseek+nbytes) {
463 info.
Form(
"(byte=%lld)",pbyte);
509 for (
Int_t j=0;j<ny;j++) {
517 if (xmax < gPad->GetUxmin())
continue;
518 if (
xmin >
gPad->GetUxmax())
continue;
519 if (xmin < gPad->GetUxmin())
xmin =
gPad->GetUxmin();
521 if (ymax < gPad->GetUymin())
continue;
522 if (
ymin >
gPad->GetUymax())
continue;
523 if (ymin < gPad->GetUymin())
ymin =
gPad->GetUymin();
541 while ((key = (
TKey*)next())) {
550 box.SetFillColor(color);
551 box.SetFillStyle(1001);
568 while ((leaf = (
TLeaf*)nextb())) {
571 if (color == 0) color = 1;
572 box.SetFillColor(color);
574 for (
Int_t i=0;i<nbaskets;i++) {
584 box.SetFillColor(50);
585 box.SetFillStyle(1001);
590 box.SetFillStyle(3008);
594 box.SetFillStyle(1001);
R__EXTERN C unsigned int sleep(unsigned int seconds)
R__EXTERN TSystem * gSystem
virtual Color_t GetFillColor() const
Return the fill area color.
virtual void SetLimits(Double_t xmin, Double_t xmax)
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
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.
TObject * Get(const char *namecycle) override
Return pointer to object identified by namecycle.
Describe directory structure in memory.
virtual Int_t GetNbytesKeys() const
virtual const char * GetPath() const
Returns the full path of the directory.
virtual Long64_t GetSeekKeys() const
virtual TList * GetListOfKeys() const
void GetObject(const char *namecycle, T *&ptr)
virtual Bool_t cd(const char *path=nullptr)
Change current directory to "this" directory.
This class is automatically called by TFile::DrawMap.
virtual void DrawObject()
Draw object at the mouse position.
virtual void DrawMarker(Int_t marker, Long64_t eseek)
Draw marker.
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to this TreeFileMap.
virtual void PaintDir(TDirectory *dir, const char *keys)
Paint keys in a directory.
virtual void Paint(Option_t *option)
Paint this TFileDrawMap.
virtual void DumpObject()
Dump object at the mouse position.
virtual void InspectObject()
Inspect object at the mouse position.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Redefines TObject::GetObjectInfo.
TFileDrawMap()
Default TreeFileMap constructor.
virtual Bool_t GetObjectInfoDir(TDirectory *dir, Int_t px, Int_t py, TString &info) const
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...
virtual ~TFileDrawMap()
Tree destructor.
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
virtual Long64_t GetSeekFree() const
virtual Long64_t GetEND() const
virtual Long64_t GetSeekInfo() const
virtual Int_t GetNbytesFree() const
virtual Int_t GetNbytesInfo() const
1-D histogram with a double per channel (see TH1 documentation)}
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
@ kNoStats
don't draw stats box
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
virtual void SetMaximum(Double_t maximum=-1111)
virtual void SetMinimum(Double_t minimum=-1111)
virtual void Draw(Option_t *option="")
Draw this histogram with options.
virtual Double_t GetMaximumStored() const
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
Execute action corresponding to one event.
virtual void Paint(Option_t *option="")
Control routine to paint any kind of histograms.
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a line.
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
The TNamed class is the base class for all named ROOT classes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual const char * GetName() const
Returns name of object.
Int_t GetEntries() const
Return the number of objects in array (i.e.
TObject * At(Int_t idx) const
Mother of all ROOT objects.
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.
@ kCanDelete
if object in a list can be deleted
Regular expression class.
void ToLower()
Change string to lower-case.
const char * Data() const
TString & Remove(Ssiz_t pos)
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
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)
static constexpr double s
Long64_t BinarySearch(Long64_t n, const T *array, T value)