library: libRooFit
#include "RooGrid.h"

RooGrid


class description - source file - inheritance tree (.pdf)

class RooGrid : public TObject, public RooPrintable

Inheritance Chart:
TObject
RooPrintable
<-
RooGrid

    protected:
Double_t& coord(Int_t i, Int_t j) Double_t& newCoord(Int_t i) Double_t& value(Int_t i, Int_t j) public:
RooGrid() RooGrid(const RooAbsFunc& function) RooGrid(const RooGrid&) virtual ~RooGrid() void accumulate(const UInt_t* bin, Double_t amount) static TClass* Class() Double_t coord(Int_t i, Int_t j) const UInt_t* createIndexVector() const Double_t* createPoint() const void firstBox(UInt_t* box) const void generatePoint(const UInt_t* box, Double_t* x, UInt_t* bin, Double_t& vol, Bool_t useQuasiRandom = kTRUE) const UInt_t getDimension() const UInt_t getNBins() const UInt_t getNBoxes() const Double_t getVolume() const Bool_t initialize(const RooAbsFunc& function) virtual TClass* IsA() const Bool_t isValid() const Bool_t nextBox(UInt_t* box) const RooGrid& operator=(const RooGrid&) virtual void Print(Option_t* options = "0") const virtual void printToStream(ostream& os, RooPrintable::PrintOption opt = Standard, TString indent = ) const void refine(Double_t alpha = 1.5) void resetValues() void resize(UInt_t bins) void setNBoxes(UInt_t boxes) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) Double_t value(Int_t i, Int_t j) const

Data Members


    protected:
Bool_t _valid UInt_t _dim UInt_t _bins UInt_t _boxes Double_t _vol Double_t* _xl ! do not persist Double_t* _xu ! do not persist Double_t* _delx ! do not persist Double_t* _d ! do not persist Double_t* _xi ! do not persist Double_t* _xin ! do not persist Double_t* _weight ! do not persist public:
static const enum RooGrid:: maxBins

Class Description


RooGrid()

RooGrid(const RooAbsFunc &function) : _valid(kTRUE), _xl(0),_xu(0),_delx(0),_xi(0)
 check that the input function is valid

~RooGrid()

Bool_t initialize(const RooAbsFunc &function)
 Calculate and store the grid dimensions and volume using the
 specified function, and initialize the grid using a single bin.
 Return kTRUE, or else kFALSE if the range is not valid.

void resize(UInt_t bins)
 Adjust the subdivision of each axis to give the specified
 number of bins, using an algorithm that preserves relative
 bin density. The new binning can be finer or coarser than
 the original binning.

void resetValues()
 Reset the values associated with each grid cell.

void generatePoint(const UInt_t box[], Double_t x[], UInt_t bin[], Double_t &vol, Bool_t useQuasiRandom) const
 Generate a random vector in the specified box and and store its
 coordinates in the x[] array provided, the corresponding bin
 indices in the bin[] array, and the volume of this bin in vol.
 The box is specified by the array box[] of box integer indices
 that each range from 0 to getNBoxes()-1.

void firstBox(UInt_t box[]) const
 Reset the specified array of box indices to refer to the first box
 in the standard traversal order.

Bool_t nextBox(UInt_t box[]) const
 Update the specified array of box indices to refer to the next box
 in the standard traversal order and return kTRUE, or else return
 kFALSE if we the indices already refer to the last box.

void printToStream(ostream& os, PrintOption opt, TString indent) const
 Print info about this object to the specified stream.

void accumulate(const UInt_t bin[], Double_t amount)
 Add the specified amount to bin[j] of the 1D histograms associated
 with each axis j.

void refine(Double_t alpha)
 Refine the grid using the values that have been accumulated so far.
 The parameter alpha controls the stiffness of the rebinning and should
 usually be between 1 (stiffer) and 2 (more flexible). A value of zero
 prevents any rebinning.



Inline Functions


               void Print(Option_t* options = "0") const
             Bool_t isValid() const
             UInt_t getDimension() const
           Double_t getVolume() const
             UInt_t getNBins() const
             UInt_t getNBoxes() const
               void setNBoxes(UInt_t boxes)
          Double_t* createPoint() const
            UInt_t* createIndexVector() const
           Double_t coord(Int_t i, Int_t j) const
           Double_t value(Int_t i, Int_t j) const
          Double_t& coord(Int_t i, Int_t j)
          Double_t& value(Int_t i, Int_t j)
          Double_t& newCoord(Int_t i)
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
            RooGrid RooGrid(const RooGrid&)
           RooGrid& operator=(const RooGrid&)


Last update: Tue Jun 28 18:12:59 2005
Copyright (c) 2000-2005, Regents of the University of California *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.