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

DyHist1DProjector Class Reference

#include <DyHist1DProjector.h>

Inheritance diagram for DyHist1DProjector:

Inheritance graph
[legend]
Collaboration diagram for DyHist1DProjector:

Collaboration graph
[legend]
List of all members.

Detailed Description

A derived class of BinningProjector that projects a column of data into a one dimensional histogram.

A vector of ProjValue1D objects is created and presented to a client via an iterator. Since this class is connected to an NTupleProjector, the binning parameters can be changed and this projector can redo the binning, hence it is called dynamic 1D histogram.

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

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

Sanket B. Malde <sanket@stanford.edu>

Matan Shacham <matan@slac.stanford.edu>

Oded Wurman <owurman@stanford.edu>

Definition at line 36 of file DyHist1DProjector.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

bool acceptRow (unsigned int i) const
 For row i of the column, returns true if all the cuts accept the row.
virtual void addCut (const TupleCut *cut)
 Adds the cut to the list of cuts.
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 const std::vector<
std::string > & 
bindingOptions () const
 Returns a vector of strings describing the binding options.
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.
 DyHist1DProjector ()
 The default constructor.
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 current axis bindings.
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.
const std::vector< const TupleCut * > & getCutList () const
 Returns the list of TupleCut objects used by this projector.
virtual DataSourcegetNTuple ()
 Returns the DataSource used by the projector.
virtual const DataSourcegetNTuple () const
 Returns the DataSoruce used by the projector.
virtual NTuplegetNTupleAfterCuts () const
 Template for projectors that can return subsets of the NTuple used by the DataRep.
virtual NTuplegetNTupleAfterCuts () const
 Template for projectors that can return subsets of the NTuple used by the DataRep.
virtual const std::stringgetNTupleName () const
 Returns the name of the NTuple used by this projector.
virtual int getNumberOfBins (hippodraw::Axes::Type axis) const
 Returns the number of bins.
int getNumberOfEntries () const
 Returns the number of entries in to the projected values list.
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 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.
virtual const std::stringgetTitle () const =0
 Finds the title of the plot.
virtual const std::stringgetXLabel () const
 Finds the X axis label of the plot.
virtual const std::stringgetXLabel () const =0
 Finds the X axis label of the plot.
virtual const std::stringgetYLabel (bool density=false) const
 Returns the label of the 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).
int indexOf (const std::string &label) const
 Returns the index of the label.
unsigned int indexOfBindingOption (const std::string &axis) const
 Returns an index to the binding option.
virtual bool inRange (int row) const
 Checks if the entries in a given row are within the range of the axis model.
virtual bool isAxisBinned (const std::string &axis) const
 Returns true if specified axis is binned.
bool isDataValid () const
 Returns true if all the data in the bound DataSource is valid.
bool isDirty () const
 Returns true if the projector has been marked dirty.
virtual bool isEmpty () const
 Returns true if the data source used by this projector is empty.
virtual bool isEmpty () const =0
 Returns true if the data source used by this projector is empty.
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.
virtual void removeCut (const TupleCut *cut)
 Removes the cut from the cut list.
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 setAxisBinding (const std::string &axis, const std::string &label)
 Sets the axis binding.
virtual void setAxisBindings (const std::vector< std::string > &labels)
 Sets the axis bindings, Sets, in the order of the binding options, the binding to the NTuple by labels contained in labels.
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 setNTuple (const DataSource *source)
 Changes the DataSource used for the projections to source.
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)
virtual void setXErrorOption (bool enable)
 Sets whether the X error options are to be enabled or not.
virtual void setYErrorOption (bool enable)
 Sets whether the Y error options are to be enabled or not.
virtual void update (const Observable *object)
 Implements Observer pattern.
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)
 Implements Observer pattern.

Protected Member Functions

virtual void addPointReps ()
 Function to add the acceptable point reps.
virtual void changedNTuple ()
 This function is called when the NTuple has been changed to a new one.
Range dataRange (int column) const
 Returns the range of data on the specified column.
Range dataRangeOnValue () const
 Returns the data range on the Y axis.
Range dataRangeWithError (int data, int error) const
 Returns a range considering both data and error.
 DyHist1DProjector (const DyHist1DProjector &projector)
 The copy constructor.
virtual void execute ()
 Projects the data source into bins.
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 getPos (int column) const
 Returns the minimum positive value on the specified column.
double getPosOnValue () const
 Returns the smallest positive value on the Y axis.
double getPosWithError (int data, int error) const
 Returns the minimum positive values considering both data and error.
