Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BinningProjector Class Reference

#include <BinningProjector.h>

Inheritance diagram for BinningProjector:

Inheritance graph
[legend]
Collaboration diagram for BinningProjector:

Collaboration graph
[legend]
List of all members.

Detailed Description

The BinningProjector is an abstract class provides most of the functionality for a projector that does some from of binning along the one or more axes.

Author:
Stephane Bonneaud <gandalf@slac.stanford.edu>

Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Matan Shacham <matan@slac.stanford.edu>

Oded Wurman <owurman@stanford.edu>

Definition at line 32 of file BinningProjector.h.

Public Types

typedef void(hippodraw::Observer::* Action )(const Observable *)
 The member function of the Observer that is called.
typedef std::list< hippodraw::Observer * > ObserverList_t
 The type of STL container to maintain list of Observer objects.

Public Member Functions

void addObserver (hippodraw::Observer *)
 Adds an Observer to the Observer list.
virtual void addValues (const std::vector< double > &v)
 Add values to the projection.
virtual ProjectorBaseclone ()=0
 The clone function returns an object of its own kind which is a copy of this object at this moment.
virtual DataSourcecreateNTuple () const
 Returns an NTuple representing the binned values.
virtual const DataSourcecreateOldStyleNTuple () const
 Creates and returns NTuple object.
virtual Range dataRangeOn (hippodraw::Axes::Type) const =0
 Returns the range of the raw data.
virtual double getAverage (hippodraw::Axes::Type axis) const
 Get the Average of all projected values on the specified axis.
virtual const std::vector<
std::string > & 
getAxisBindings () const
 Returns the axis bindings.
virtual AxisModelBasegetAxisModel (hippodraw::Axes::Type axis) const
 Get the AxisModel for axis axis.
const BinsBasegetBinner () const
 Returns reference to BinsBase object used by this projector.
double getBinWidth (hippodraw::Axes::Type axis) const
 Returns the bin width of the axis.
virtual NTuplegetNTupleAfterCuts () const
 Template for projectors that can return subsets of the NTuple used by the DataRep.
virtual int getNumberOfBins (hippodraw::Axes::Type axis) const
 Returns the number of bins.
virtual int getNumberOfEntries () const =0
 Returns the total number of entries that went into creating the projected values.
const ObserverList_tgetObservers () const
 Returns the list of observers.
double getOffset (hippodraw::Axes::Type axis) const
 Returns the offset of the axis.
const std::vector< std::string > & getPointReps () const
 Return the vector of Point Reps.
virtual double getPosOn (hippodraw::Axes::Type) const =0
 Returns the minimum positive value.
const DataSourcegetProjectedValues () const
 Returns ntuple representation of projected values.
virtual const RangegetRange (hippodraw::Axes::Type) const
 Returns the Range along the specified axis.
virtual double getRMS (hippodraw::Axes::Type axis)
 Returns the RMS.
virtual const std::stringgetTitle () const =0
 Finds the title of the plot.
virtual const std::stringgetXLabel () const =0
 Finds the X axis label of the plot.
virtual const std::stringgetYLabel (bool flag=false) const =0
 Finds the Y axis label of the plot.
virtual const std::stringgetZLabel () const
 Finds the Z axis label of the plot.
virtual double getZValue (double x, double y) const
 Get the z value at the specified point (x,y).
virtual bool isAxisBinned (const std::string &axis) const
 Returns true if specified axis is binned.
bool isDirty () const
 Returns true if the projector has been marked dirty.
virtual bool isEmpty () const =0
 Returns true if the data source used by this projector is empty.
virtual bool isValueBinned () const
 Returns true if the projected values are the result of binning.
virtual void matrixTranspose (bool yes)
 Transposes the X and Y axis.
virtual void normalize ()
 Normalizes the projector to its target.
virtual void normalizeTo (const ProjectorBase *target)
 Normalize the output of the receiving object's projected values to that of target.
