#include <Hist2DProjImp.h>
Inheritance diagram for Hist2DProjImp:


A NTuple is created with the projected values for presentation to clients.
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>
Sanket B. Malde <sanket@slac.stanford.edu>
Matan Shacham <matan@slac.stanford.edu>
Oded Wurman <owurman@stanford.edu>
Definition at line 34 of file Hist2DProjImp.h.
Public Types | |
| typedef void(hippodraw::Observer::* | Action )(const Observable *) |
| The member function of the Observer that is called. | |
| typedef std::list< hippodraw::Observer * > | ObserverList_t |
| The type of STL container to maintain list of Observer objects. | |
Public Member Functions | |
| void | addObserver (hippodraw::Observer *) |
| Adds an Observer to the Observer list. | |
| virtual void | addValues (const std::vector< double > &v) |
| Add values to the projection. | |
| virtual ProjectorBase * | clone ()=0 |
| The clone function returns an object of its own kind which is a copy of this object at this moment. | |
| virtual DataSource * | createNTuple () const |
| Returns an NTuple representing the binned values. | |
| virtual const DataSource * | createOldStyleNTuple () const |
| Creates and returns NTuple object. | |
| virtual Range | dataRangeOn (hippodraw::Axes::Type) const =0 |
| Returns the range of the raw data. | |
| virtual double | getAverage (hippodraw::Axes::Type axis) const |
| Get the Average of all projected values on the specified axis. | |
| virtual const std::vector< std::string > & | getAxisBindings () const |
| Returns the axis bindings. | |
| virtual AxisModelBase * | getAxisModel (hippodraw::Axes::Type axis) const |
| Get the AxisModel for axis axis. | |
| const BinsBase * | getBinner () 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 NTuple * | getNTupleAfterCuts () 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_t & | getObservers () const |
| Returns the list of observers. | |
| double | getOffset (hippodraw::Axes::Type axis) const |
| Returns the offset of the axis. | |
| const std::vector< std::string > & | getPointReps () const |
| Return the vector of Point Reps. | |
| virtual double | getPosOn (hippodraw::Axes::Type) const =0 |
| Returns the minimum positive value. | |
| const DataSource * | getProjectedValues () const |
| Returns ntuple representation of projected values. | |
| virtual const Range & | getRange (hippodraw::Axes::Type) const |
| Returns the Range along the specified axis. | |
| virtual double | getRMS (hippodraw::Axes::Type axis) |
| Returns the RMS. | |
| virtual const std::string & | getTitle () const =0 |
| Finds the title of the plot. | |
| 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::string & | getZLabel () const |
| Returns the label (title) of the z axis. | |
| virtual double | getZValue (double x, double y) const |
| Get the z value at the specified point (x,y). | |
| virtual bool | hasZAxis () const |
| A test function. | |
| Hist2DProjImp () | |
| The default constructor. | |
| virtual bool | isAxisBinned (const std::string &axis) const |
Returns true if specified axis is binned. | |
| bool | isDirty () const |
Returns true if the projector has been marked dirty. | |
| virtual bool | isEmpty () const =0 |
Returns true if the data source used by this projector is empty. | |
| virtual bool | isValueBinned () const |
Returns true as the projected value is the result of accumulation into bins. | |
| virtual void | matrixTranspose (bool yes) |
| Transposes the X and Y axis. | |
| virtual void | normalize () |
| Normalizes the projector to its target. | |
| virtual void | normalizeTo (const ProjectorBase *target) |
| Normalize the output of the receiving object's projected values to that of target. | |
| virtual void | normalizeTo (double number) |
| Sets a scale factor on the output so that the number of entries appears to be number. | |
| virtual void | notifyObservers () const |
| Notifies Observer objects of a change. | |
| virtual Range | preferredRange (hippodraw::Axes::Type) const |
| Returns the preferred Range. | |
| virtual void | prepareValues () |
| Prepares the projector for plotting by executing, if needed, the binning procedure. | |
| void | removeObserver (hippodraw::Observer *) |
| Removes an Observer from the Observer list. | |
| virtual void | reset () |
| Resets the bins. | |
| virtual void | setAxisBinding (const std::string &axis, const std::string &label) |
| Sets the axis binding. | |
| virtual void | setAxisBindings (const std::vector< std::string > &bindings) |
| Sets the axis binding. | |
| virtual void | setAxisModel (hippodraw::Axes::Type, AxisModelBase *) |
| Sets the AxisModel for axis axis. | |
| void | setBinContents (const DataSource *source) |
| Sets the contents of the bins from the data source. | |
| void | setBinner (BinsBase *bins) |
| Sets the BinsBase object to be used by this projector. | |
| virtual void | setBinnerOn (BinnerAxis *binner, hippodraw::Axes::Type axis) |
| Sets the bin edge calculator to binner on axis axis. | |
| virtual void | setBinnerRange (hippodraw::Axes::Type axis, const Range &range, bool const_width)=0 |
| Sets the Range of the binner. | |
| virtual void | setBinWidth (const std::string &axis, int parm, bool dragging) |
| Sets the bin width. | |
| virtual void | setBinWidth (hippodraw::Axes::Type axis, double v) |
| This function sets the binWidth. | |
| virtual void | setDirty (bool value=true) |
| Sets the dirty flag to value. | |
| virtual void | setNormalizing (bool on) |
Sets the scaling number of entries on if on is true, otherwise turns if off. | |
| virtual void | setNumberOfBins (hippodraw::Axes::Type axis, unsigned int number) |
| Sets the number of bins. | |
| virtual void | setOffset (const std::string &axis, int parm, bool dragging) |
| Sets the bin offset. | |
| virtual void | setOffset (hippodraw::Axes::Type axis, double v) |
| 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 axis, bool) |
| Sets the range of the selected axis. | |
| virtual void | update (const Observable *object) |
| Updates the receiving projector. | |
| virtual Range | valueRange () const |
| Finds the range of the projected values. | |
| virtual bool | wantsScaleFactor (const std::string &axis) const |
Returns true if axis is the Z axis. | |
| virtual void | willDelete (const Observable *object) |
| If object is the target of normalization, removes the target and sets normalization off. | |
| ~Hist2DProjImp () | |
| The destructor. | |
Protected Member Functions | |
| virtual void | addPointReps () |
| Function to add the acceptable point reps. | |
| virtual void | checkScaling () |
| Checks the axis scaling. | |
| Range | dataRangeOnValue () const |
| Returns the data range on the Z axis. | |
| virtual void | execute () |
| Provides the all the data to the binner. | |
| virtual void | fillDataSource (DataSource *ntuple, bool in_range=false) const |
| Fills the DataSource source with the projected values. | |
| virtual void | fillProjectedValues (DataSource *ntuple, bool in_range=false) const |
| Fills the NTuple ntuple with the projected values. | |
| double | getPosOnValue () const |
| Returns the smallest positive value on the Y axis. | |
| Hist2DProjImp (const Hist2DProjImp &projector) | |
| The copy constructor. | |
| void | notifyObservers (Action action) const |
| An internal method to iterate over all observers and to send the message action. | |
| void | setZLabel () |
| Sets the variable so that it can be modified. | |
Protected Attributes | |
| BinsBase * | m_binner |
| The binner object. | |
| std::vector< std::string > | m_pointreps |
| Vector of acceptable PointReps. | |
| DataSource * | m_proj_values |
| The NTuple representing the result of the projection. | |
| const ProjectorBase * | m_target |
| The target projector. | |
| AxisModelBase * | m_x_axis |
The AxisModel along the X axis. | |
| AxisModelBase * | m_y_axis |
The AxisModel along the Y axis. | |
| AxisModelBase * | m_z_axis |
The AxisModel along the Z axis. | |
| std::string | m_z_label |
| Dummy member so that getZLabel can return a reference. | |
Private Attributes | |
| Range | m_value_range |
| The range of the accumulated values. | |
| std::string | m_z_label_density |
| The label of the z axis when displaying density. | |
| std::string | m_z_label_entries |
| The label of the z axis when displaying number of entries per bin. | |
|
|
The member function of the Observer that is called.
Definition at line 83 of file Observable.h. |
|
|
The type of STL container to maintain list of Observer objects.
Definition at line 46 of file Observable.h. |
|
|
The copy constructor.
Definition at line 57 of file Hist2DProjImp.cxx. References addPointReps(). |
|
|
The default constructor.
Definition at line 38 of file Hist2DProjImp.cxx. References addPointReps(), Factory< Type >::create(), BinsFactory::instance(), BinnerAxisFactory::instance(), BinningProjector::m_binner, m_z_label_density, m_z_label_entries, BinsBase::setBinnerOn(), hippodraw::Axes::X, and hippodraw::Axes::Y. |
|
|
The destructor.
Definition at line 66 of file Hist2DProjImp.cxx. |
|
|
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(). |
|
|
Function to add the acceptable point reps.
Implements ProjectorBase. Definition at line 208 of file Hist2DProjImp.cxx. References ProjectorBase::m_pointreps. Referenced by Hist2DProjImp(). |
|
|
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. |
|
|
Checks the axis scaling. If bins are all same width, then sets the Z axis scale factor. Otherwise, turns off the scale factor on the Z axis. Reimplemented from BinningProjector. Definition at line 192 of file Hist2DProjImp.cxx. References BinsBase::hasEqualWidths(), BinningProjector::m_binner, ProjectorBase::m_z_axis, BinsBase::scaleFactor(), AxisModelBase::setScaleFactor(), and AxisModelBase::setScaling(). Referenced by StHist2DProjector::setBinnerRange(), DyHist2DProjector::setBinnerRange(), and setBinWidth(). |
|
|
The clone function returns an object of its own kind which is a copy of this object at this moment.
Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, StHist2DProjector, and StripChartProjector. Referenced by DataRep::DataRep(). |
|
|
Returns an NTuple representing the binned values.
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(). |
|
|
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. |
|
|
Returns the range of the raw data.
Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, NTupleProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector. Referenced by ProjectorBase::preferredRange(), preferredRange(), Hist1DProjImp::preferredRange(), valueRange(), and Hist1DProjImp::valueRange(). |
|
|
Returns the data range on the Z axis.
Definition at line 101 of file Hist2DProjImp.cxx. References ProjectorBase::m_proj_values, BinningProjector::prepareValues(), and hippodraw::Axes::Z. Referenced by StHist2DProjector::dataRangeOn(), DyHist2DProjector::dataRangeOn(), and getPosOnValue(). |
|
|
Provides the all the data to the binner.
Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, and ProfileProjector. Definition at line 253 of file BinningProjector.cxx. Referenced by BinningProjector::createOldStyleNTuple(), and BinningProjector::prepareValues(). |
|
||||||||||||
|
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 Implements ProjectorBase. Definition at line 286 of file BinningProjector.cxx. References BinningProjector::m_binner. Referenced by BinningProjector::BinningProjector(), and BinningProjector::prepareValues(). |
|
||||||||||||
|
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 Implements ProjectorBase. Definition at line 279 of file BinningProjector.cxx. References BinningProjector::m_binner. Referenced by BinningProjector::createOldStyleNTuple(). |
|
|
Get the Average of all projected values on the specified axis.
Reimplemented in DyHist1DProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector. Definition at line 268 of file ProjectorBase.cxx. Referenced by AverageTextRep::drawProjectedValues(). |
|
|
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(). |
|
|
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(). |
|
|
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(). |
|
|
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. |
|
|
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(). |
|
|
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. |
|
|
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(). |
|
|
Returns the list of observers.
Definition at line 57 of file Observable.cxx. References Observable::m_list. |
|
|
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. |
|
|
Return the vector of Point Reps.
Definition at line 317 of file ProjectorBase.cxx. References ProjectorBase::m_pointreps. |
|
|
Returns the minimum positive value.
Implemented in DyHist1DProjector, DyHist2DProjector, FunctionProjector, LineProjector, Map1Projector, Map2Projector, Map3Projector, MapMatrixProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector. Referenced by DataRep::getPosRange(), setRange(), and Hist1DProjImp::setRange(). |
|
|
Returns the smallest positive value on the Y axis.
Definition at line 77 of file Hist2DProjImp.cxx. References dataRangeOnValue(), and Range::pos(). Referenced by StHist2DProjector::getPosOn(). |
|
|
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(). |
|
|
Returns the Range along the specified axis. The behavior implemented here is to return the range of the AxisModelBase owned by the PlotterBase. However, derived classes may override this function, such as projectors that have binners, if this behavior is incorrect. Definition at line 145 of file ProjectorBase.cxx. References AxisModelBase::getRange(), ProjectorBase::m_x_axis, ProjectorBase::m_y_axis, ProjectorBase::m_z_axis, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z. Referenced by LineProjector::dataRangeOn(), LineProjector::fillDataSource(), LineProjector::fillProjectedValues(), NTupleProjector::getAverage(), DyHist1DProjector::getAverage(), LineProjector::getPosOn(), and LineProjector::valueRange(). |
|
|
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. |
|
|
Finds the title of the plot.
Implemented in FunctionProjector, LineProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector. |
|
|
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(). |
|
|
Finds the Y axis label of the plot. Derived classes should return a label for the Y axis that is meaningful for the kind of projection. The argument flag can be used to distinguish between two possible labels, depending on some state of the projector. Implemented in DyHist1DProjector, FunctionProjector, LineProjector, Map1Projector, MapMatrixProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector. Referenced by CompositePlotter::getLabel(). |
|
|
Returns the label (title) of the z axis.
Reimplemented from ProjectorBase. Definition at line 179 of file Hist2DProjImp.cxx. References AxisModelBase::isScaling(), ProjectorBase::m_z_axis, m_z_label_density, and m_z_label_entries. |
|
||||||||||||
|
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. |
|
|
A test function.
Definition at line 187 of file Hist2DProjImp.cxx. |
|
|
Returns An axis that is binned responds to the width and offset controls. This base class implementation returns false. Reimplemented in DyHist1DProjector, DyHist2DProjector, Profile2DProjector, ProfileProjector, StHist1DProjector, and StHist2DProjector. Definition at line 121 of file ProjectorBase.cxx. Referenced by CompositePlotter::getBinWidth(), CompositePlotter::getOffset(), DisplayController::isAxisBinned(), DisplayController::setBinner(), and BinningProjector::setBinnerOn(). |
|
|
Returns 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(). |
|
|
Returns
Returns Implemented in FunctionProjector, LineProjector, NTupleProjector, StHist1DProjector, and StHist2DProjector. Referenced by DataRep::hasZeroRows(). |
|
|
Returns
Reimplemented from ProjectorBase. Definition at line 70 of file Hist2DProjImp.cxx. |
|
|
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. |
|
|
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(). |
|
|
Normalize the output of the receiving object's projected values to that of target.
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(). |
|
|
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(). |
|
|
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(). |
|
|
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(), |