void notifyObservers (Action action) const
 An internal method to iterate over all observers and to send the message action.
void setAxisBinding (int axis, const std::string &label)
 Sets the axis binding for axis binding option to the column with label label.

Protected Attributes

std::vector< std::stringm_binding_options
 The list of binding options for the Projector.
std::vector< std::stringm_bindings
 The list of current bindings.
BinsBasem_binner
 The binner object.
std::vector< unsigned int > m_columns
 A vector containing indexes to the columns of the NTuple.
std::vector< const TupleCut * > m_cut_list
 A list of cuts that filter the projection.
unsigned int m_min_bindings
 The minimum number of columns that must be bound.
const DataSourcem_ntuple
 The pointer to the data source being projected.
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

bool m_fixed
 Sets true if the bins are disconnected from the data source and are, thus, fixed.


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

DyHist1DProjector::DyHist1DProjector const DyHist1DProjector projector  )  [protected]
 

The copy constructor.

Definition at line 50 of file DyHist1DProjector.cxx.

DyHist1DProjector::DyHist1DProjector  ) 
 

The default constructor.

Definition at line 41 of file DyHist1DProjector.cxx.

References NTupleProjector::m_binding_options, and NTupleProjector::m_min_bindings.

Referenced by clone().


Member Function Documentation

bool NTupleProjector::acceptRow unsigned int  i  )  const [inherited]
 

For row i of the column, returns true if all the cuts accept the row.

Definition at line 159 of file NTupleProjector.cxx.

References NTupleProjector::m_cut_list, NTupleProjector::m_ntuple, and num_util::size().

Referenced by ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), execute(), MapMatrixProjector::fillDataSource(), Map3Projector::fillDataSource(), Map2Projector::fillDataSource(), Map1Projector::fillDataSource(), StripChartProjector::fillProjectedValues(), MapMatrixProjector::fillProjectedValues(), Map3Projector::fillProjectedValues(), Map2Projector::fillProjectedValues(), Map1Projector::fillProjectedValues(), NTupleProjector::getAverage(), getAverage(), NTupleProjector::getNTupleAfterCuts(), and NTupleProjector::getNumberOfEntries().

void NTupleProjector::addCut const TupleCut cut  )  [virtual, inherited]
 

Adds the cut to the list of cuts.

Definition at line 348 of file NTupleProjector.cxx.

References NTupleProjector::m_cut_list.

Referenced by NTupleProjectorXML::addCuts(), and CutController::linkCutAndRep().

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

const vector< string > & NTupleProjector::bindingOptions  )  const [virtual, inherited]
 

Returns a vector of strings describing the binding options.

Definition at line 97 of file NTupleProjector.cxx.

References NTupleProjector::m_binding_options.

Referenced by DataRepController::bindingOptions().

void DyHist1DProjector::changedNTuple  )  [protected, virtual]
 

This function is called when the NTuple has been changed to a new one.

The column indexes are checked for validity, and they are reset to the last column if they are invalid. The weight index is set to negative if it was invalid.

Implements NTupleProjector.

Definition at line 62 of file DyHist1DProjector.cxx.

References DataSource::columns(), BinningProjector::m_binner, NTupleProjector::m_columns, NTupleProjector::m_ntuple, and BinsBase::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 StHist1DProjector::setBinnerRange(), and setBinnerRange().

ProjectorBase * DyHist1DProjector::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 57 of file DyHist1DProjector.cxx.

References DyHist1DProjector().

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 NTupleProjector::dataRange int  column  )  const [protected, inherited]
 

Returns the range of data on the specified column.

The range may need to be calculated.

Definition at line 288 of file NTupleProjector.cxx.

References DataSource::columns(), NTupleProjector::m_is_valid, and NTupleProjector::m_ntuple.

Referenced by ProfileProjector::dataRangeOn(), Profile2DProjector::dataRangeOn(), MapMatrixProjector::dataRangeOn(), Map3Projector::dataRangeOn(), Map2Projector::dataRangeOn(), Map1Projector::dataRangeOn(), DyHist2DProjector::dataRangeOn(), dataRangeOn(), and Map3Projector::valueRange().

Range DyHist1DProjector::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.

Implements NTupleProjector.

Definition at line 123 of file DyHist1DProjector.cxx.

References NTupleProjector::dataRange(), Hist1DProjImp::dataRangeOnValue(), NTupleProjector::m_columns, 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 StHist1DProjector::dataRangeOn(), dataRangeOn(), and Hist1DProjImp::getPosOnValue().