virtual void normalizeTo (double number)
 Sets a scale factor on the output so that the number of entries appears to be number.
virtual void notifyObservers () const
 Notifies Observer objects of a change.
virtual Range preferredRange (hippodraw::Axes::Type) const
 Returns the preferred Range.
virtual void prepareValues ()
 Prepares the projector for plotting by executing, if needed, the binning procedure.
void removeObserver (hippodraw::Observer *)
 Removes an Observer from the Observer list.
virtual void reset ()
 Resets the bins.
virtual void setAxisBinding (const std::string &axis, const std::string &label)
 Sets the axis binding.
virtual void setAxisBindings (const std::vector< std::string > &bindings)
 Sets the axis binding.
virtual void setAxisModel (hippodraw::Axes::Type, AxisModelBase *)
 Sets the AxisModel for axis axis.
void setBinContents (const DataSource *source)
 Sets the contents of the bins from the data source.
void setBinner (BinsBase *bins)
 Sets the BinsBase object to be used by this projector.
virtual void setBinnerOn (BinnerAxis *binner, hippodraw::Axes::Type axis)
 Sets the bin edge calculator to binner on axis axis.
virtual void setBinnerRange (hippodraw::Axes::Type axis, const Range &range, bool const_width)=0
 Sets the Range of the binner.
virtual void setBinWidth (const std::string &axis, int parm, bool dragging)
 Sets the bin width.
virtual void setBinWidth (hippodraw::Axes::Type axis, double width)
virtual void setDirty (bool value=true)
 Sets the dirty flag to value.
virtual void setNormalizing (bool on)
 Sets the scaling number of entries on if on is true, otherwise turns if off.
virtual void setNumberOfBins (hippodraw::Axes::Type axis, unsigned int number)
 Sets the number of bins.
virtual void setOffset (hippodraw::Axes::Type axis, double offset)
 Sets the bin offset.
virtual void setOffset (const std::string &axis, int parm, bool dragging)
 Sets the bin offset.
virtual void setRange (hippodraw::Axes::Type axis, bool const_width=true)
 Sets the range of the selected axis.
virtual void setRange (hippodraw::Axes::Type, const Range &range, bool)
 Sets the range of the binner.
virtual void update (const Observable *object)
 Updates the receiving projector.
virtual Range valueRange () const =0
 Finds the range of the projected values.
virtual bool wantsScaleFactor (const std::string &axis) const
 Returns whether the projector wants scale factor.
virtual void willDelete (const Observable *object)
 If object is the target of normalization, removes the target and sets normalization off.
 ~BinningProjector ()
 The destructor.

Protected Member Functions

virtual void addPointReps ()=0
 Function to add the acceptable point reps.
 BinningProjector (const BinningProjector &projector)
 The copy constructor.
 BinningProjector (unsigned int axes)
 The following constructor takes the number of axes used by the BinsBase object.
virtual void checkScaling ()
 Checks and sets if an AxisModelBase object on an axis should be scaled.
virtual void execute ()
 Provides the all the data to the binner.
virtual void fillDataSource (DataSource *ntuple, bool in_range=false) const
 Fills the DataSource source with the projected values.
virtual void fillProjectedValues (DataSource *ntuple, bool in_range=false) const
 Fills the NTuple ntuple with the projected values.
void notifyObservers (Action action) const
 An internal method to iterate over all observers and to send the message action.

Protected Attributes

BinsBasem_binner
 The binner object.
std::vector< std::stringm_pointreps
 Vector of acceptable PointReps.
DataSourcem_proj_values
 The NTuple representing the result of the projection.
const ProjectorBasem_target
 The target projector.
AxisModelBasem_x_axis
 The AxisModel along the X axis.
AxisModelBasem_y_axis
 The AxisModel along the Y axis.
AxisModelBasem_z_axis
 The AxisModel along the Z axis.
std::string m_z_label
 Dummy member so that getZLabel can return a reference.

