Logo ROOT   6.16/01
Reference Guide
THbookFile.h
Go to the documentation of this file.
1// @(#)root/hbook:$Id$
2// Author: Rene Brun 18/02/2002
3
4/*************************************************************************
5 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_THbookFile
13#define ROOT_THbookFile
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// THbookFile //
19// //
20// ROOT interface to Hbook/PAW files //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TFile.h"
25
26
27class TTreeFormula;
28
29class THbookFile : public TNamed {
30
31protected:
32 Int_t fLun; //Fortran logical unit for this file
33 Int_t fLrecl; //Record length in Hbook machine words
34 TList *fList; //list of objects in memory
35 TList *fKeys; //list of Hbook keys (Ids) on disk
36 TString fCurDir; //name of current directory
37
39 static Int_t *fgLuns;
40
41public:
42
43 THbookFile();
44 THbookFile(const char *fname, Int_t lrecl=1024);
45 virtual ~THbookFile();
46 virtual void Browse(TBrowser *b);
47 virtual Bool_t cd(const char *dirname="");
48 virtual void Close(Option_t *option="");
49 virtual TFile *Convert2root(const char *rootname="", Int_t lrecl=0, Option_t *option=""); // *MENU*
50 virtual TObject *ConvertCWN(Int_t id);
51 virtual TObject *ConvertRWN(Int_t id);
52 virtual TObject *ConvertProfile(Int_t id);
53 virtual TObject *Convert1D(Int_t id);
54 virtual TObject *Convert2D(Int_t id);
55 void DeleteID(Int_t id);
56 virtual TObject *FindObject(const char *name) const;
57 virtual TObject *FindObject(const TObject *obj) const;
58 TObject *Get(Int_t id);
59 const char *GetCurDir() const {return fCurDir.Data();}
60 Int_t GetEntry(Int_t entry,Int_t id, Int_t atype, Float_t *x);
62 Long64_t GetSize() const {return 0;}
63 TList *GetList() const {return fList;}
64 TList *GetListOfKeys() const { return fKeys; }
65 void InitLeaves(Int_t id, Int_t var, TTreeFormula *formula);
66 Bool_t IsFolder() const { return kTRUE; }
67 virtual Bool_t IsOpen() const;
68 virtual void ls(const char *path="") const;
69 virtual void SetBranchAddress(Int_t id, const char *bname, void *add);
70
71 ClassDef(THbookFile,1) //ROOT interface to Hbook/PAW files
72};
73
74#endif
#define b(i)
Definition: RSha256.hxx:100
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
long long Long64_t
Definition: RtypesCore.h:69
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
Definition: TFile.h:48
This class is an interface to the Hbook objects in Hbook files.
Definition: THbookFile.h:29
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...
Definition: THbookFile.cxx:552
Int_t fLun
Definition: THbookFile.h:32
TObject * Get(Int_t id)
import Hbook object with identifier idd in memory
Definition: THbookFile.cxx:443
static Bool_t fgPawInit
Definition: THbookFile.h:38
Int_t fLrecl
Definition: THbookFile.h:33
void DeleteID(Int_t id)
remove id from file and memory
Definition: THbookFile.cxx:419
Int_t GetEntryBranch(Int_t entry, Int_t id)
Read in memory only the branch bname.
Definition: THbookFile.cxx:529
virtual void Close(Option_t *option="")
Close the Hbook file.
Definition: THbookFile.cxx:396
TString fCurDir
Definition: THbookFile.h:36
virtual TObject * FindObject(const char *name) const
return object with name in fList in memory
Definition: THbookFile.cxx:427
TList * fList
Definition: THbookFile.h:34
const char * GetCurDir() const
Definition: THbookFile.h:59
virtual ~THbookFile()
destructor
Definition: THbookFile.cxx:337
virtual void SetBranchAddress(Int_t id, const char *bname, void *add)
Set branch address.
Definition: THbookFile.cxx:585
TList * GetList() const
Definition: THbookFile.h:63
virtual Bool_t cd(const char *dirname="")
change directory to dirname
Definition: THbookFile.cxx:360
THbookFile()
the constructor
Definition: THbookFile.cxx:253
static Int_t * fgLuns
Definition: THbookFile.h:39
virtual void ls(const char *path="") const
List contents of Hbook directory.
TList * fKeys
Definition: THbookFile.h:35
virtual TObject * Convert1D(Int_t id)
Convert an Hbook 1-d histogram into a Root TH1F.
Definition: THbookFile.cxx:919
virtual void Browse(TBrowser *b)
to be implemented
Definition: THbookFile.cxx:348
virtual TObject * ConvertProfile(Int_t id)
Convert an Hbook profile histogram into a Root TProfile.
Definition: THbookFile.cxx:878
Bool_t IsFolder() const
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
Definition: THbookFile.h:66
virtual TFile * Convert2root(const char *rootname="", Int_t lrecl=0, Option_t *option="")
Convert this Hbook file to a Root file with name rootname.
Definition: THbookFile.cxx:605
Long64_t GetSize() const
Definition: THbookFile.h:62
virtual Bool_t IsOpen() const
Returns kTRUE in case file is open and kFALSE if file is not open.
Definition: THbookFile.cxx:576
virtual TObject * Convert2D(Int_t id)
Convert an Hbook 2-d histogram into a Root TH2F.
Definition: THbookFile.cxx:971
virtual TObject * ConvertCWN(Int_t id)
Convert the Column-Wise-Ntuple id to a Root Tree.
Definition: THbookFile.cxx:645
TList * GetListOfKeys() const
Definition: THbookFile.h:64
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.
Definition: THbookFile.cxx:515
virtual TObject * ConvertRWN(Int_t id)
Convert the Row-Wise-Ntuple id to a Root Tree.
Definition: THbookFile.cxx:798
A doubly linked list.
Definition: TList.h:44
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
Used to pass a selection expression to the Tree drawing routine.
Definition: TTreeFormula.h:58
Double_t x[n]
Definition: legend1.C:17