Range NTupleProjector::dataRangeWithError int  data,
int  error
const [protected, inherited]
 

Returns a range considering both data and error.

Definition at line 263 of file NTupleProjector.cxx.

References DataSource::columns(), NTupleProjector::getPosWithError(), NTupleProjector::m_ntuple, std::max(), std::min(), and num_util::size().

Referenced by Map2Projector::dataRangeOn(), and Map1Projector::dataRangeOn().

void DyHist1DProjector::execute  )  [protected, virtual]
 

Projects the data source into bins.

Bug:
When restoring and refitting a function, it appears that this member function is called.
Should only be called once.

Reimplemented from BinningProjector.

Definition at line 76 of file DyHist1DProjector.cxx.

References NTupleProjector::acceptRow(), BinsBase::accumulate(), BinningProjector::m_binner, NTupleProjector::m_columns, NTupleProjector::m_ntuple, BinsBase::reset(), and num_util::size().

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 DyHist1DProjector::getAverage hippodraw::Axes::Type  axis  )  const [virtual]
 

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

Todo:
Remove duplicated code that is also in NTupleProjector.
Todo:
Fetch the column vector by binding instead of label.
Todo:
Should be able to reuse global functions instead of implementation here.

Reimplemented from NTupleProjector.

Definition at line 155 of file DyHist1DProjector.cxx.

References NTupleProjector::acceptRow(), NTupleProjector::getNTuple(), ProjectorBase::getRange(), AxisModelBase::getRange(), AxisModelBase::getScaleFactor(), NTupleProjector::getXLabel(), getYLabel(), Range::high(), Range::includes(), NTupleProjector::indexOf(), Range::low(), ProjectorBase::m_proj_values, ProjectorBase::m_y_axis, std::max(), std::min(), num_util::size(), hippodraw::Axes::X, and hippodraw::Axes::Y.

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

Returns the current axis bindings.

Returns the label for each column to which the projector is bound. If column is not bound, returns the string "nil" for that column.

Reimplemented from ProjectorBase.

Definition at line 124 of file NTupleProjector.cxx.

References DataSource::getLabelAt(), NTupleProjector::m_bindings, NTupleProjector::m_columns, NTupleProjector::m_ntuple, and num_util::size().

Referenced by DisplayController::axisBindings(), and NTupleProjectorXML::createElement().

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.

const vector< const TupleCut * > & NTupleProjector::getCutList  )  const [inherited]
 

Returns the list of TupleCut objects used by this projector.

Definition at line 362 of file NTupleProjector.cxx.

References NTupleProjector::m_cut_list.

Referenced by CutController::connectDataRep(), and NTupleProjectorXML::createChildren().

DataSource * NTupleProjector::getNTuple  )  [virtual, inherited]
 

Returns the DataSource used by the projector.

Todo:
Should be changed to getDatSource().

Definition at line 420 of file NTupleProjector.cxx.

References NTupleProjector::m_ntuple.

const DataSource * NTupleProjector::getNTuple  )  const [virtual, inherited]
 

Returns the DataSoruce used by the projector.

Todo:
Should be changed to getDatSource().

Definition at line 412 of file NTupleProjector.cxx.

References NTupleProjector::m_ntuple.

Referenced by NTupleProjectorXML::createElement(), NTupleProjector::getAverage(), getAverage(), DisplayController::getDataSourceLabels(), and DisplayController::getNTuple().

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

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

Reimplemented from ProjectorBase.

Definition at line 492 of file NTupleProjector.cxx.

References NTupleProjector::acceptRow(), DataSource::columns(), DataSource::getLabels(), NTupleProjector::m_ntuple, DataSource::rows(), NTuple::setLabels(), and num_util::size().

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

const string & NTupleProjector::getNTupleName  )  const [virtual, inherited]
 

Returns the name of the NTuple used by this projector.

Definition at line 425 of file NTupleProjector.cxx.

References DataSource::getName(), and NTupleProjector::m_ntuple.

Referenced by DisplayController::getDataSourceName().

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 NTupleProjector::getNumberOfEntries  )  const [virtual, inherited]
 

Returns the number of entries in to the projected values list.

Implements ProjectorBase.

Definition at line 369 of file NTupleProjector.cxx.

References NTupleProjector::acceptRow(), NTupleProjector::inRange(), NTupleProjector::m_ntuple, DataSource::rows(), and num_util::size().

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(), BinningProjector::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, 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 NTupleProjector::getPos int  column  )  const [protected, inherited]
 

Returns the minimum positive value on the specified column.

Definition at line 330 of file NTupleProjector.cxx.

