BinningProjector Class Reference

#include <BinningProjector.h>

Inheritance diagram for BinningProjector:

Inheritance graph
Hist1DProjImpHist2DProjImpProfile2DProjectorProfileProjectorProjectorBaseObservableObserverDyHist1DProjectorStHist1DProjectorDyHist2DProjectorStHist2DProjector
[legend]
Collaboration diagram for BinningProjector:

Collaboration graph
ProjectorBaseObservableDataSourceObserverAxisModelBaseRangeBinsBase
[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>

Xie Fang <xiefang@stanford.edu>

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

Oded Wurman <owurman@stanford.edu>

Definition at line 34 of file BinningProjector.h.


Public Types

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

Public Member Functions

void addObserver (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 data source representing the binned values.
virtual NTuplecreateNTupleWith (const std::vector< TupleCut > &cut_list) const
 Creates a NTuple from the projector's DataSource object using cut_list for not including rows that do not pass the cuts.
virtual const
DataSource
createOldStyleNTuple () const
virtual Range dataRangeOn (Axes::Type) const =0
 Returns the range of the raw data.
virtual void fillColumnAfterCuts (const std::string &column, std::vector< double > &columnData) const
 Fill the vector with values from named column with the present set of cuts applied.
virtual double getAverage (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 (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 int getMinEntries ()
 Get the minimum entries/bin.
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.
virtual int getOverflow () const =0
 Returns the number of overflow.
const std::vector
< std::string > & 
getPointReps () const
 Return the vector of Point Reps.
virtual double getPosOn (Axes::Type) const =0
 Returns the minimum positive value.
const DataSourcegetProjectedValues () const
 Returns DataSource representation of projected values.
virtual const RangegetRange (Axes::Type) const
 Returns the Range along the specified axis.
virtual double getRMS (Axes::Type axis)
 Returns the RMS.
const std::vector
< unsigned int > & 
getShape ()
 Get the shape of the projected values.
virtual const
std::string & 
getTitle () const =0
 Finds the title of the plot.
virtual int getUnderflow () const =0
 Returns the number of underflow.
virtual const
std::string & 
getXLabel () const =0
 Finds the X axis label of the plot.
virtual const
std::string & 
getYLabel (bool flag=false) const =0
 Finds the Y axis label of the plot.
const std::vector
< double > & 
getZAfterTransform (TransformBase *transform)
 Return Z values after binary transform.
virtual const
std::string & 
getZLabel () 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).
const std::vector
< double > & 
getZValues ()
 Return all Z values.
virtual bool hasDataSourceBindings () const
 Returns true if projector has binding to a DataSource.
virtual int indexOf (const std::string &label) const
 Returns the index of the label.
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 isImageConvertable () const
 Returns true if projected values are convertable to image.
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 (Axes::Type) const
 Returns the preferred Range.
virtual void prepareValues ()
 Prepares the projector for plotting by executing, if needed, the binning procedure.
void removeObserver (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 const RangesetBinWidth (hippodraw::Axes::Type axis, int parm, bool dragging)
 Sets the bin width.
virtual const RangesetBinWidth (hippodraw::Axes::Type axis, double width)
virtual void setDirty (bool value=true)
 Sets the dirty flag to value.
virtual void setMinEntries (int entries)
 Set the minimum entries/bin.
virtual void setNormalizing (bool on)
 Sets the scaling number of entries on if on is true, otherwise turns if off.
virtual void setNumberOfBins (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 (Axes::Type axis, bool const_width=true)
 Sets the range of the selected axis.
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.
virtual ~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
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::string > 
m_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.
std::vector< double > m_zval
 Sorted Z values in this projector.

Private Attributes

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

Member Typedef Documentation

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

The member function of the Observer that is called.

Definition at line 86 of file Observable.h.

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

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

Definition at line 45 of file Observable.h.


Constructor & Destructor Documentation

BinningProjector ( unsigned int  axes  )  [protected]

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

Definition at line 35 of file BinningProjector.cxx.

BinningProjector ( const BinningProjector projector  )  [protected]

The copy constructor.

Definition at line 41 of file BinningProjector.cxx.

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

~BinningProjector (  )  [virtual]

The destructor.

Definition at line 53 of file BinningProjector.cxx.

References BinningProjector::m_binner.


Member Function Documentation

void addObserver ( hippodraw::Observer observer  )  [inherited]

Adds an Observer to the Observer list.

Definition at line 52 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().

virtual void addPointReps (  )  [protected, pure virtual, inherited]

Function to add the acceptable point reps.

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

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

void 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 330 of file ProjectorBase.cxx.

void 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 from ProjectorBase.

Reimplemented in Hist1DProjImp, and Hist2DProjImp.

Definition at line 221 of file BinningProjector.cxx.

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

virtual 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, EqualEntriesHist1DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, MeshProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, StHist2DProjector, and StripChartProjector.

Referenced by DataRep::DataRep().

DataSource * createNTuple (  )  const [virtual]

Returns an data source representing the binned values.

Implements ProjectorBase.

Definition at line 233 of file BinningProjector.cxx.

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

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

NTuple * createNTupleWith ( const std::vector< TupleCut > &  cut_list  )  const [virtual, inherited]

Creates a NTuple from the projector's DataSource object using cut_list for not including rows that do not pass the cuts.

Note:
This base class implementation returns a null pointer.

Reimplemented in NTupleProjector.

Definition at line 356 of file ProjectorBase.cxx.

const DataSource * createOldStyleNTuple (  )  const [virtual, inherited]

Definition at line 378 of file ProjectorBase.cxx.

References ProjectorBase::getProjectedValues(), and ProjectorBase::prepareValues().

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

Returns the range of the raw data.

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

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

void 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 217 of file BinningProjector.cxx.

Referenced by BinningProjector::prepareValues().

void fillColumnAfterCuts ( const std::string &  column,
std::vector< double > &  columnData 
) const [virtual, inherited]

Fill the vector with values from named column with the present set of cuts applied.

This default implementation does nothing.

Reimplemented in NTupleProjector.

Definition at line 349 of file ProjectorBase.cxx.

Referenced by DataRep::fillColumnAfterCuts().

void fillDataSource ( DataSource ntuple,
bool  in_range = false 
) const [protected, virtual]

Definition at line 240 of file BinningProjector.cxx.

References BinningProjector::m_binner.

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

double getAverage ( 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
Todo:
Resolve if this method should be done exterior to the projector class by a functor using iterators.

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

Definition at line 278 of file ProjectorBase.cxx.

Referenced by AverageTextRep::drawProjectedValues().

const vector< string > & 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(), and VariableMesh::setAxisBindings().

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

Get the AxisModel for axis axis.

Definition at line 211 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 * getBinner (  )  const

Returns reference to BinsBase object used by this projector.

Definition at line 80 of file BinningProjector.cxx.

References BinningProjector::m_binner.

Referenced by BinningProjectorXML::createChildren().

double 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 203 of file BinningProjector.cxx.

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

int getMinEntries (  )  [virtual]

Get the minimum entries/bin.

Reimplemented from ProjectorBase.

Definition at line 334 of file BinningProjector.cxx.

References BinningProjector::m_binner.

NTuple * getNTupleAfterCuts (  )  const [virtual, inherited]

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

Reimplemented in NTupleProjector.

Definition at line 342 of file ProjectorBase.cxx.

Referenced by DataRep::getNTupleAfterCuts().

int 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 116 of file BinningProjector.cxx.

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

virtual int 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(), BinningProjector::normalize(), and QtDisplay::numberOfEntries().

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

Returns the list of observers.

Definition at line 60 of file Observable.cxx.

References Observable::m_list.

double 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 188 of file BinningProjector.cxx.

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

virtual int getOverflow (  )  const [pure virtual, inherited]

Returns the number of overflow.

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

Referenced by OverflowTextRep::drawProjectedValues().

const vector< string > & getPointReps (  )  const [inherited]

Return the vector of Point Reps.

Definition at line 335 of file ProjectorBase.cxx.

References ProjectorBase::m_pointreps.

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

Returns the minimum positive value.

Todo:
Resolve if this method should be here.

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

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

const DataSource * getProjectedValues (  )  const [inherited]

Returns DataSource representation of projected values.

Definition at line 371 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(), ProjectorBase::getShape(), ProjectorBase::getZValues(), and FunctionProjector::initializeFunction().

const Range & getRange ( Axes::Type  axis  )  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(), FunctionProjector::dataRangeOn(), LineProjector::fillProjectedValues(), NTupleProjector::getAverage(), DyHist1DProjector::getAverage(), LineProjector::getPosOn(), Map2Projector::inRange(), MeshProjector::inRangeWithZ(), MapMatrixProjector::inRangeWithZ(), ProjectorBase::setBinWidth(), MapMatrixProjector::setBinWidth(), and LineProjector::valueRange().

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

Returns the RMS.

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

Requests:
Can do better than use only the projected values in some derived classes.

Definition at line 289 of file ProjectorBase.cxx.

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

const std::vector< unsigned int > & getShape (  )  [inherited]

Get the shape of the projected values.

Used to export FITS file.

Definition at line 444 of file ProjectorBase.cxx.

References ProjectorBase::getProjectedValues(), and DataSource::getShape().

Referenced by ProjectorBase::getZValues().

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

Finds the title of the plot.

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

virtual int getUnderflow (  )  const [pure virtual, inherited]

Returns the number of underflow.

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

Referenced by UnderflowTextRep::drawProjectedValues().

virtual const std::string& 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& 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, EqualEntriesHist1DProjector, FunctionProjector, LineProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector.

Referenced by CompositePlotter::getLabel().

const std::vector< double > & getZAfterTransform ( TransformBase transform  )  [inherited]

Return Z values after binary transform.

Todo:
This is the only method in all the classes of this directory that needs a heder file from transform directory. Is there a better way?

Definition at line 456 of file ProjectorBase.cxx.

References ProjectorBase::getZValue(), BinaryTransform::inverseTransform(), and ProjectorBase::m_zval.

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

Finds the Z axis label of the plot.

A plotter may ask the projector for the default label.

Todo:
Change to fetch labels by AxesType or its replacement.

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

Definition at line 302 of file ProjectorBase.cxx.

References ProjectorBase::m_z_label.

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

double getZValue ( double  x,
double  y 
) const [virtual]

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

Reimplemented from ProjectorBase.

Definition at line 226 of file BinningProjector.cxx.

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

const std::vector< double > & getZValues (  )  [inherited]

Return all Z values.

Definition at line 423 of file ProjectorBase.cxx.

References DataSource::getColumn(), ProjectorBase::getProjectedValues(), ProjectorBase::getShape(), ProjectorBase::m_zval, and num_util::shape().

bool hasDataSourceBindings (  )  const [virtual, inherited]

Returns true if projector has binding to a DataSource.

This base class implementation returns false. Derived classes that have DataSource binding should override this member function and return true.

Reimplemented in NTupleProjector.

Definition at line 518 of file ProjectorBase.cxx.

Referenced by BinningProjectorXML::createChildren().

int indexOf ( const std::string &  label  )  const [virtual, inherited]

Returns the index of the label.

For example, the column index.

Reimplemented in NTupleProjector.

Definition at line 309 of file ProjectorBase.cxx.

bool 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, EqualEntriesHist1DProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector.

Definition at line 121 of file ProjectorBase.cxx.

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

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

virtual bool 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 isImageConvertable (  )  const [virtual]

Returns true if projected values are convertable to image.

Returns true if number of binned axis is equal to two and if bins have equal widths on both axes, otherwise returns false.

Requests:
Allow axis to be on log scale, but this will require generating the X and Y coordinates for the image.

Reimplemented from ProjectorBase.

Definition at line 341 of file BinningProjector.cxx.

References BinningProjector::m_binner, and BinningProjector::m_binner_dim.

bool 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 BinningProjector::normalizeTo().

void 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 normalize (  )  [virtual]

Normalizes the projector to its target.

Definition at line 286 of file BinningProjector.cxx.

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

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

void 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 263 of file BinningProjector.cxx.

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

void 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 entries by normalizing one to the other.

Reimplemented from ProjectorBase.

Definition at line 247 of file BinningProjector.cxx.

References BinningProjector::m_binner.

Referenced by BinningProjector::normalize().

void notifyObservers ( Action  action  )  const [protected, inherited]

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

Definition at line 72 of file Observable.cxx.

References Observable::m_list.

void 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, NumArrayTuple, ListTuple, and RootNTuple.

Definition at line 93 of file Observable.cxx.

References Observer::update().

Referenced by XyPlotter::addDataRep(), XyPlotter::addDataRepStacked(), FunctionController::addFunctionRep(), StHist2DProjector::addValues(), StHist1DProjector::addValues(), XyPlotter::autoScale(), Inspector::contourLevelsTextBox_returnPressed(), Inspector::contourSlider_valueChanged(), Inspector::contourTextBox_returnPressed(), FunctionRep::fitFunction(), RootNTuple::notifyObservers(), NumArrayTuple::notifyObservers(), NTuple::notifyObservers(), ListTuple::notifyObservers(), FitsNTuple::notifyObservers(), XyPlotter::removeDataRep(), FunctionRep::restoreParameters(), DataRep::set(), CutPlotter::setActive(), PlotterBase::setAspectRatio(), XyPlotter::setAutoRanging(), XyPlotter::setBoxEdge(), 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(), DyHistogramEqualEntries::setPointRep(), DyHistogram::setPointRep(), DataRep::setPointRep(), TextPlotter::setRepColor(), DataRep::setRepColor(), DataRep::setRepSize(), DataRep::setRepStyle(), XyPlotter::setReverse(), XyPlotter::setScaling(), XyPlotter::setShowGrid(), 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(), PlotterBase::~PlotterBase(), RootNTuple::~RootNTuple(), and RTuple::~RTuple().

Range preferredRange ( Axes::Type  axis  )  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 in Hist1DProjImp, Hist2DProjImp, MapMatrixProjector, and MeshProjector.

Definition at line 163 of file ProjectorBase.cxx.

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

Referenced by MeshProjector::preferredRange(), MapMatrixProjector::preferredRange(), and DataRep::preferredRange().

void prepareValues (  )  [virtual]

Prepares the projector for plotting by executing, if needed, the binning procedure.

Reimplemented from ProjectorBase.

Definition at line 68 of file BinningProjector.cxx.

References BinningProjector::execute(), BinningProjector::fillDataSource(), ProjectorBase::isDirty(), ProjectorBase::m_proj_values, and ProjectorBase::setDirty().

Referenced by BinningProjectorXML::createChildren(), ProfileProjector::dataRangeOn(), Profile2DProjector::dataRangeOn(), Hist2DProjImp::dataRangeOnValue(), Hist1DProjImp::dataRangeOnValue(), StHist2DProjector::getAverage(), StHist1DProjector::getAverage(), and Profile2DProjector::valueRange().

void removeObserver ( hippodraw::Observer observer  )  [inherited]

Removes an Observer from the Observer list.

Definition at line 66 of file Observable.cxx.

References Observable::m_list.

Referenced by BinningProjector::normalizeTo(), CutPlotter::removeFromTarget(), DisplayController::removeTextObservers(), NTupleProjector::setNTuple(), FunctionRep::willDelete(), FunctionRep::~FunctionRep(), and NTupleProjector::~NTupleProjector().

void reset (  )  [virtual]

Resets the bins.

This interface is for the StHist1DProjector

Reimplemented from ProjectorBase.

Reimplemented in Hist1DProjImp, and StHist1DProjector.

Definition at line 182 of file BinningProjector.cxx.

void setAxisBinding ( const std::string &  axis,
const std::string &  label 
) [virtual, inherited]

Sets the axis binding.

Sets binding of the axis with name axis to entity with name label. It is expected that this member function will only be called on a derived class which can process it in a meaningful way. Thus if this method is called on this base class, an assertion is thrown.

Reimplemented in NTupleProjector.

Definition at line 84 of file ProjectorBase.cxx.

void setAxisBindings ( const std::vector< std::string > &  bindings  )  [virtual, inherited]

Sets the axis binding.

Sets binding of all axis entities with name in the vector. 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 thrown.

Reimplemented in NTupleProjector.

Definition at line 92 of file ProjectorBase.cxx.

void setAxisModel ( hippodraw::Axes::Type  axis,
AxisModelBase axis_model 
) [virtual]

Sets the AxisModel for axis axis.

Reimplemented from ProjectorBase.

Definition at line 62 of file BinningProjector.cxx.

References BinningProjector::checkScaling(), and ProjectorBase::setAxisModel().

void setBinContents ( const DataSource source  ) 

Sets the contents of the bins from the data source.

Note:
This method should be called for derived classes which are static version of projection. If called on a dynamic version, the contents of the bins will be refreshed from the data source with which it is bound.

Definition at line 319 of file BinningProjector.cxx.

References BinningProjector::m_binner.

void setBinner ( BinsBase bins  ) 

Sets the BinsBase object to be used by this projector.

Definition at line 87 of file BinningProjector.cxx.

References BinningProjector::createNTuple(), BinningProjector::m_binner, and ProjectorBase::m_proj_values.

Referenced by BinningProjectorXML::getObject().

void setBinnerOn ( BinnerAxis binner,
hippodraw::Axes::Type  axis 
) [virtual]

Sets the bin edge calculator to binner on axis axis.

Definition at line 97 of file BinningProjector.cxx.

References BinningProjector::checkScaling(), ProjectorBase::isAxisBinned(), BinningProjector::m_binner, BinsBase::setBinnerOn(), ProjectorBase::setDirty(), hippodraw::Axes::X, and hippodraw::Axes::Y.

Referenced by DisplayController::setBinner().

virtual void setBinnerRange ( hippodraw::Axes::Type  axis,
const Range range,
bool  const_width 
) [pure virtual]

Sets the Range of the binner.

See documentation for derived classes for behavior of this member function.

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

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

const Range & setBinWidth ( hippodraw::Axes::Type  axis,
int  parm,
bool  dragging 
) [virtual]

Sets the bin width.

This method is intended to be used in conjunction with a slider widget in a graphical user interface. The slider range is assumed to be 0 to 100 with the current value at parm. If the slider is still being dragged, then dragging is true, otherwise it is false. A derived class determines withs own bin width based on the width it had when slider dragging first started. and the current position of the slider. The implementation in this base class does nothing.

Reimplemented from ProjectorBase.

Reimplemented in DyHist2DProjector, and Profile2DProjector.

Definition at line 148 of file BinningProjector.cxx.

References BinsBase::calcBinWidth(), BinningProjector::m_binner, and BinningProjector::setBinWidth().

const Range & setBinWidth ( hippodraw::Axes::Type  axis,
double  width 
) [virtual]

Todo:
Derived classes that re-implement this member function do so with only difference being the assert. Redesigned to avoid duplication of code.

Reimplemented from ProjectorBase.

Reimplemented in Hist2DProjImp, and Profile2DProjector.

Definition at line 134 of file BinningProjector.cxx.

References BinningProjector::checkScaling(), BinningProjector::m_binner, BinsBase::setBinWidth(), ProjectorBase::setDirty(), and hippodraw::Axes::X.

Referenced by BinningProjector::setBinWidth().

void setDirty ( bool  value = true  )  [virtual, inherited]

Sets the dirty flag to value.

Definition at line 75 of file ProjectorBase.cxx.

References ProjectorBase::m_isDirty, and Observable::notifyObservers().

Referenced by StHist2DProjector::addValues(), StHist1DProjector::addValues(), Profile2DProjector::dataRangeOn(), FunctionProjector::fitFunction(), StHist2DProjector::getAverage(), StHist1DProjector::getAverage(), BinningProjector::normalize(), ProjectorBase::prepareValues(), MeshProjector::prepareValues(), MapMatrixProjector::prepareValues(), Map3Projector::prepareValues(), Map2Projector::prepareValues(), Map1Projector::prepareValues(), LineProjector::prepareValues(), EqualEntriesHist1DProjector::prepareValues(), BinningProjector::prepareValues(), StHist1DProjector::reset(), FunctionProjector::restoreParameters(), NTupleProjector::setAxisBinding(), BinningProjector::setBinnerOn(), StHist2DProjector::setBinnerRange(), StHist1DProjector::setBinnerRange(), ProfileProjector::setBinnerRange(), Profile2DProjector::setBinnerRange(), DyHist2DProjector::setBinnerRange(), DyHist1DProjector::setBinnerRange(), Profile2DProjector::setBinWidth(), Hist2DProjImp::setBinWidth(), EqualEntriesHist1DProjector::setBinWidth(), BinningProjector::setBinWidth(), DataRep::setDirty(), BinningProjector::setMinEntries(), NTupleProjector::setNTuple(), MapMatrixProjector::setNTuple(), Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), DyHist2DProjector::setOffset(), BinningProjector::setOffset(), FunctionProjector::setParameters(), ProjectorBase::setRange(), Profile2DProjector::setRange(), FunctionProjector::setRange(), NTupleProjector::update(), and BinningProjector::willDelete().

void setMinEntries ( int  entries  )  [virtual]

Set the minimum entries/bin.

Reimplemented from ProjectorBase.

Definition at line 326 of file BinningProjector.cxx.

References BinningProjector::m_binner, and ProjectorBase::setDirty().

void setNormalizing ( bool  on  )  [virtual]

Sets the scaling number of entries on if on is true, otherwise turns if off.

Reimplemented from ProjectorBase.

Definition at line 254 of file BinningProjector.cxx.

References BinningProjector::m_binner.

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

void setNumberOfBins ( Axes::Type  axis,
unsigned int  number 
) [virtual, inherited]

Sets the number of bins.

Sets the number of bins along the axis axis to number.

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 in MapMatrixProjector.

Definition at line 228 of file ProjectorBase.cxx.

Referenced by CompositePlotter::setNumberOfBins().

void setOffset ( hippodraw::Axes::Type  axis,
double  offset 
) [virtual]

Sets the bin offset.

Sets the offset of bins by fraction offset of the bin width.

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.

Reimplemented in Hist2DProjImp, and Profile2DProjector.

Definition at line 171 of file BinningProjector.cxx.

References BinsBase::getRange(), BinningProjector::m_binner, ProjectorBase::m_x_axis, ProjectorBase::setDirty(), BinsBase::setOffset(), AxisModelBase::setRange(), hippodraw::Axes::X, and hippodraw::Axes::Y.

void setOffset ( const std::string &  axis,
int  parm,
bool  dragging 
) [virtual]

Sets the bin offset.

See also:
setBinWidth ( const std::string &, int, bool )

Reimplemented from ProjectorBase.

Reimplemented in DyHist2DProjector, and Profile2DProjector.

Definition at line 157 of file BinningProjector.cxx.

References BinsBase::calcOffset(), BinningProjector::m_binner, ProjectorBase::setDirty(), and hippodraw::Axes::X.

void setRange ( Axes::Type  axis,
bool  const_width = true 
) [virtual, inherited]

Sets the range of the selected axis.

The base class implementation only sets the dirty flag. Derived classes may need to do more. The option bool parameter if true indicates a binning projector should hold the bin width parameter constant.

Reimplemented in FunctionProjector, Hist1DProjImp, Hist2DProjImp, Profile2DProjector, and ProfileProjector.

Definition at line 133 of file ProjectorBase.cxx.

References ProjectorBase::m_z_axis, ProjectorBase::setDirty(), hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

Referenced by DataRep::setRange().

void update ( const Observable object  )  [virtual]

Updates the receiving projector.

If the projector is normalizing to a target projector and object is the target, then re-normalizes itself. If not, then notifies its observers.

Reimplemented from ProjectorBase.

Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, and ProfileProjector.

Definition at line 297 of file BinningProjector.cxx.

References ProjectorBase::m_target, BinningProjector::normalize(), and Observable::notifyObservers().

Referenced by ProfileProjector::update(), Profile2DProjector::update(), DyHist2DProjector::update(), and DyHist1DProjector::update().

virtual Range valueRange (  )  const [pure virtual, inherited]

Finds the range of the projected values.

It is up to derived classes to determine what this means.

Todo:
Resolve if this method should be here.

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

bool wantsScaleFactor ( const std::string &  axis  )  const [virtual, inherited]

Returns whether the projector wants scale factor.

Returns true if the projector wants to scale the axis, otherwise returns false. A projector supporting a histogram, for example, would want to scale the Y axis by the bin width in order to show entries per bin instead of density. This base class implementation always returns false.

Reimplemented in Hist1DProjImp, and Hist2DProjImp.

Definition at line 364 of file ProjectorBase.cxx.

Referenced by CompositePlotter::checkAxisScaling().

void willDelete ( const Observable object  )  [virtual]

If object is the target of normalization, removes the target and sets normalization off.

Reimplemented from Observer.

Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, and ProfileProjector.

Definition at line 308 of file BinningProjector.cxx.

References ProjectorBase::m_target, ProjectorBase::setDirty(), and BinningProjector::setNormalizing().

Referenced by ProfileProjector::willDelete(), Profile2DProjector::willDelete(), DyHist2DProjector::willDelete(), and DyHist1DProjector::willDelete().


Member Data Documentation

BinsBase* m_binner [protected]

The binner object.

Some derived classes need a BinsBase object to accumulate data before the projection can be accomplished. Such classes should create the appropriate type of binner and store a pointer to it here. A null pointer value signals that the derived class projector does not need a binner.

Definition at line 51 of file BinningProjector.h.

Referenced by StHist2DProjector::addValues(), StHist1DProjector::addValues(), BinningProjector::BinningProjector(), ProfileProjector::changedNTuple(), Profile2DProjector::changedNTuple(), DyHist2DProjector::changedNTuple(), DyHist1DProjector::changedNTuple(), Hist2DProjImp::checkScaling(), Hist1DProjImp::checkScaling(), BinningProjector::createNTuple(), StHist2DProjector::dataRangeOn(), StHist1DProjector::dataRangeOn(), ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), DyHist1DProjector::execute(), BinningProjector::fillDataSource(), BinningProjector::getBinner(), BinningProjector::getBinWidth(), BinningProjector::getMinEntries(), BinningProjector::getNumberOfBins(), StHist2DProjector::getNumberOfEntries(), StHist1DProjector::getNumberOfEntries(), BinningProjector::getOffset(), StHist2DProjector::getOverflow(), StHist1DProjector::getOverflow(), DyHist1DProjector::getOverflow(), StHist2DProjector::getUnderflow(), StHist1DProjector::getUnderflow(), DyHist1DProjector::getUnderflow(), BinningProjector::getZValue(), Hist1DProjImp::Hist1DProjImp(), Hist2DProjImp::Hist2DProjImp(), BinningProjector::isImageConvertable(), BinningProjector::normalizeTo(), Profile2DProjector::Profile2DProjector(), ProfileProjector::ProfileProjector(), StHist1DProjector::reset(), BinningProjector::setBinContents(), BinningProjector::setBinner(), BinningProjector::setBinnerOn(), StHist2DProjector::setBinnerRange(), StHist1DProjector::setBinnerRange(), ProfileProjector::setBinnerRange(), Profile2DProjector::setBinnerRange(), DyHist2DProjector::setBinnerRange(), DyHist1DProjector::setBinnerRange(), Profile2DProjector::setBinWidth(), Hist2DProjImp::setBinWidth(), DyHist2DProjector::setBinWidth(), BinningProjector::setBinWidth(), BinningProjector::setMinEntries(), BinningProjector::setNormalizing(), Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), DyHist2DProjector::setOffset(), BinningProjector::setOffset(), ProfileProjector::setRange(), Hist1DProjImp::setRange(), and BinningProjector::~BinningProjector().

unsigned int m_binner_dim [private]

The number of AxesType accepted by the binner.

If the value is 1, then only X is accepted. A value of 2 accepts X and Y, etc.

Definition at line 42 of file BinningProjector.h.

Referenced by BinningProjector::getBinWidth(), BinningProjector::getNumberOfBins(), BinningProjector::getOffset(), and BinningProjector::isImageConvertable().

std::vector< std::string > m_pointreps [protected, inherited]

Vector of acceptable PointReps.

Definition at line 104 of file ProjectorBase.h.

Referenced by StripChartProjector::addPointReps(), ProfileProjector::addPointReps(), Profile2DProjector::addPointReps(), MeshProjector::addPointReps(), MapMatrixProjector::addPointReps(), Map3Projector::addPointReps(), Map2Projector::addPointReps(), Map1Projector::addPointReps(), Hist2DProjImp::addPointReps(), Hist1DProjImp::addPointReps(), EqualEntriesHist1DProjector::addPointReps(), and ProjectorBase::getPointReps().

DataSource* m_proj_values [protected, inherited]

The NTuple representing the result of the projection.

Note:
An NTuple object is probably too heavy for non-binning projectors. In the future, we'll create a class which behaves like one, but maps the data from the data source NTuple to required getRow().

Definition at line 80 of file ProjectorBase.h.

Referenced by BinningProjector::BinningProjector(), ProfileProjector::dataRangeOn(), Profile2DProjector::dataRangeOn(), MeshProjector::dataRangeOnValue(), MapMatrixProjector::dataRangeOnValue(), Hist2DProjImp::dataRangeOnValue(), Hist1DProjImp::dataRangeOnValue(), EqualEntriesHist1DProjector::dataRangeOnValue(), DyHist1DProjector::getAverage(), ProfileProjector::getPosOn(), ProjectorBase::getProjectedValues(), MeshProjector::getZLabel(), MeshProjector::getZValue(), Map3Projector::getZValue(), MeshProjector::prepareValues(), MapMatrixProjector::prepareValues(), Map3Projector::prepareValues(), Map2Projector::prepareValues(), Map1Projector::prepareValues(), LineProjector::prepareValues(), EqualEntriesHist1DProjector::prepareValues(), BinningProjector::prepareValues(), BinningProjector::setBinner(), and ProjectorBase::~ProjectorBase().

const ProjectorBase* m_target [protected, inherited]

The target projector.

Use of the target depends on derived classes. Target projector are observed, thus some of the implement is define in this base class.

Reimplemented in FunctionProjector.

Definition at line 110 of file ProjectorBase.h.

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

AxisModelBase* m_x_axis [protected, inherited]

The AxisModel along the X axis.

All Projectors have at least an X axis and maybe additional ones.

Todo:
Should be generalized to n-dimensions by having having a vector of AxisModelBase objects.

Definition at line 88 of file ProjectorBase.h.

Referenced by LineProjector::dataRangeOn(), FunctionProjector::dataRangeOn(), LineProjector::fillProjectedValues(), ProjectorBase::getAxisModel(), LineProjector::getPosOn(), ProjectorBase::getRange(), Map3Projector::getZValue(), NTupleProjector::inRange(), Map2Projector::inRange(), Map1Projector::inRange(), MeshProjector::inRangeWithZ(), MapMatrixProjector::inRangeWithZ(), ProjectorBase::setAxisModel(), ProjectorBase::setBinWidth(), Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), BinningProjector::setOffset(), ProfileProjector::setRange(), Profile2DProjector::setRange(), Hist2DProjImp::setRange(), Hist1DProjImp::setRange(), and LineProjector::valueRange().

AxisModelBase* m_y_axis [protected, inherited]

The AxisModel along the Y axis.

All Projectors have at least a Y axis and maybe additional ones.

Definition at line 92 of file ProjectorBase.h.

Referenced by Hist1DProjImp::checkScaling(), LineProjector::dataRangeOn(), FunctionProjector::dataRangeOn(), LineProjector::fillProjectedValues(), StHist1DProjector::getAverage(), DyHist1DProjector::getAverage(), ProjectorBase::getAxisModel(), LineProjector::getPosOn(), ProjectorBase::getRange(), DyHist1DProjector::getYLabel(), Map3Projector::getZValue(), NTupleProjector::inRange(), Map2Projector::inRange(), Map1Projector::inRange(), MeshProjector::inRangeWithZ(), MapMatrixProjector::inRangeWithZ(), ProjectorBase::setAxisModel(), Profile2DProjector::setOffset(), Hist2DProjImp::setOffset(), Profile2DProjector::setRange(), Hist2DProjImp::setRange(), and LineProjector::valueRange().

AxisModelBase* m_z_axis [protected, inherited]

The AxisModel along the Z axis.

May not be used by all Projectors.

Definition at line 96 of file ProjectorBase.h.

Referenced by Hist2DProjImp::checkScaling(), FunctionProjector::dataRangeOn(), StHist2DProjector::getAverage(), ProjectorBase::getAxisModel(), ProjectorBase::getRange(), Hist2DProjImp::getZLabel(), NTupleProjector::inRange(), MeshProjector::inRangeWithZ(), MapMatrixProjector::inRangeWithZ(), ProjectorBase::setAxisModel(), and ProjectorBase::setRange().

std::string m_z_label [protected, inherited]

Dummy member so that getZLabel can return a reference.

Todo:
Remove when getLabel takes axis argument

Reimplemented in FunctionProjector, and StHist2DProjector.

Definition at line 101 of file ProjectorBase.h.

Referenced by ProjectorBase::getZLabel().

std::vector< double > m_zval [mutable, protected, inherited]

Sorted Z values in this projector.

Used to export FITS file.

Definition at line 119 of file ProjectorBase.h.

Referenced by ProjectorBase::getZAfterTransform(), and ProjectorBase::getZValues().


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen