60#define PAWC_SIZE 4000000 
   67#  define hcbits hcbits_ 
   68#  define hcbook hcbook_ 
   82extern "C" int quest[100];
 
   85extern "C" int rzcl[11];
 
  105# define hlimit  hlimit_ 
  107# define hropen  hropen_ 
  110# define hnoent  hnoent_ 
  112# define hgiven  hgiven_ 
  113# define hgnpar  hgnpar_ 
  119# define hdcofl  hdcofl_ 
  120# define hmaxim  hmaxim_ 
  121# define hminim  hminim_ 
  122# define hdelet  hdelet_ 
  123# define hntvar2 hntvar2_ 
  124# define hntvar3 hntvar3_ 
  125# define hbname  hbname_ 
  126# define hbnamc  hbnamc_ 
  138# define DEFCHAR  const char* 
  139# define PASSCHAR(string) string 
  141# define hlimit  HLIMIT 
  143# define hropen  HROPEN 
  146# define hnoent  HNOENT 
  148# define hgiven  HGIVEN 
  149# define hgnpar  HGNPAR 
  155# define hdcofl  HDCOFL 
  156# define hmaxim  HMAXIM 
  157# define hminim  HMINIM 
  158# define hdelet  HDELET 
  159# define hntvar2 HNTVAR2 
  160# define hntvar3 HNTVAR3 
  161# define hbname  HBNAME 
  162# define hbnamc  HBNAMC 
  172# define type_of_call  _stdcall 
  173# define DEFCHAR  const char*, const int 
  174# define PASSCHAR(string) string, strlen(string) 
  180                        const int&,
const int&,
const int,
const int,
const int);
 
  184                        const int&,
const int&);
 
  192   const int&,
const float&,
const float&,
const int&,
const int&,
const int);
 
  195   const int&,
const float&,
const float&,
const int&,
const int&);
 
  201   const float&,
const float&,
const int,
const int);
 
  205   const float&,
const float&);
 
  210extern "C" void  type_of_call hntvar2(
const int&,
const int&,
DEFCHAR,
DEFCHAR,
DEFCHAR,
int&,
int&,
int&,
int&,
int&,
const int,
const int, 
const int);
 
  278      for (i=0;i<10;i++) 