References DataSource::columns(), NTupleProjector::m_ntuple, and num_util::size().

Referenced by ProfileProjector::getPosOn(), Profile2DProjector::getPosOn(), MapMatrixProjector::getPosOn(), Map3Projector::getPosOn(), Map2Projector::getPosOn(), Map1Projector::getPosOn(), DyHist2DProjector::getPosOn(), and getPosOn().

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

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

Implements ProjectorBase.

Definition at line 109 of file DyHist1DProjector.cxx.

References NTupleProjector::getPos(), Hist1DProjImp::getPosOnValue(), NTupleProjector::m_columns, 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 StHist1DProjector::getPosOn(), and getPosOn().

double NTupleProjector::getPosWithError int  data,
int  error
const [protected, inherited]
 

Returns the minimum positive values considering both data and error.

Definition at line 301 of file NTupleProjector.cxx.

References DataSource::columns(), NTupleProjector::m_ntuple, std::min(), and num_util::size().

Referenced by NTupleProjector::dataRangeWithError(), MapMatrixProjector::getPosOn(), Map2Projector::getPosOn(), and Map1Projector::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(), 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(), 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 string & NTupleProjector::getTitle  )  const [virtual, inherited]
 

Finds the title of the plot.

This implementation gets the title from the NTuple.

Implements ProjectorBase.

Definition at line 248 of file NTupleProjector.cxx.

References NTupleProjector::m_ntuple, and DataSource::title().

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

Finds the title of the plot.

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

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

Finds the X axis label of the plot.

A plotter may ask the projector for the default label.

Implements ProjectorBase.

Reimplemented in Map1Projector, and MapMatrixProjector.

Definition at line 253 of file NTupleProjector.cxx.

References DataSource::getLabelAt(), NTupleProjector::m_columns, and NTupleProjector::m_ntuple.

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

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

const string & DyHist1DProjector::getYLabel bool  density = false  )  const [virtual]
 

Returns the label of the axis.

If density is true, always return the label used when the axis is not scaled. If density is false, then return the label used for scaled axis if the axis is scaled, otherwise return the label for the unscaled axis.

Reimplemented from NTupleProjector.

Definition at line 134 of file DyHist1DProjector.cxx.

References AxisModelBase::isScaling(), ProjectorBase::m_y_axis, Hist1DProjImp::m_y_label_density, and Hist1DProjImp::m_y_label_entries.

Referenced by getAverage().

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.

int NTupleProjector::indexOf const std::string label  )  const [inherited]
 

Returns the index of the label.

For example, the column index.

Definition at line 144 of file NTupleProjector.cxx.

References DataSource::indexOf(), and NTupleProjector::m_ntuple.

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

unsigned int NTupleProjector::indexOfBindingOption const std::string axis  )  const [inherited]
 

Returns an index to the binding option.

The parameter axis should match one of the strings returned by binding Options(). If not, an assertion is made.

Definition at line 103 of file NTupleProjector.cxx.

References std::find(), and NTupleProjector::m_binding_options.

Referenced by NTupleProjector::setAxisBinding().

bool NTupleProjector::inRange int  row  )  const [virtual, inherited]
 

Checks if the entries in a given row are within the range of the axis model.

Reimplemented in Map1Projector, and MapMatrixProjector.

Definition at line 386 of file NTupleProjector.cxx.

References Range::excludes(), AxisModelBase::getRange(), NTupleProjector::m_columns, NTupleProjector::m_ntuple, ProjectorBase::m_x_axis, ProjectorBase::m_y_axis, ProjectorBase::m_z_axis, and num_util::size().

Referenced by Map3Projector::fillDataSource(), Map2Projector::fillDataSource(), StripChartProjector::fillProjectedValues(), Map3Projector::fillProjectedValues(), Map2Projector::fillProjectedValues(), and NTupleProjector::getNumberOfEntries().

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

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

Definition at line 229 of file DyHist1DProjector.cxx.

References NTupleProjector::m_binding_options.

bool NTupleProjector::isDataValid  )  const [inherited]
 

Returns true if all the data in the bound DataSource is valid.

Definition at line 516 of file NTupleProjector.cxx.

References NTupleProjector::m_is_valid.

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 NTupleProjector::isEmpty  )  const [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.

Implements ProjectorBase.

Definition at line 485 of file NTupleProjector.cxx.

References NTupleProjector::m_ntuple.

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 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(), 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(), 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  )  [virtual, inherited]
 

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

Reimplemented from ProjectorBase.

Definition at line 72 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 NTupleProjector::removeCut const TupleCut cut  )  [virtual, inherited]
 

Removes the cut from the cut list.

Definition at line 353 of file NTupleProjector.cxx.

References std::find(), and NTupleProjector::m_cut_list.

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

Removes an Observer from the Observer list.

Definition at line 63 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 Hist1DProjImp::reset  )  [virtual, inherited]
 

Resets the bins.

This interface is for the StHist1DProjector

Reimplemented from BinningProjector.

Reimplemented in StHist1DProjector.

Definition at line 166 of file Hist1DProjImp.cxx.

void NTupleProjector::setAxisBinding const std::string axis,
const std::string label
[virtual, inherited]
 

Sets the axis binding.

The parameter axis should match one of the strings returned by bindingOptions(). The parameter label should match one of the column labels of the NTuple. If not, the corresponding axis becomes unbound.

Reimplemented from ProjectorBase.

Definition at line 194 of file NTupleProjector.cxx.

References NTupleProjector::indexOfBindingOption(), and NTupleProjector::setAxisBinding().

void NTupleProjector::setAxisBinding int  axis,
const std::string label
[protected, inherited]
 

Sets the axis binding for axis binding option to the column with label label.

If the label doesn't exist in the data source, then the axis becomes unbound.

Definition at line 180 of file NTupleProjector.cxx.

References DataSource::indexOf(), NTupleProjector::m_columns, NTupleProjector::m_is_valid, NTupleProjector::m_ntuple, and ProjectorBase::setDirty().

Referenced by NTupleProjector::setAxisBinding(), CutPlotter::setAxisBinding(), and NTupleProjector::setAxisBindings().

void ProjectorBase::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 NTupleProjector::setAxisBindings const std::vector< std::string > &  labels  )  [virtual, inherited]
 

Sets the axis bindings, Sets, in the order of the binding options, the binding to the NTuple by labels contained in labels.

If labels does not contain sufficient number of entries, the remaining bindings are unset.

Reimplemented from ProjectorBase.

Definition at line 204 of file NTupleProjector.cxx.

References NTupleProjector::m_columns, NTupleProjector::m_is_valid, NTupleProjector::m_min_bindings, NTupleProjector::setAxisBinding(), and num_util::size().

Referenced by DisplayController::setAxisBindings().

void ProjectorBase::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 BinningProjector::setAxisModel hippodraw::Axes::Type  ,
AxisModelBase
[virtual, inherited]
 

Sets the AxisModel for axis axis.

Reimplemented from ProjectorBase.

Definition at line 66 of file BinningProjector.cxx.

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

void BinningProjector::setBinContents const DataSource source  )  [inherited]
 

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

References BinningProjector::m_binner.

void BinningProjector::setBinner BinsBase bins  )  [inherited]
 

Sets the BinsBase object to be used by this projector.

Definition at line 106 of file BinningProjector.cxx.

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

Referenced by BinningProjectorXML::getObject().

void BinningProjector::setBinnerOn BinnerAxis binner,
hippodraw::Axes::Type  type
[virtual, inherited]
 

Sets the bin edge calculator to binner on axis axis.

Todo:
Remove this member function when AxesType is no longer used.

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

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

Sets the Range of the binner.

Sets the Range of the BinsBase object for axes axis to range. If const_width is true, the bin width is not changed, otherwise it changes to keep the same number of bins.

Implements BinningProjector.

Definition at line 239 of file DyHist1DProjector.cxx.

References Hist1DProjImp::checkScaling(), BinningProjector::m_binner, ProjectorBase::setDirty(), and Hist1DProjImp::setRange().

void BinningProjector::setBinWidth const std::string axis,
int  parm,
bool  dragging
[virtual, inherited]
 

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

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

void BinningProjector::setBinWidth hippodraw::Axes::Type  axis,
double  width
[virtual, inherited]
 

Todo:
Derived classes that reimplement 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 164 of file BinningProjector.cxx.

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

Referenced by BinningProjector::setBinWidth().

void ProjectorBase::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(), FunctionProjector::prepareAxis(), ProjectorBase::prepareValues(), MapMatrixProjector::prepareValues(), Map3Projector::prepareValues(), Map2Projector::prepareValues(), Map1Projector::prepareValues(), LineProjector::prepareValues(), FunctionProjector::prepareValues(), BinningProjector::prepareValues(), StHist1DProjector::reset(), FunctionProjector::restoreParameters(), NTupleProjector::setAxisBinding(), BinningProjector::setBinnerOn(), StHist2DProjector::setBinnerRange(), StHist1DProjector::setBinnerRange(), ProfileProjector::setBinnerRange(), Profile2DProjector::setBinnerRange(), DyHist2DProjector::setBinnerRange(), setBinnerRange(), Profile2DProjector::setBinWidth(), Hist2DProjImp::setBinWidth(), BinningProjector::setBinWidth(), DataRep::setDirty(), 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 BinningProjector::setNormalizing bool  on  )  [virtual, inherited]
 

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

Reimplemented from ProjectorBase.

Definition at line 300 of file BinningProjector.cxx.

References BinningProjector::m_binner.

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

void NTupleProjector::setNTuple const DataSource source  )  [virtual, inherited]
 

Changes the DataSource used for the projections to source.

The column indexes remain the same if the new DataSource has at least as many columns as the old. Any indexes exceeding the number of columns of the new DataSource are reset to 0.

Reimplemented in MapMatrixProjector.

Definition at line 228 of file NTupleProjector.cxx.

References NTupleProjector::changedNTuple(), DataSource::isNull(), NTupleProjector::m_is_valid, NTupleProjector::m_ntuple, Observable::removeObserver(), and ProjectorBase::setDirty().

Referenced by DataRepController::setAxisBindings(), MapMatrixProjector::setNTuple(), DisplayController::setNTuple(), and CutPlotter::setNTuple().

void ProjectorBase::setNumberOfBins hippodraw::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 221 of file ProjectorBase.cxx.

Referenced by CompositePlotter::setNumberOfBins().

void BinningProjector::setOffset hippodraw::Axes::Type  axis,
double  offset
[virtual, inherited]
 

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 206 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 BinningProjector::setOffset const std::string axis,
int  parm,
bool  dragging
[virtual, inherited]
 

Sets the bin offset.

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

Reimplemented from ProjectorBase.

Reimplemented in DyHist2DProjector, and Profile2DProjector.

Definition at line 190 of file BinningProjector.cxx.

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

void BinningProjector::setRange hippodraw::Axes::Type  ,
const Range range,
bool 
[virtual, inherited]
 

Sets the range of the binner.

Definition at line 151 of file BinningProjector.cxx.

References BinningProjector::m_binner, BinsBase::setRange(), hippodraw::Axes::X, and hippodraw::Axes::Y.

void Hist1DProjImp::setRange hippodraw::Axes::Type  axis,
bool  const_width
[virtual, inherited]
 

Todo:
Should not be changing the AxisModelBase Range.

Reimplemented from ProjectorBase.

Definition at line 145 of file Hist1DProjImp.cxx.

References ProjectorBase::getPosOn(), AxisModelBase::getRange(), Range::high(), AxisModelBase::isLog(), Range::low(), BinningProjector::m_binner, ProjectorBase::m_x_axis, BinningProjector::setBinnerRange(), AxisModelBase::setRange(), hippodraw::Axes::X, and hippodraw::Axes::Y.

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

void NTupleProjector::setXErrorOption bool  enable  )  [virtual, inherited]
 

Sets whether the X error options are to be enabled or not.

This base class implementation does nothing.

Reimplemented in Map2Projector.

Definition at line 149 of file NTupleProjector.cxx.

void NTupleProjector::setYErrorOption bool  enable  )  [virtual, inherited]
 

Sets whether the Y error options are to be enabled or not.

This base class implementation does nothing.

Reimplemented in Map1Projector, and Map2Projector.

Definition at line 153 of file NTupleProjector.cxx.

void DyHist1DProjector::update const Observable object  )  [virtual]
 

Implements Observer pattern.

Receives the update from the Observable object and directs it to either BinningProject::update or NTupleProjector::update deponding on class of object.

Reimplemented from NTupleProjector.

Definition at line 251 of file DyHist1DProjector.cxx.

References BinningProjector::update(), and NTupleProjector::update().

Range Hist1DProjImp::valueRange  )  const [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.

Implements ProjectorBase.

Definition at line 172 of file Hist1DProjImp.cxx.

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

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

Returns true if axis is the Y axis.

Reimplemented from ProjectorBase.

Definition at line 179 of file Hist1DProjImp.cxx.

void DyHist1DProjector::willDelete const Observable object  )  [virtual]
 

Implements Observer pattern.

Receives the willDelete from the Observable object and directs it to either BinningProjector::update or NTupleProjector::update dependin on the calss of object.

Reimplemented from NTupleProjector.

Definition at line 266 of file DyHist1DProjector.cxx.

References BinningProjector::willDelete(), and NTupleProjector::willDelete().


Member Data Documentation

std::vector< std::string > NTupleProjector::m_binding_options [protected, inherited]
 

The list of binding options for the Projector.

The binding refers to a connection to the data. For example, a 1D histogram binds to one axis and the option might be "X", while a scatter plot binds to two axes with the options "X" and "Y". The binding option is maintained as a string which can be interpreted by derived classes in various ways. For example, an NTuple projector could take the string as a label for a column. Derived classes should initialize this data member in their constructor.

Definition at line 61 of file NTupleProjector.h.

Referenced by NTupleProjector::bindingOptions(), DyHist1DProjector(), DyHist2DProjector::DyHist2DProjector(), NTupleProjector::indexOfBindingOption(), ProfileProjector::isAxisBinned(), Profile2DProjector::isAxisBinned(), DyHist2DProjector::isAxisBinned(), isAxisBinned(), Map1Projector::Map1Projector(), Map2Projector::Map2Projector(), Map3Projector::Map3Projector(), MapMatrixProjector::MapMatrixProjector(), NTupleProjector::NTupleProjector(), Profile2DProjector::Profile2DProjector(), ProfileProjector::ProfileProjector(), Map2Projector::setXErrorOption(), Map2Projector::setYErrorOption(), and Map1Projector::setYErrorOption().

std::vector< std::string > NTupleProjector::m_bindings [mutable, protected, inherited]
 

The list of current bindings.

Definition at line 64 of file NTupleProjector.h.

Referenced by NTupleProjector::getAxisBindings().

BinsBase* BinningProjector::m_binner [protected, inherited]
 

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 49 of file BinningProjector.h.

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

std::vector< unsigned int > NTupleProjector::m_columns [protected, inherited]
 

A vector containing indexes to the columns of the NTuple.

The value UINT_MAX indicates that the column is not bound. Derived classes use these indexes in conjunction with m_binding_options.

Definition at line 70 of file NTupleProjector.h.

Referenced by ProfileProjector::changedNTuple(), Profile2DProjector::changedNTuple(), MapMatrixProjector::changedNTuple(), Map3Projector::changedNTuple(), Map2Projector::changedNTuple(), Map1Projector::changedNTuple(), DyHist2DProjector::changedNTuple(), changedNTuple(), MapMatrixProjector::createNTuple(), Map3Projector::createNTuple(), Map2Projector::createNTuple(), ProfileProjector::dataRangeOn(), Profile2DProjector::dataRangeOn(), MapMatrixProjector::dataRangeOn(), Map3Projector::dataRangeOn(), Map2Projector::dataRangeOn(), Map1Projector::dataRangeOn(), DyHist2DProjector::dataRangeOn(), dataRangeOn(), ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), execute(), MapMatrixProjector::fillDataSource(), Map3Projector::fillDataSource(), Map2Projector::fillDataSource(), Map1Projector::fillDataSource(), StripChartProjector::fillProjectedValues(), MapMatrixProjector::fillProjectedValues(), Map3Projector::fillProjectedValues(), Map2Projector::fillProjectedValues(), Map1Projector::fillProjectedValues(), NTupleProjector::getAxisBindings(), ProfileProjector::getPosOn(), Profile2DProjector::getPosOn(), MapMatrixProjector::getPosOn(), Map3Projector::getPosOn(), Map2Projector::getPosOn(), Map1Projector::getPosOn(), DyHist2DProjector::getPosOn(), getPosOn(), NTupleProjector::getXLabel(), NTupleProjector::getYLabel(), Map1Projector::getYLabel(), Profile2DProjector::getZLabel(), MapMatrixProjector::getZLabel(), Map3Projector::getZLabel(), MapMatrixProjector::getZValue(), NTupleProjector::inRange(), MapMatrixProjector::inRange(), Map1Projector::inRange(), NTupleProjector::setAxisBinding(), NTupleProjector::setAxisBindings(), Map2Projector::setXErrorOption(), Map2Projector::setYErrorOption(), Map1Projector::setYErrorOption(), and Map3Projector::valueRange().

std::vector< const TupleCut * > NTupleProjector::m_cut_list [protected, inherited]
 

A list of cuts that filter the projection.

Definition at line 73 of file NTupleProjector.h.

Referenced by NTupleProjector::acceptRow(), NTupleProjector::addCut(), NTupleProjector::getCutList(), and NTupleProjector::removeCut().

bool DyHist1DProjector::m_fixed [private]
 

Sets true if the bins are disconnected from the data source and are, thus, fixed.

Definition at line 44 of file DyHist1DProjector.h.

unsigned int NTupleProjector::m_min_bindings [protected, inherited]
 

The minimum number of columns that must be bound.

The minimum number of columns that must be bound. This member must be set by derived class according to its needs. The default setting is zero.

Definition at line 84 of file NTupleProjector.h.

Referenced by DyHist1DProjector(), DyHist2DProjector::DyHist2DProjector(), Map1Projector::Map1Projector(), Map2Projector::Map2Projector(), Map3Projector::Map3Projector(), MapMatrixProjector::MapMatrixProjector(), Profile2DProjector::Profile2DProjector(), ProfileProjector::ProfileProjector(), and NTupleProjector::setAxisBindings().

const DataSource* NTupleProjector::m_ntuple [protected, inherited]
 

The pointer to the data source being projected.

It is a pointer because the same data can be shared by multiple projectors.

Definition at line 77 of file NTupleProjector.h.

Referenced by NTupleProjector::acceptRow(), ProfileProjector::changedNTuple(), Profile2DProjector::changedNTuple(), MapMatrixProjector::changedNTuple(), Map3Projector::changedNTuple(), Map2Projector::changedNTuple(), Map1Projector::changedNTuple(), DyHist2DProjector::changedNTuple(), changedNTuple(), MapMatrixProjector::createNTuple(), Map3Projector::createNTuple(), Map2Projector::createNTuple(), NTupleProjector::dataRange(), Map1Projector::dataRangeOn(), NTupleProjector::dataRangeWithError(), ProfileProjector::execute(), Profile2DProjector::execute(), DyHist2DProjector::execute(), execute(), MapMatrixProjector::fillDataSource(), Map3Projector::fillDataSource(), Map2Projector::fillDataSource(), Map1Projector::fillDataSource(), StripChartProjector::fillProjectedValues(), MapMatrixProjector::fillProjectedValues(), Map3Projector::fillProjectedValues(), Map2Projector::fillProjectedValues(), Map1Projector::fillProjectedValues(), NTupleProjector::getAverage(), NTupleProjector::getAxisBindings(), NTupleProjector::getNTuple(), NTupleProjector::getNTupleAfterCuts(), NTupleProjector::getNTupleName(), NTupleProjector::getNumberOfEntries(), NTupleProjector::getPos(), Map1Projector::getPosOn(), NTupleProjector::getPosWithError(), NTupleProjector::getTitle(), NTupleProjector::getXLabel(), NTupleProjector::getYLabel(), Map1Projector::getYLabel(), Profile2DProjector::getZLabel(), MapMatrixProjector::getZLabel(), Map3Projector::getZLabel(), MapMatrixProjector::getZValue(), NTupleProjector::indexOf(), NTupleProjector::inRange(), MapMatrixProjector::inRange(), Map1Projector::inRange(), NTupleProjector::isEmpty(), NTupleProjector::NTupleProjector(), NTupleProjector::setAxisBinding(), NTupleProjector::setNTuple(), NTupleProjector::willDelete(), and NTupleProjector::~NTupleProjector().

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

Vector of acceptable PointReps.

Definition at line 98 of file ProjectorBase.h.

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

DataSource* ProjectorBase::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 73 of file ProjectorBase.h.

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

const ProjectorBase* 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 104 of file ProjectorBase.h.

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

AxisModelBase* ProjectorBase::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 82 of file ProjectorBase.h.

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

AxisModelBase* ProjectorBase::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 86 of file ProjectorBase.h.

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

std::string Hist1DProjImp::m_y_label_density [protected, inherited]
 

The label of the y axis when axis is not scaled.

When the axis is not scaled, the values of the ticks are the density.

Definition at line 38 of file Hist1DProjImp.h.

Referenced by getYLabel(), and Hist1DProjImp::Hist1DProjImp().

std::string Hist1DProjImp::m_y_label_entries [protected, inherited]
 

The label of the y axis when axis is scaled.

When the axis is scaled, the values of the ticks appear to be number of entries per bin instead of the true density.

Definition at line 34 of file Hist1DProjImp.h.

Referenced by getYLabel(), Hist1DProjImp::Hist1DProjImp(), and StHist1DProjector::setYLabel().

AxisModelBase* ProjectorBase::m_z_axis [protected, inherited]
 

The AxisModel along the Z axis.

May not be used by all Projectors.

Definition at line 90 of file ProjectorBase.h.

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

std::string ProjectorBase::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 95 of file ProjectorBase.h.

Referenced by ProjectorBase::getZLabel().


The documentation for this class was generated from the following files:
Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3