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

StHist1DProjector Class Reference

#include <StHist1DProjector.h>

Inheritance diagram for StHist1DProjector:

Inheritance graph
[legend]
Collaboration diagram for StHist1DProjector:

Collaboration graph
[legend]
List of all members.

Detailed Description

A derived class of ProjectorBase that projects data accumulated by calls to its fill function into a one dimensional histogram.

A vector of ProjValue1D objects is created and presented to a client via an iterator. The binning parameters are fixed hence it is called static 1D histogram-mer.

Author:
Paul_Kunz@slac.stanford.edu>

Definition at line 27 of file StHist1DProjector.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 the values to the histogram.
virtual void checkScaling ()
 Checks the axis scaling.
ProjectorBaseclone ()
 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 axis) const
 Returns the range of the data on a specified axis.
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
 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 axis) const
 Returns the minimum positive value of the data on a specified axis.
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
 Finds the title of the plot.
const std::stringgetXLabel () const
 Returns the label (title) of the x axis.
const std::stringgetYLabel (bool flag=false) const
 Returns the label for the Y axis.
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 the intended axis is "X", otherwise returns false.
bool isDirty () const
 Returns true if the projector has been marked dirty.
bool isEmpty () const
 Returns false as this class' data source is never empty even if no filling has occurred yet.
virtual bool isValueBinned () const
 Returns true as the projected value is the result of accumulation into bins.
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)
 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, const Range &range, bool)
 Sets the range of the binner.
virtual void setRange (hippodraw::Axes::Type, bool)
void setYLabel ()
 Sets the Y axis label.
 StHist1DProjector (const StHist1DProjector &projector)
 The copy constructor.
 StHist1DProjector ()
 The default constructor.
virtual void update (const Observable *object)
 Updates the receiving projector.
virtual Range valueRange () const
 Finds the range of the projected values.
virtual bool wantsScaleFactor (const std::string &axis) const
 Returns true if axis is the Y axis.
virtual void willDelete (const Observable *object)
 If object is the target of normalization, removes the target and sets normalization off.

Protected Member Functions

virtual void addPointReps ()
 Function to add the acceptable point reps.
Range dataRangeOnValue () const
 Returns the data range on the Y axis.
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.
double getPosOnValue () const
 Returns the smallest positive value on the Y axis.
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.
std::string m_y_label_density
 The label of the y axis when axis is not scaled.
std::string m_y_label_entries
 The label of the y axis when axis is scaled.
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

std::string m_title
 The title of the histogram.
std::string m_x_label
 The label of the x axis.
std::string m_y_label
 The label of the y axis.


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

StHist1DProjector::StHist1DProjector  ) 
 

The default constructor.

Definition at line 43 of file StHist1DProjector.cxx.

References m_y_label.

Referenced by clone().

StHist1DProjector::StHist1DProjector const StHist1DProjector projector  ) 
 

The copy constructor.

Todo:
Extra data members need to be copied.

Definition at line 51 of file StHist1DProjector.cxx.


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(), BinningProjector::normalizeTo(), DataRepController::setAxisBindings(), DisplayController::setNTuple(), CutPlotter::setNTuple(), and TextPlotter::setParentDataRep().

void Hist1DProjImp::addPointReps  )  [protected, virtual, inherited]
 

Function to add the acceptable point reps.

Implements ProjectorBase.

Definition at line 74 of file Hist1DProjImp.cxx.

References ProjectorBase::m_pointreps.

Referenced by Hist1DProjImp::Hist1DProjImp().

void StHist1DProjector::addValues const std::vector< double > &  v  )  [virtual]
 

Add the values to the histogram.

The first element of the vector is the value to be accumulated into the histogram. If the size of the vector is 2, then the second element is the weight, otherwise the weight is 1.0.

Reimplemented from ProjectorBase.

Definition at line 149 of file StHist1DProjector.cxx.

References std::accumulate(), BinningProjector::m_binner, Observable::notifyObservers(), and ProjectorBase::setDirty().

void Hist1DProjImp::checkScaling  )  [virtual, inherited]
 

Checks the axis scaling.

If bins are all same width, then sets the Y axis scale factor. Otherwise, turns off the scale factor on the Y axis.

Reimplemented from BinningProjector.

Definition at line 83 of file Hist1DProjImp.cxx.

References BinsBase::hasEqualWidths(), BinningProjector::m_binner, ProjectorBase::m_y_axis, BinsBase::scaleFactor(), AxisModelBase::setScaleFactor(), and AxisModelBase::setScaling().

Referenced by setBinnerRange(), and DyHist1DProjector::setBinnerRange().

ProjectorBase * StHist1DProjector::clone  )  [virtual]
 

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

Implements ProjectorBase.

Definition at line 59 of file StHist1DProjector.cxx.

References StHist1DProjector().

DataSource * BinningProjector::createNTuple  )  const [virtual, inherited]
 

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 BinningProjector::m_binner.

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

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

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 BinningProjector::createNTuple(), BinningProjector::execute(), BinningProjector::fillProjectedValues(), ProjectorBase::isDirty(), and BinningProjector::m_binner.

Range StHist1DProjector::dataRangeOn hippodraw::Axes::Type  axis  )  const [virtual]
 

Returns the range of the data on a specified axis.

For the X axis, it returns the range of the data. For the Y axis, it returns the range of the binned data.

Todo:
Implement special handling if histogram is empty.

Implements ProjectorBase.

Definition at line 84 of file StHist1DProjector.cxx.

References Hist1DProjImp::dataRangeOnValue(), BinsBase::getRange(), BinningProjector::m_binner, hippodraw::Axes::X, and hippodraw::Axes::Y.

Range Hist1DProjImp::dataRangeOnValue  )  const [protected, inherited]
 

Returns the data range on the Y axis.