Private Attributes

unsigned int m_binner_dim
 The number of AxesType accepted by the binner.


Member Typedef Documentation

typedef void( hippodraw::Observer::* Observable::Action)(const Observable *) [inherited]
 

The member function of the Observer that is called.

Definition at line 83 of file Observable.h.

typedef std::list< hippodraw::Observer * > Observable::ObserverList_t [inherited]
 

The type of STL container to maintain list of Observer objects.

Definition at line 46 of file Observable.h.


Constructor & Destructor Documentation

BinningProjector::BinningProjector unsigned int  axes  )  [protected]
 

The following constructor takes the number of axes used by the BinsBase object.

Definition at line 38 of file BinningProjector.cxx.

BinningProjector::BinningProjector const BinningProjector projector  )  [protected]
 

The copy constructor.

Definition at line 44 of file BinningProjector.cxx.

References BinsBase::clone(), createNTuple(), fillDataSource(), m_binner, and ProjectorBase::m_proj_values.

BinningProjector::~BinningProjector  ) 
 

The destructor.

Definition at line 57 of file BinningProjector.cxx.

References m_binner.


Member Function Documentation

void Observable::addObserver hippodraw::Observer  )  [inherited]
 

Adds an Observer to the Observer list.

Definition at line 49 of file Observable.cxx.

References Observable::m_list.

Referenced by CutPlotter::addCutTarget(), XyPlotter::addDataRep(), FunctionRep::FunctionRep(), normalizeTo(), DataRepController::setAxisBindings(), DisplayController::setNTuple(), CutPlotter::setNTuple(), and TextPlotter::setParentDataRep().

virtual void ProjectorBase::addPointReps  )  [protected, pure virtual, inherited]
 

Function to add the acceptable point reps.

Todo:
Why is this in the ProjectorBase and not DataRep ?

Implemented in FunctionProjector, Hist1DProjImp, Hist2DProjImp, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, Profile2DProjector, ProfileProjector, and StripChartProjector.

void ProjectorBase::addValues const std::vector< double > &  v  )  [virtual, inherited]
 

Add values to the projection.

This method is provided as convenience for derived classes that respond to it. The implementation in this class does nothing.

Reimplemented in StHist1DProjector, and StHist2DProjector.

Definition at line 312 of file ProjectorBase.cxx.

void BinningProjector::checkScaling  )  [protected, virtual]
 

Checks and sets if an AxisModelBase object on an axis should be scaled.

This method maybe overridden by derived classes such as those that do histogramming.

Reimplemented in Hist1DProjImp, and Hist2DProjImp.

Definition at line 258 of file BinningProjector.cxx.

Referenced by setAxisModel(), setBinnerOn(), ProfileProjector::setBinnerRange(), Profile2DProjector::setBinnerRange(), and setBinWidth().

virtual ProjectorBase* ProjectorBase::clone  )  [pure virtual, inherited]
 

The clone function returns an object of its own kind which is a copy of this object at this moment.

Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, StHist2DProjector, and StripChartProjector.

Referenced by DataRep::DataRep().

DataSource * BinningProjector::createNTuple  )  const [virtual]
 

Returns an NTuple representing the binned values.

Bug:
@ If histogram is empty, then it appears an empty NTuple is returned.

Implements ProjectorBase.

Definition at line 272 of file BinningProjector.cxx.

References BinsBase::createNTuple(), and m_binner.

Referenced by BinningProjector(), createOldStyleNTuple(), and setBinner().

const DataSource * BinningProjector::createOldStyleNTuple  )  const [virtual]
 

Creates and returns NTuple object.

Creates an old style NTuple representation of the projected values, i.e. one in which the NTuple contains the bin width as the XERR instead of the half width. This member function exists for backward compatibility of deprecated functions.

Reimplemented from ProjectorBase.

Definition at line 84 of file BinningProjector.cxx.

