HepTuple
Current Version: V00-04-11
HepTuple is in the process of becoming an abstract package. Hippo has been removed and HBook has been moved to a separate package, HbkTuple.
HepTuple will go through three stages to migrate HBook out into another package.
- Release 6.3: No change will be necessary for the user, but HbkTuple will be available. Done!
- Release 6.4: User code will compile, but will not link, if migration to HbkTuple has not occurred. Done!
- Release 6.5: User code will no longer compile. As of V00-04-11
Recent Changes to HepTuple
- Addition of histogram ntuple ID's to HepTupleManager
A new addition to HepTuple is HepHistID, which allows users to attach a unique ID to a histogram or ntuple. It allows a string, integer or combination ID, which is used in an implementation-dependent way to implentations of HepTuple.
- Addition of accessors to HepTupleManager
The following pure virtual functions have been added to HepTupleManager:
- virtual HepHistogram * getHist(size_t index) const = 0;
// get a hist in the present directory by index
- virtual size_t getNumDir() const = 0;
// get the number of sub-directories
- virtual size_t getNumHist() const = 0;
// get the number of histograms in the directory
- virtual HepString getDirName(size_t index) const = 0;
// get the directory name
- virtual HepString getHistName(size_t index) const = 0;
// get the histogram name
- virtual HepString getHistName(size_t dirIndex,size_t HistIndex) const = 0;
// get the histogram name
- virtual bool getDirIndex(HepString dirName,size_t & index) const = 0;
// get index, return true if found
- Addition of accessors to HepHistogram
The following pure virtual functions have been added to HepHistogram:
- virtual float getContents(int nbinsX,int nbinsY=0) const = 0;
// contents of a bin
- virtual int getEntries(void) const = 0;
// total number of entries
- virtual float getWtSum(void) const = 0;
// weighted sum
- virtual int getNbins(Dimension theDim) const = 0;
// number of bins in a dimension
- virtual float getLow(Dimension theDim) const = 0;
// low edge of a dimension
- virtual float getHigh(Dimension theDim) const = 0;
// high edge of a dimension
- virtual float getAvg(Dimension theDim) const = 0; // average X * wtsum
// average of theDim
- virtual float getCovar(Dimension dim1,Dimension dim2=dimX) const = 0;
// AVG(dim1*dim2) - AVG(dim1) * AVG(dim2)
- Migration of HepHistogram and HepTupleManager to abstract classes.
Much of the bodies of HepHistogram and HepTupleManager have been removed. HepHistogram.cc and HepTupleManager.cc no longer are part of the package. Many of the functions were dummies that printed error messages stating that they should not be called.
These have been replaced with pure virtual functions which give compile errors if they are not implemented, rather than run-time errors.
Upcoming Changes
- Addition of ID's for ntuples. (As of V00-04-07 )
- Addition of copy functions that ease switching between different manager instantiations. (As of V00-04-08)
Scott D. Metzler
metzler@caltech.edu
Last updated April 4, 1998 |