Definition at line 130 of file Hist1DProjImp.cxx.

References ProjectorBase::m_proj_values, BinningProjector::prepareValues(), and hippodraw::Axes::Y.

Referenced by dataRangeOn(), DyHist1DProjector::dataRangeOn(), and Hist1DProjImp::getPosOnValue().

void BinningProjector::execute  )  [protected, virtual, inherited]
 

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 BinningProjector::createOldStyleNTuple(), and BinningProjector::prepareValues().

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

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 BinningProjector::m_binner.

Referenced by BinningProjector::BinningProjector(), and BinningProjector::prepareValues().

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

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 BinningProjector::m_binner.

Referenced by BinningProjector::createOldStyleNTuple().

double StHist1DProjector::getAverage hippodraw::Axes::Type  axis  )  const [virtual]
 

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

Reimplemented from ProjectorBase.

Definition at line 113 of file StHist1DProjector.cxx.

References ProjectorBase::getProjectedValues(), AxisModelBase::getScaleFactor(), ProjectorBase::m_y_axis, mean, ProjectorHelper::meanCoord(), ProjectorHelper::meanValue(), BinningProjector::prepareValues(), ProjectorBase::setDirty(), hippodraw::Axes::X, and hippodraw::Axes::Y.

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 [inherited]
 

Returns reference to BinsBase object used by this projector.

Definition at line 99 of file BinningProjector.cxx.

References BinningProjector::m_binner.

Referenced by BinningProjectorXML::createChildren().

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

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(), BinningProjector::m_binner, BinningProjector::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, inherited]
 

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(), BinningProjector::m_binner, BinningProjector::m_binner_dim, BinsBase::numberOfBins(), hippodraw::Axes::X, and hippodraw::Axes::Y.

int StHist1DProjector::getNumberOfEntries  )  const [virtual]
 

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.

Implements ProjectorBase.

Definition at line 140 of file StHist1DProjector.cxx.

References BinsBase::getNumberOfEntries(), and BinningProjector::m_binner.

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, inherited]
 

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(), BinningProjector::m_binner, BinningProjector::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.

double StHist1DProjector::getPosOn hippodraw::Axes::Type  axis  )  const [virtual]
 

Returns the minimum positive value of the data on a specified axis.

Todo:
Return positive value from the binner.
Todo:
Redesign to avoid duplicated code with Hist1DProjector.

Implements ProjectorBase.

Definition at line 75 of file StHist1DProjector.cxx.

References Hist1DProjImp::getPosOnValue(), hippodraw::Axes::X, and hippodraw::Axes::Y.

double Hist1DProjImp::getPosOnValue  )  const [protected, inherited]
 

Returns the smallest positive value on the Y axis.

Definition at line 106 of file Hist1DProjImp.cxx.

References Hist1DProjImp::dataRangeOnValue(), and Range::pos().

Referenced by getPosOn(), and DyHist1DProjector::getPosOn().

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(), 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.

const std::string & StHist1DProjector::getTitle  )  const [virtual]
 

Finds the title of the plot.

Implements ProjectorBase.

Definition at line 133 of file StHist1DProjector.cxx.

References m_title.

const string & StHist1DProjector::getXLabel  )  const [virtual]
 

Returns the label (title) of the x axis.

Implements ProjectorBase.

Definition at line 96 of file StHist1DProjector.cxx.

References m_x_label.

const string & StHist1DProjector::getYLabel bool  flag = false  )  const [virtual]
 

Returns the label for the Y axis.

Returns the label for the Y axis. The argument @ flag is ignored.

Implements ProjectorBase.

Definition at line 106 of file StHist1DProjector.cxx.

References m_y_label.

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, inherited]
 

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 BinningProjector::m_binner.

bool StHist1DProjector::isAxisBinned const std::string axis  )  const [virtual]
 

Returns true if the intended axis is "X", otherwise returns false.

Reimplemented from ProjectorBase.

Definition at line 65 of file StHist1DProjector.cxx.

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 BinningProjector::createOldStyleNTuple(), Profile2DProjector::dataRangeOn(), DataRep::isDirty(), MapMatrixProjector::prepareValues(), Map2Projector::prepareValues(), FunctionProjector::prepareValues(), BinningProjector::prepareValues(), and Profile2DProjector::valueRange().

bool StHist1DProjector::isEmpty  )  const [virtual]
 

Returns false as this class' data source is never empty even if no filling has occurred yet.

Implements ProjectorBase.

Definition at line 162 of file StHist1DProjector.cxx.

Referenced by setBinnerRange().

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

Returns true as the projected value is the result of accumulation into bins.

Reimplemented from ProjectorBase.

Definition at line 99 of file Hist1DProjImp.cxx.

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, inherited]
 

Normalizes the projector to its target.

Definition at line 332 of file BinningProjector.cxx.

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

Referenced by BinningProjector::normalizeTo(), and BinningProjector::update().

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

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, BinningProjector::normalize(), Observable::removeObserver(), and BinningProjector::setNormalizing().

void BinningProjector::normalizeTo double  number  )  [virtual, inherited]
 

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 BinningProjector::m_binner.

Referenced by BinningProjector::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(), 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(), BinningProjector::update(), CutPlotter::updateTargets(), DataRep::~DataRep(), DataSource::~DataSource(), NTuple::~NTuple(), and RTuple::~RTuple().

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

Returns the preferred Range.

Returns the Range preferred by the projector. The default implementation in this base class is to return full range of the data on the axis. Derived classes, may need to override this implementation.

Reimplemented from ProjectorBase.

Definition at line 115 of file Hist1DProjImp.cxx.

References ProjectorBase::dataRangeOn(), Range::setLow(), and hippodraw::Axes::Y.

void BinningProjector::prepareValues  )&n