References createNTuple(), execute(), fillProjectedValues(), ProjectorBase::isDirty(), and m_binner.

virtual Range ProjectorBase::dataRangeOn hippodraw::Axes::Type   )  const [pure virtual, inherited]
 

Returns the range of the raw data.

Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, NTupleProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector.

Referenced by ProjectorBase::preferredRange(), Hist2DProjImp::preferredRange(), Hist1DProjImp::preferredRange(), Hist2DProjImp::valueRange(), and Hist1DProjImp::valueRange().

void BinningProjector::execute  )  [protected, virtual]
 

Provides the all the data to the binner.

Todo:
Is there away to avoid implementing this empty method.

Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, and ProfileProjector.

Definition at line 253 of file BinningProjector.cxx.

Referenced by createOldStyleNTuple(), and prepareValues().

void BinningProjector::fillDataSource DataSource ntuple,
bool  in_range = false
const [protected, virtual]
 

Fills the DataSource source with the projected values.

Fills the DataSource source with the results of projecting the data source to projected values. Derived classes must implement this method. Clients, such as plotters or fitters, can then use getProjectedValues method to access the projected value data. The default behavior is to fill the DataSource with all values that are accepted by the TupleCut objects, if any. If in_range is equal to true, then the values used to fill the DataSource are further restricted to be within the axes ranges. Some derived classes may always use the default behavior.

Implements ProjectorBase.

Definition at line 286 of file BinningProjector.cxx.

References m_binner.

Referenced by BinningProjector(), and prepareValues().

void BinningProjector::fillProjectedValues DataSource ntuple,
bool  in_range = false
const [protected, virtual]
 

Fills the NTuple ntuple with the projected values.

Fills the NTuple !ntuple with the results of projecting the data source to projected values. Derived classes must implement this method. Clients, such as plotters or fitters, can then use getProjectedValues method to access the projected value data. The default behavior is to fill the NTuple with all values that are accepted by the TupleCut objects, if any. If in_range is equal to true, then the values used to fill the NTuple are further restricted to be within the axes ranges. Some derived classes may always use the default behavior.

Implements ProjectorBase.

Definition at line 279 of file BinningProjector.cxx.

References m_binner.

Referenced by createOldStyleNTuple().

double ProjectorBase::getAverage hippodraw::Axes::Type  axis  )  const [virtual, inherited]
 

Get the Average of all projected values on the specified axis.

Todo:
this should be computed externally with the iterators

Reimplemented in DyHist1DProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Definition at line 268 of file ProjectorBase.cxx.

Referenced by AverageTextRep::drawProjectedValues().

const vector< string > & ProjectorBase::getAxisBindings  )  const [virtual, inherited]
 

Returns the axis bindings.

Returns the name associated with each axis. This member function should only be called with a derived class which can process it in a meaningful way. thus if this method is called on this base class, an assertion is raised.

Reimplemented in NTupleProjector.

Definition at line 99 of file ProjectorBase.cxx.

Referenced by XYPlot::setAxisBindings().

AxisModelBase * ProjectorBase::getAxisModel hippodraw::Axes::Type  axis  )  const [virtual, inherited]
 

Get the AxisModel for axis axis.

Definition at line 204 of file ProjectorBase.cxx.

References ProjectorBase::m_x_axis, ProjectorBase::m_y_axis, ProjectorBase::m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

Referenced by CompositePlotter::processReturnValue(), and ContourPointRep::setContourValues().

const BinsBase * BinningProjector::getBinner  )  const
 

Returns reference to BinsBase object used by this projector.

Definition at line 99 of file BinningProjector.cxx.

References m_binner.

Referenced by BinningProjectorXML::createChildren().

double BinningProjector::getBinWidth hippodraw::Axes::Type  axis  )  const [virtual]
 

Returns the bin width of the axis.

Not all projectors has a notation of a bin width. This interface is declared for those that do. The implementation in this base class is to does nothing.