fgLuns[i] = 0;
 
  291      Error(
"THbookFile",
"Too many HbookFiles\n");
 
  310      printf(
"Error cannot open input file: %s\n",
fname);
 
  321   gROOT->GetListOfBrowsables()->Add(
this,
fname);
 
  325   for (
Int_t key=1;key<1000000;key++) {
 
  329      if (
quest[13] & 8) 
continue;
 
 
  354      b->Add(
fKeys, 
"IDs on disk");
 
 
  376   for (i=0;i<512;i++) 
cdir[i] = 
' ';
 
  385   for (i=510;i>=0;i--) {
 
  386      if (
cdir[i] != 
' ') 
break;
 
 
  403   gROOT->GetListOfBrowsables()->Remove(
this);
 
 
  448   for (
Int_t key=1;key<1000000;key++) {
 
  452      if (
quest[13] & 8)  
continue;
 
  454      if (
id == 
idd) 
break;
 
  456   if (
id == 0) 
return nullptr;
 
  458      printf(
"Error cannot find ID = %d\n",
idd);
 
  468         printf(
"WARNING, previous ID=%d is replaced\n",
id);
 
  475      printf(
"Error cannot read ID = %d\n",
id);
 
 
  556   if (!formula) 
return;
 
  566      if (var == 1 && i == 
ncodes) last = 1;
 
 
  628   char *cmd = 
new char[
nch+1];
 
  639   if (
f->IsZombie()) {
delete f; 
f = 
nullptr;}
 
 
  674   for (i=0;i<80;i++)
chtitl[i]=0;
 
  690   for (i=80;i>0;i--) {
if (
chtitl[i] == 
' ') 
chtitl[i] = 0; }
 
  692   tree->SetHbookFile(
this);
 
  695   char *
bigbuf = tree->MakeX(500000);
 
  706   for(i=0; i<nvar;i++) {
 
  711      memset(fullname,
' ',
sizeof(fullname));
 
  712      fullname[
sizeof(fullname)-1]=0;
 
  714      hntvar2(
id,i+1,
PASSCHAR(
name),
PASSCHAR(fullname),
PASSCHAR(
block),
nsub,
itype,
isize,
nbits,
ielem,32,64,32);
 
  730         if (fullname[
j] == 
' ') fullname[
j] = 0;
 
  766      tree->GetListOfBranches()->Add(
branch);
 
 
  831   for (i=0;i<80;i++)
chtitl[i]=0;
 
  839   for (i=80;i>0;i--) {
if (
chtitl[i] == 
' ') 
chtitl[i] = 0; }
 
  841   tree->SetHbookFile(
this);
 
  846   for(i=0; i<nvar;i++) {
 
  860         if (
name[
j] != 
' ') 
break;
 
  868      tree->GetListOfBranches()->Add(
branch);
 
 
  896   hgive(
id,
chtitl,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb,80);
 
  898   hgive(
id,
chtitl,80,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb);
 
  911   for (i=1;i<=
ncx;i++) {
 
  920      p->SetBinError(i,error);
 
 
  935   hgive(
id,
chtitl,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb,80);
 
  937   hgive(
id,
chtitl,80,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb);
 
  945      for (i=0;i<=
ncx;i++) xbins[i] = 
q[
lbins+i+1];
 
  959   for (i=0;i<=
ncx+1;i++) {
 
 
  987   hgive(
id,
chtitl,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb,80);
 
  989   hgive(
id,
chtitl,80,
ncx,
xmin,
xmax,
ncy,
ymin,
ymax,
nwt,
idb);
 
 1005            h2->SetBinError(i,
j,
err2);
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
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 nchar
 
R__EXTERN TSystem * gSystem
 
Using a TBrowser one can browse all ROOT objects.
 
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
 
A TGraph is an object made of two arrays X and Y with npoints each.
 
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
 
1-D histogram with a float per channel (see TH1 documentation)
 
virtual Double_t GetBinCenter(Int_t bin) const
Return bin center for 1D histogram.
 
virtual void SetMaximum(Double_t maximum=-1111)
 
virtual void SetBinError(Int_t bin, Double_t error)
Set the bin Error Note that this resets the bin eror option to be of Normal Type and for the non-empt...
 
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
 
virtual void SetMinimum(Double_t minimum=-1111)
 
TList * GetListOfFunctions() const
 
virtual void Sumw2(Bool_t flag=kTRUE)
Create structure to store sum of squares of weights.
 
virtual void SetEntries(Double_t n)
 
2-D histogram with a float per channel (see TH1 documentation)
 
This class is an interface to the Hbook objects in Hbook files.
 
void InitLeaves(Int_t id, Int_t var, TTreeFormula *formula)
This function is called from the first entry in TTreePlayer::InitLoop It analyzes the list of variabl...
 
TObject * Get(Int_t id)
import Hbook object with identifier idd in memory
 
void DeleteID(Int_t id)
remove id from file and memory
 
Int_t GetEntryBranch(Int_t entry, Int_t id)
Read in memory only the branch bname.
 
virtual void Close(Option_t *option="")
Close the Hbook file.
 
void ls(const char *path="") const override
List contents of Hbook directory.
 
virtual void SetBranchAddress(Int_t id, const char *bname, void *add)
Set branch address.
 
virtual Bool_t cd(const char *dirname="")
change directory to dirname
 
~THbookFile() override
destructor
 
THbookFile()
the constructor
 
TObject * FindObject(const char *name) const override
return object with name in fList in memory
 
virtual TObject * Convert1D(Int_t id)
Convert an Hbook 1-d histogram into a Root TH1F.
 
virtual TObject * ConvertProfile(Int_t id)
Convert an Hbook profile histogram into a Root TProfile.
 
virtual TFile * Convert2root(const char *rootname="", Int_t lrecl=0, Option_t *option="")
Convert this Hbook file to a Root file with name rootname.
 
virtual Bool_t IsOpen() const
Returns kTRUE in case file is open and kFALSE if file is not open.
 
virtual TObject * Convert2D(Int_t id)
Convert an Hbook 2-d histogram into a Root TH2F.
 
virtual TObject * ConvertCWN(Int_t id)
Convert the Column-Wise-Ntuple id to a Root Tree.
 
void Browse(TBrowser *b) override
to be implemented
 
Int_t GetEntry(Int_t entry, Int_t id, Int_t atype, Float_t *x)
Read in memory all columns of entry number of ntuple id from the Hbook file.
 
virtual TObject * ConvertRWN(Int_t id)
Convert the Row-Wise-Ntuple id to a Root Tree.
 
A wrapper class supporting Hbook ntuples (CWN and RWN).
 
A TLeaf for an Integer data type.
 
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
 
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
 
void Add(TObject *obj) override
 
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
 
The TNamed class is the base class for all named ROOT classes.
 
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
 
const char * GetName() const override
Returns name of object.
 
const char * GetTitle() const override
Returns title of object.
 
TObject * UncheckedAt(Int_t i) const
 
Mother of all ROOT objects.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
void ToLower()
Change string to lower-case.
 
const char * Data() const
 
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
 
virtual Int_t Exec(const char *shellcmd)
Execute a command.
 
Double_t Sqrt(Double_t x)
Returns the square root of x.