#include <BinsBase.h>
Definition at line 33 of file BinsBase.h.
Public Member Functions | |
virtual void | accumulate (double x, double w_or_y=1.0, double z=1.0, double w=1.0)=0 |
Accumulates the data point with weight w. | |
virtual double | binWidth (hippodraw::Axes::Type axis) const =0 |
Returns the bin width parameter on the specified axis. | |
virtual double | calcBinWidth (hippodraw::Axes::Type axis, int parm, bool dragging) const =0 |
Calculates a new bin width base on dragging slider value. | |
virtual double | calcOffset (const std::string &, int parm, bool dragging) const =0 |
Calculates and returns a new range from dragging slider. | |
virtual BinsBase * | clone () const =0 |
The virtual function to make copy of concrete derived class. | |
virtual NTuple * | createNTuple () const =0 |
Creates an NTuple. | |
virtual void | fillDataSource (DataSource *ntuple) const =0 |
Fills the DataSource. | |
virtual const BinnerAxis * | getBinnerOn (hippodraw::Axes::Type axis) const =0 |
Returns the BinnerAxis object used by this object. | |
virtual int | getMinEntries () |
Get the minimum entries/bin. | |
virtual int | getNumberOfAxes () const =0 |
Returns the number of axes handled by the BinsBase derived class. | |
virtual int | getNumberOfEntries () const =0 |
Returns the true number of entries. | |
virtual double | getOffset (hippodraw::Axes::Type axis) const =0 |
Returns the offset parameter on specific axis. | |
virtual int | getOverflow () const =0 |
Returns the overflow. | |
virtual const Range & | getRange (hippodraw::Axes::Type axis)=0 |
virtual int | getUnderflow () const =0 |
Returns the underflow. | |
virtual double | getZValue (double x, double y) const |
Get the z value at the specified point (x,y). | |
virtual bool | hasEqualWidths () const =0 |
Returns true if all bins have the same width. | |
bool | isDirty () |
Returns true if the re-accumulation is needed. | |
bool | isEmpty () const |
Returns true if no accumulation has yet occurred, otherwise returns false . | |
const std::string & | name () const |
Returns the name of the Bins container object. | |
virtual int | numberOfBins (hippodraw::Axes::Type axis) const =0 |
Returns the number of bins on specified axis. | |
virtual NTuple * | prepareNTuple (unsigned int rows) const =0 |
Prepare NTuple representation of projected values. | |
virtual void | reset ()=0 |
Resets the accumulation to zero. | |
virtual double | scaleFactor () const |
Returns the scale factor. | |
virtual void | scaleNumberOfEntries (double number) |
Sets a scale factor on the output so that the number of entries appears to be number. | |
virtual void | setBinContents (const DataSource *ntuple)=0 |
Sets the contents of the bins from the ntuple. | |
virtual void | setBinnerOn (BinnerAxis *, hippodraw::Axes::Type axis)=0 |
Sets the bin calculator on specified axis. | |
virtual const Range & | setBinWidth (hippodraw::Axes::Type axis, double value)=0 |
Sets the bin width parameter on the specified axis. | |
void | setDirty () |
Sets a flag to indicate that re-binning needs to be done. | |
virtual void | setEntriesScaling (bool on) |
Sets the scaling number of entries on if on is true , otherwise turns if off. | |
virtual void | setMinEntries (int entries) |
Set the minimum entries/bin. | |
virtual void | setOffset (hippodraw::Axes::Type axis, double value)=0 |
Sets the offset parameter on the specified axis. | |
virtual const Range & | setRange (hippodraw::Axes::Type axis, const Range &, bool hold_width=true)=0 |
Sets the Range on the specified axis. | |
virtual | ~BinsBase () |
The virtual destructor. | |
Protected Member Functions | |
BinsBase (const BinsBase &binner) | |
The copy constructor. | |
BinsBase (const char *name) | |
The constructor taking the bins container name as argument. | |
virtual double | getLow (hippodraw::Axes::Type axis) const =0 |
Returns the low value of the bins on the specified axis. | |
virtual void | setNumberOfBins (hippodraw::Axes::Type axis, int number)=0 |
Sets the number of bins on the the specified axis. | |
Protected Attributes | |
bool | m_empty |
A flag set to true , when no accumulation has yet occurred, otherwise is set false . | |
bool | m_is_scaling |
A flag which is set true to enable scaling the output. | |
double | m_scale_factor |
The scale factor. | |
bool | m_values_dirty |
A flag to indicate that the objects in m_values are not correct. | |
Private Attributes | |
const std::string | m_name |
The name of the object in the Factory. |
BinsBase | ( | const char * | name | ) | [protected] |
The constructor taking the bins container name as argument.
Definition at line 30 of file BinsBase.cxx.
~BinsBase | ( | ) | [virtual] |
virtual void accumulate | ( | double | x, | |
double | w_or_y = 1.0 , |
|||
double | z = 1.0 , |
|||
double | w = 1.0 | |||
) | [pure virtual] |
Accumulates the data point with weight w.
Some derived class implementations make take second argument as the weight and ignore the remaining. Similarly for the third and fourth arguments.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
Referenced by ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), and DyHist1DProjector::execute().
virtual double binWidth | ( | hippodraw::Axes::Type | axis | ) | const [pure virtual] |
Returns the bin width parameter on the specified axis.
If the bins have all the same width, then returns the bin width. If the bin width are determined by some algorithm, then returns a parameter used to calculate the bin widths.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinningProjector::getBinWidth().
virtual double calcBinWidth | ( | hippodraw::Axes::Type | axis, | |
int | parm, | |||
bool | dragging | |||
) | const [pure virtual] |
Calculates a new bin width base on dragging slider value.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by Profile2DProjector::setBinWidth(), DyHist2DProjector::setBinWidth(), and BinningProjector::setBinWidth().
virtual double calcOffset | ( | const std::string & | , | |
int | parm, | |||
bool | dragging | |||
) | const [pure virtual] |
Calculates and returns a new range from dragging slider.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by Profile2DProjector::setOffset(), DyHist2DProjector::setOffset(), and BinningProjector::setOffset().
virtual BinsBase* clone | ( | ) | const [pure virtual] |
The virtual function to make copy of concrete derived class.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
Referenced by BinningProjector::BinningProjector().
virtual NTuple* createNTuple | ( | ) | const [pure virtual] |
Creates an NTuple.
Derived classes will return an NTuple appropriate to their binned data. They should at least contain the coordinates, error on the coordinates, the value, and error on the value.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
Referenced by BinningProjector::createNTuple().
virtual void fillDataSource | ( | DataSource * | ntuple | ) | const [pure virtual] |
Fills the DataSource.
Clears and fills the DataSource based on the contents of the bins. The resulting DataSource is follows the standard defined in hippodraw::DataPoint2DTuple or hippodraw::DataPoint3DTuple.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
virtual const BinnerAxis* getBinnerOn | ( | hippodraw::Axes::Type | axis | ) | const [pure virtual] |
Returns the BinnerAxis object used by this object.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinsBaseXML::createChildren().
virtual double getLow | ( | hippodraw::Axes::Type | axis | ) | const [protected, pure virtual] |
int getMinEntries | ( | ) | [virtual] |
Get the minimum entries/bin.
Reimplemented in Bins1DHist.
Definition at line 109 of file BinsBase.cxx.
virtual int getNumberOfAxes | ( | ) | const [pure virtual] |
Returns the number of axes handled by the BinsBase derived class.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinsBaseXML::createChildren().
virtual int getNumberOfEntries | ( | ) | const [pure virtual] |
Returns the true number of entries.
Returns the sum of the weight parameter of the accumulate member function.
Implemented in Bins1DHist, Bins1DProfile, and Bins2DBase.
Referenced by StHist2DProjector::getNumberOfEntries(), and StHist1DProjector::getNumberOfEntries().
virtual double getOffset | ( | hippodraw::Axes::Type | axis | ) | const [pure virtual] |
Returns the offset parameter on specific axis.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinningProjector::getOffset().
virtual int getOverflow | ( | ) | const [pure virtual] |
Returns the overflow.
Implemented in Bins1DHist, Bins1DProfile, and Bins2DBase.
Referenced by StHist2DProjector::getOverflow(), StHist1DProjector::getOverflow(), and DyHist1DProjector::getOverflow().
virtual const Range& getRange | ( | hippodraw::Axes::Type | axis | ) | [pure virtual] |
Implemented in Bins1DBase, and Bins2DBase.
Referenced by StHist2DProjector::dataRangeOn(), StHist1DProjector::dataRangeOn(), Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), and BinningProjector::setOffset().
virtual int getUnderflow | ( | ) | const [pure virtual] |
Returns the underflow.
Implemented in Bins1DHist, Bins1DProfile, and Bins2DBase.
Referenced by StHist2DProjector::getUnderflow(), StHist1DProjector::getUnderflow(), and DyHist1DProjector::getUnderflow().
double getZValue | ( | double | x, | |
double | y | |||
) | const [virtual] |
Get the z value at the specified point (x,y).
Reimplemented in Bins2DHist, and Bins2DProfile.
Definition at line 74 of file BinsBase.cxx.
Referenced by BinningProjector::getZValue().
virtual bool hasEqualWidths | ( | ) | const [pure virtual] |
Returns true
if all bins have the same width.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by Hist2DProjImp::checkScaling(), and Hist1DProjImp::checkScaling().
bool isDirty | ( | ) |
Returns true
if the re-accumulation is needed.
Definition at line 59 of file BinsBase.cxx.
References BinsBase::m_values_dirty.
bool isEmpty | ( | ) | const |
Returns true
if no accumulation has yet occurred, otherwise returns false
.
Definition at line 81 of file BinsBase.cxx.
References BinsBase::m_empty.
const string & name | ( | ) | const |
Returns the name of the Bins container object.
Definition at line 54 of file BinsBase.cxx.
References BinsBase::m_name.
Referenced by BinsBaseXML::createElement().
virtual int numberOfBins | ( | hippodraw::Axes::Type | axis | ) | const [pure virtual] |
Returns the number of bins on specified axis.
If a BinnerAxis object does not exist, returns 0.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinningProjector::getNumberOfBins().
virtual NTuple* prepareNTuple | ( | unsigned int | rows | ) | const [pure virtual] |
Prepare NTuple representation of projected values.
The NTuple will have rows reserved and appropriate number of columns.
Implemented in Bins1DBase, and Bins2DBase.
virtual void reset | ( | ) | [pure virtual] |
Resets the accumulation to zero.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
Referenced by ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), and DyHist1DProjector::execute().
double scaleFactor | ( | ) | const [virtual] |
Returns the scale factor.
Used to convert the projected value to number of entries in a bin. The default, implemented here, is to return 1.0. Derived class, such as those that do binning, may return a value to reflect their binning algorithm.
Reimplemented in Bins1DBase, and Bins2DBase.
Definition at line 69 of file BinsBase.cxx.
Referenced by Hist2DProjImp::checkScaling(), and Hist1DProjImp::checkScaling().
void scaleNumberOfEntries | ( | double | number | ) | [virtual] |
Sets a scale factor on the output so that the number of entries appears to be number.
This feature might be used, for example, to compare two histograms that have different number of entires by normalizing one to the other.
Definition at line 88 of file BinsBase.cxx.
References BinsBase::m_scale_factor.
virtual void setBinContents | ( | const DataSource * | ntuple | ) | [pure virtual] |
Sets the contents of the bins from the ntuple.
Sets the contents of the bins from the ntuple. The purpose of this method is to restore a histogram from archived file. The ntuple should be cone filled by the fillDataSource method.
Implemented in Bins1DHist, Bins1DProfile, Bins2DHist, and Bins2DProfile.
virtual void setBinnerOn | ( | BinnerAxis * | , | |
hippodraw::Axes::Type | axis | |||
) | [pure virtual] |
Sets the bin calculator on specified axis.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by BinsBaseXML::createObject(), Hist1DProjImp::Hist1DProjImp(), Hist2DProjImp::Hist2DProjImp(), Profile2DProjector::Profile2DProjector(), ProfileProjector::ProfileProjector(), and BinningProjector::setBinnerOn().
virtual const Range& setBinWidth | ( | hippodraw::Axes::Type | axis, | |
double | value | |||
) | [pure virtual] |
Sets the bin width parameter on the specified axis.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by Profile2DProjector::setBinWidth(), Hist2DProjImp::setBinWidth(), and BinningProjector::setBinWidth().
void setDirty | ( | ) |
Sets a flag to indicate that re-binning needs to be done.
Definition at line 64 of file BinsBase.cxx.
References BinsBase::m_values_dirty.
Referenced by ProfileProjector::changedNTuple(), Profile2DProjector::changedNTuple(), DyHist2DProjector::changedNTuple(), and DyHist1DProjector::changedNTuple().
void setEntriesScaling | ( | bool | on | ) | [virtual] |
Sets the scaling number of entries on if on is true
, otherwise turns if off.
Definition at line 95 of file BinsBase.cxx.
References BinsBase::m_is_scaling.
void setMinEntries | ( | int | entries | ) | [virtual] |
Set the minimum entries/bin.
Reimplemented in Bins1DHist.
Definition at line 103 of file BinsBase.cxx.
virtual void setNumberOfBins | ( | hippodraw::Axes::Type | axis, | |
int | number | |||
) | [protected, pure virtual] |
Sets the number of bins on the the specified axis.
Implemented in Bins1DBase, Bins2DBase, Bins2DHist, and Bins2DProfile.
virtual void setOffset | ( | hippodraw::Axes::Type | axis, | |
double | value | |||
) | [pure virtual] |
Sets the offset parameter on the specified axis.
Implemented in Bins1DBase, and Bins2DBase.
Referenced by Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), and BinningProjector::setOffset().
virtual const Range& setRange | ( | hippodraw::Axes::Type | axis, | |
const Range & | , | |||
bool | hold_width = true | |||
) | [pure virtual] |
Sets the Range on the specified axis.
If hold_width is true
, the bin width parameter will be held constant, otherwise it is adjusted to keep the same number of bins for the new range.
Implemented in Bins1DBase, and Bins2DBase.
bool m_empty [protected] |
A flag set to true
, when no accumulation has yet occurred, otherwise is set false
.
Definition at line 58 of file BinsBase.h.
Referenced by Bins2DProfile::accumulate(), Bins2DHist::accumulate(), Bins1DProfile::accumulate(), Bins1DHist::accumulate(), BinsBase::isEmpty(), Bins2DProfile::reset(), Bins2DHist::reset(), Bins1DProfile::reset(), and Bins1DHist::reset().
bool m_is_scaling [protected] |
A flag which is set true
to enable scaling the output.
Definition at line 50 of file BinsBase.h.
Referenced by Bins2DHist::fillDataSource(), Bins1DHist::fillDataSource(), and BinsBase::setEntriesScaling().
const std::string m_name [private] |
The name of the object in the Factory.
Definition at line 39 of file BinsBase.h.
Referenced by BinsBase::name().
double m_scale_factor [protected] |
The scale factor.
This data member is used to scale the output so that the total number of entries has this value.
Definition at line 46 of file BinsBase.h.
Referenced by Bins2DHist::fillDataSource(), Bins1DHist::fillDataSource(), and BinsBase::scaleNumberOfEntries().
bool m_values_dirty [mutable, protected] |
A flag to indicate that the objects in m_values are not correct.
Definition at line 53 of file BinsBase.h.
Referenced by Bins1DBase::Bins1DBase(), Bins2DBase::Bins2DBase(), BinsBase::isDirty(), Bins1DHist::reset(), Bins2DBase::resize(), Bins1DProfile::resize(), Bins1DHist::resize(), Bins2DBase::setBinnerOn(), Bins1DBase::setBinnerOn(), Bins2DBase::setBinWidth(), BinsBase::setDirty(), and Bins2DBase::setOffset().