Reimplemented from ProjectorBase.

Definition at line 238 of file BinningProjector.cxx.

References BinsBase::binWidth(), m_binner, m_binner_dim, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

NTuple * ProjectorBase::getNTupleAfterCuts  )  const [virtual, inherited]
 

Template for projectors that can return subsets of the NTuple used by the DataRep.

Reimplemented in NTupleProjector.

Definition at line 324 of file ProjectorBase.cxx.

Referenced by DataRep::getNTupleAfterCuts().

int BinningProjector::getNumberOfBins hippodraw::Axes::Type  axis  )  const [virtual]
 

Returns the number of bins.

Returns number of bins if axis is binned, otherwise returns 0.

Reimplemented from ProjectorBase.

Definition at line 137 of file BinningProjector.cxx.

References ProjectorBase::getNumberOfBins(), m_binner, m_binner_dim, BinsBase::numberOfBins(), hippodraw::Axes::X, and hippodraw::Axes::Y.

virtual int ProjectorBase::getNumberOfEntries  )  const [pure virtual, inherited]
 

Returns the total number of entries that went into creating the projected values.

It is up to derived classes to interpret what this means. Some may find it meaningless and raise an exception and/or assertion.

Implemented in FunctionProjector, LineProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Referenced by TotalTextRep::drawProjectedValues(), normalize(), and QtDisplay::numberOfEntries().

const Observable::ObserverList_t & Observable::getObservers  )  const [inherited]
 

Returns the list of observers.

Definition at line 57 of file Observable.cxx.

References Observable::m_list.

double BinningProjector::getOffset hippodraw::Axes::Type  axis  )  const [virtual]
 

Returns the offset of the axis.

Not all projectors has a notation of a bin width. This interface is declared for those that do. The implementation in this base class is to does nothing.

Reimplemented from ProjectorBase.

Definition at line 223 of file BinningProjector.cxx.

References BinsBase::getOffset(), m_binner, m_binner_dim, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

const vector< string > & ProjectorBase::getPointReps  )  const [inherited]
 

Return the vector of Point Reps.

Definition at line 317 of file ProjectorBase.cxx.

References ProjectorBase::m_pointreps.

virtual double ProjectorBase::getPosOn hippodraw::Axes::Type   )  const [pure virtual, inherited]
 

Returns the minimum positive value.

Todo:
Resolve if this method should be here.

Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector.

Referenced by DataRep::getPosRange(), Hist2DProjImp::setRange(), and Hist1DProjImp::setRange().

const DataSource * ProjectorBase::getProjectedValues  )  const [inherited]
 

Returns ntuple representation of projected values.

Definition at line 338 of file ProjectorBase.cxx.

References ProjectorBase::m_proj_values.

Referenced by BinningProjectorXML::createChildren(), ProjectorBase::createOldStyleNTuple(), StHist2DProjector::getAverage(), StHist1DProjector::getAverage(), MapMatrixProjector::getAverage(), Map1Projector::getAverage(), ProjectorBase::getRMS(), and FunctionProjector::initializeFunction().

const Range & ProjectorBase::getRange hippodraw::Axes::Type   )  const [virtual, inherited]
 

Returns the Range along the specified axis.

The behavior implemented here is to return the range of the AxisModelBase owned by the PlotterBase. However, derived classes may override this function, such as projectors that have binners, if this behavior is incorrect.

Definition at line 145 of file ProjectorBase.cxx.

References AxisModelBase::getRange(), ProjectorBase::m_x_axis, ProjectorBase::m_y_axis, ProjectorBase::m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

Referenced by LineProjector::dataRangeOn(), LineProjector::fillDataSource(), LineProjector::fillProjectedValues(), NTupleProjector::getAverage(), DyHist1DProjector::getAverage(), LineProjector::getPosOn(), and LineProjector::valueRange().

double ProjectorBase::getRMS hippodraw::Axes::Type  axis  )  [virtual, inherited]
 

Returns the RMS.

Returns the root mean square of the data points along the axis axis.

Definition at line 279 of file ProjectorBase.cxx.

References ProjectorBase::getProjectedValues(), ProjectorHelper::stdCoord(), and hippodraw::Axes::X.

virtual const std::string& ProjectorBase::getTitle  )  const [pure virtual, inherited]
 

Finds the title of the plot.

Implemented in FunctionProjector, LineProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

virtual const std::string& ProjectorBase::getXLabel  )  const [pure virtual, inherited]
 

Finds the X axis label of the plot.

A plotter may ask the projector for the default label.

Implemented in FunctionProjector, LineProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Referenced by CompositePlotter::getLabel().

virtual const std::string& ProjectorBase::getYLabel bool  flag = false  )  const [pure virtual, inherited]
 

Finds the Y axis label of the plot.

Derived classes should return a label for the Y axis that is meaningful for the kind of projection. The argument flag can be used to distinguish between two possible labels, depending on some state of the projector.

Implemented in DyHist1DProjector, FunctionProjector, LineProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Referenced by CompositePlotter::getLabel().

const std::string & ProjectorBase::getZLabel  )  const [virtual, inherited]
 

Finds the Z axis label of the plot.

A plotter may ask the projector for the default label.

Reimplemented in FunctionProjector, Hist2DProjImp, Map3Projector, MapMatrixProjector, and Profile2DProjector.

Definition at line 292 of file ProjectorBase.cxx.

References ProjectorBase::m_z_label.

Referenced by NTupleProjector::getAverage(), and CompositePlotter::getLabel().

double BinningProjector::getZValue double  x,
double  y
const [virtual]
 

Get the z value at the specified point (x,y).

Reimplemented from ProjectorBase.

Definition at line 263 of file BinningProjector.cxx.

References BinsBase::getZValue(), and m_binner.

bool ProjectorBase::isAxisBinned const std::string axis  )  const [virtual, inherited]
 

Returns true if specified axis is binned.

An axis that is binned responds to the width and offset controls. This base class implementation returns false.

Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector.

Definition at line 121 of file ProjectorBase.cxx.

Referenced by CompositePlotter::getBinWidth(), CompositePlotter::getOffset(), DisplayController::isAxisBinned(), DisplayController::setBinner(), and setBinnerOn().

bool ProjectorBase::isDirty  )  const [inherited]
 

Returns true if the projector has been marked dirty.

A dirty projector is one whose projected values are invalid because of some change (e.g., an axis range has changed.)

Definition at line 70 of file ProjectorBase.cxx.

References ProjectorBase::m_isDirty.

Referenced by createOldStyleNTuple(), Profile2DProjector::dataRangeOn(), DataRep::isDirty(), MapMatrixProjector::prepareValues(), Map2Projector::prepareValues(), FunctionProjector::prepareValues(), prepareValues(), and Profile2DProjector::valueRange().

virtual bool ProjectorBase::isEmpty  )  const [pure virtual, inherited]
 

Returns true if the data source used by this projector is empty.

Returns true if the data source used by this projector is empty, otherwise returns true. The data source is empty, i.e. has no data, then many member functions of this class can not respond with meaning full results.

Implemented in FunctionProjector, LineProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Referenced by DataRep::hasZeroRows().

bool ProjectorBase::isValueBinned  )  const [virtual, inherited]
 

Returns true if the projected values are the result of binning.

The implementation in this base class returns false. It maybe overridden in derived classes that do binning.

Reimplemented in Hist1DProjImp, and Hist2DProjImp.

Definition at line 126 of file ProjectorBase.cxx.

Referenced by normalizeTo().

void ProjectorBase::matrixTranspose bool  yes  )  [virtual, inherited]
 

Transposes the X and Y axis.

The implementation in this base class does nothing.

Reimplemented in MapMatrixProjector.

Definition at line 109 of file ProjectorBase.cxx.

void BinningProjector::normalize  )  [virtual]
 

Normalizes the projector to its target.

Definition at line 332 of file BinningProjector.cxx.

References ProjectorBase::getNumberOfEntries(), ProjectorBase::m_target, norm, normalizeTo(), and ProjectorBase::setDirty().

Referenced by normalizeTo(), and update().

void BinningProjector::normalizeTo const ProjectorBase target  )  [virtual]
 

Normalize the output of the receiving object's projected values to that of target.

Bug:
Only works if target projector is binning projector

Reimplemented from ProjectorBase.

Definition at line 309 of file BinningProjector.cxx.

References Observable::addObserver(), ProjectorBase::isValueBinned(), ProjectorBase::m_target, normalize(), Observable::removeObserver(), and setNormalizing().

void BinningProjector::normalizeTo 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.

Reimplemented from ProjectorBase.

Definition at line 293 of file BinningProjector.cxx.

References m_binner.

Referenced by normalize().

void Observable::notifyObservers Action  action  )  const [protected, inherited]
 

An internal method to iterate over all observers and to send the message action.

Definition at line 69 of file Observable.cxx.

References std::bind2nd(), std::for_each(), Observable::m_list, and std::mem_fun().

void Observable::notifyObservers  )  const [virtual, inherited]
 

Notifies Observer objects of a change.

If interval counting is disabled, then Observer::Update is sent immediately. If interval counting is enabled, then the current count is incremented. If the current count is equal to the interval count, then the Observer::update message is sent and the current count reset to 0.

Reimplemented in NTuple, FitsNTuple, RootNTuple, NumArrayTuple, ListTuple, and RootNTuple.

Definition at line 90 of file Observable.cxx.

References hippodraw::Observer::update().

Referenced by XyPlotter::addDataRep(), XyPlotter::addDataRepStacked(), FunctionController::addFunctionRep(), RTuple::addRow(), StHist2DProjector::addValues(), StHist1DProjector::addValues(), XyPlotter::autoScale(), Inspector::contourLevelsTextBox_returnPressed(), Inspector::contourSlider_valueChanged(), Inspector::contourTextBox_returnPressed(), FunctionRep::fitFunction(), NumArrayTuple::notifyObservers(), NTuple::notifyObservers(), ListTuple::notifyObservers(), RootNTuple::notifyObservers(), FitsNTuple::notifyObservers(), XyPlotter::removeDataRep(), FunctionRep::restoreParameters(), CutPlotter::setActive(), XyPlotter::setAutoRanging(), QtDisplay::setContourLevels(), CutPlotter::setCutColor(), XyPlotter::setCutEnabled(), XyPlotter::setCutInverted(), XyPlotter::setCutRangeAt(), ProjectorBase::setDirty(), DataRep::setErrorDisplay(), XyPlotter::setHighRange(), XyPlotter::setLabel(), PlotterBase::setLabel(), DataSource::setLabelAt(), DataSource::setLabels(), XyPlotter::setLowRange(), DataSource::setName(), DisplayController::setNTuple(), FunctionRep::setParameters(), DataRep::setRepColor(), DyHistogram::setRepresentation(), DataRep::setRepresentation(), DataRep::setRepSize(), DataRep::setRepStyle(), XyPlotter::setScaling(), PlotterBase::setTitle(), DataSource::setTitle(), XyPlotter::setTransform(), XyPlotter::setValueRep(), PlotterBase::update(), NTupleProjector::update(), DataRep::update(), CutPlotter::update(), update(), CutPlotter::updateTargets(), DataRep::~DataRep(), DataSource::~DataSource(), NTuple::~NTuple(), and RTuple::~RTuple().

Range ProjectorBase::preferredRange hippodraw::Axes::Type   )  const [virtual, inherited]
 

Returns the preferred Range.

Returns the Range preferred by the projector. The default implementation in