Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
XyPlotter Class Reference

A Plotter class that plots points in 2 dimensions and option a third dimension in color. More...

#include <XyPlotter.h>

Inheritance diagram for XyPlotter:
Inheritance graph
[legend]
Collaboration diagram for XyPlotter:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

virtual int activePlotIndex () const
 Returns the index of the active DataRep object.
virtual ProjectorBaseactiveProjector () const
 Returns the active projector.
virtual void addDataRep (DataRep *rep)
 Adds the DataRep object to the plotter.
virtual void addDataRepStacked (DataRep *rep)
 Adds the DataRep object to the plotter.
void addObserver (Observer *)
 Adds an Observer to the Observer list.
virtual void addValues (const std::vector< double > &v)
 Adds data values to the plot.
virtual void autoScale ()
 Sets the Range on each axis that has the auto range flag set to include all the data.
virtual void checkAxisScaling ()
 Check if Axis needs to be scaled or not.
PlotterBaseclone ()
 The clone function returns an object of its own kind which is a copy of this object at this moment.
virtual NTuplecreateNTuple () const
 Creates an DataSource representation of the plotted data.
virtual NTuplecreatePickTuple ()
 Creates a NTuple for a PickTable.
int currentView () const
 Return the current view index.
void deleteView (int index)
 Delete a view by index.
virtual void drawCrossHairs (ViewBase *view)
 Draws cross-hairs.
virtual void drawIn (ViewBase *view)
 Starts the drawing in view view.
virtual void drawProjValues (ViewBase *view)
 Draws the projected values.
virtual bool errorDisplay (Axes::Type axis) const
 Returns the state of error bar display on specified axis.
void fillCutList (std::vector< const TupleCut * > &cuts) const
 Fills the cuts vector with the TupleCuts contained by the DataRep objects.
virtual void fillPickedPointFrom (double mx, double my, std::vector< double > &picked) const
 Fills the picked data point.
virtual double getAspectRatio () const
 Returns the aspect ratio.
virtual AxisModelBasegetAxisModel (Axes::Type axis) const
 Returns the AxisModelBase derived class for the specified axis.
virtual double getBinWidth (Axes::Type) const
 Returns the bins with of the target DataRep object.
double getBinWidth (const std::string &axis) const
 Returns the bin width.
virtual double getBottomMargin ()
virtual bool getBoxEdge ()
 Gets the box edge flag to update Inspector.
virtual bool getCurrentRangeSaved ()
 Returns current_range_saved member t.
virtual bool getCutInversion ()
 Get the inversion state of the cut.
virtual Range getCutRange ()
 Gets the object of current XyPlotter is a TupleCut object, get the range of it.
virtual Range getDataRange (Axes::Type axis)
 Return the range of the raw data on the specified axis.
virtual DataRepgetDataRep (int index) const
 Returns the DataRep object at index.
virtual TransformBasegetFitsTransform () const
 Returns the fits transform object.
virtual double getHighRangeOnX () const
 Returns the high end of the X axis range.
virtual const std::string & getInternalLabel (Axes::Type axis) const
 Returns the internal label.
virtual const std::string & getInternalTitle () const
 Returns the internal title.
virtual const std::string & getLabel (Axes::Type) const
 Returns the label for the specified axis.
virtual double getLeftMargin ()
virtual double getLowRangeOnX () const
 Returns the low end of the X axis range.
virtual int getMinEntries ()
 Get the minimum entries/bin.
virtual int getNumberOfEntries () const
 Returns the number of entries in the contained DataRep.
virtual int getNumDataReps () const
 Returns the number of DataRep objects contained by the plotter.
int getNumOfEntries () const
 Returns the number of entries in the contained DataRep.
const ObserverList_tgetObservers () const
 Returns the list of observers.
virtual double getOffset (Axes::Type axis) const
 Returns the offset on designated axis, similarly to getBinWidth.
double getOffset (const std::string &axis) const
 Returns the offset on designated axis, similarly to getBinWidth.
virtual int getParentDataRepIndex () const
 Returns the index of the parent DataRep.
virtual PlotterBasegetParentPlotter () const
 Returns the parent plotter.
virtual double getPosRange (Axes::Type axis) const
 Returns the smallest positive number from the data.
virtual ProjectorBasegetProjector (int i) const
 Returns the i-th projector.
virtual const RangegetRange (Axes::Type axis, bool scaled) const
 Returns the range on the specified axis.
const RectgetRawRect () const
 Returns the raw rectangle before transform.
virtual double getScaleFactor (Axes::Type axis) const
 Returns the scale factor on the specified axis.
const std::vector< unsigned int > & getShape ()
virtual bool getShowGrid ()
 Gets the show-grid flag to update Inspector.
virtual DataRepgetTarget () const
 Returns the selected DataRep.
const std::string & getTitle () const
 Gets the title to be displayed.
virtual double getTopMargin ()
virtual TransformBasegetTransform () const
 Returns the transform object used by the plotter.
const RectgetUserRect () const
 Returns the data space rectangle.
virtual const BinToColorgetValueRep () const
 Returns the value to color representation.
virtual double getZMargin ()
virtual double getZValue (double x, double y, bool scaled=true) const
 Get the z value at the specified point (x,y).
const std::vector< double > & getZValues ()
 Returns all Z values.
bool hasAutoScaled () const
 Returns true if the axes have already been auto-scaled.
virtual bool hasAxis (Axes::Type axis) const
 Returns true if the plotter has an axis of specified type.
virtual bool hasNTupleBindings () const
 Returns true if the selected DataRep object has bindings to a DataSource, otherwise returns false.
virtual bool hasZoomY () const
 Returns true if the plotter has zoom feature on the Y axis otherwise it returns false.
virtual int indexOf (const DataRep *) const
 Returns the index of the selected DataRep object.
virtual bool isAutoRanging (Axes::Type axis) const
 Returns true if auto-ranging is enabled, otherwise returns false.
virtual bool isAxisScaled (Axes::Type axis) const
 Returns true if specified axis is being scaled.
virtual bool isImageConvertable () const
 Returns true if contents of the plotter is convertable to an image.
virtual bool isReverse () const
 Returns true if reverse is enabled, otherwise returns false.
bool isTargetable () const
 Returns true if receiving object is target-able.
virtual bool isTextPlotter () const
 Return true if it's a text plotter.
virtual FontBaselabelFont (Axes::Type axes) const
 What font is being used to override the default while drawing axis label.
virtual void matrixTranspose (bool yes)
 Transpose the X and Y axis of matrix representation.
const std::string & name () const
 Returns the name of the plotter.
int nextView (bool stepForward=true)
 Cycle through each set of plot ranges, thereby changing the view with each call.
virtual void notifyObservers () const
 Notifies Observer objects of a change.
int numViews () const
 Return the number of stored views.
virtual int plotterId () const
 The unique ID number of this plotter.
virtual void removeDataRep (DataRep *rep)
 Removes the DataRep object from the plotter.
void removeObserver (Observer *)
 Removes an Observer from the Observer list.
virtual const ColorrepColor () const
 Returns the color used for the representation.
virtual RepBaserepresentation () const
 Returns the representation used by the plotter.
virtual void reset ()
 Resets the bins.
int saveView (const std::vector< double > &range_values)
 Save the current set of plot ranges which define a "view" for this plot.
int saveViewAtIndex (const std::vector< double > &range_values, unsigned int i)
 Save the current set of plot ranges which define a "view" for this plot.at the position i.
virtual DataRepselectedDataRep () const
 Returns the selected DataRep.
virtual void setActivePlot (int index, bool redraw)
 Sets the active plot.
void setAspectRatio (double ratio)
 Sets the aspect ratio.
virtual void setAutoRanging (bool flag)
 Sets the auto-ranging status for all axes to flag.
virtual void setAutoRanging (Axes::Type axis, bool flag)
 Sets the auto-ranging.
virtual void setAutoRanging (const std::string &axis, bool flag)
 Sets the auto-ranging.
virtual void setAutoTicks (Axes::Type axis, bool yes)
 Sets automatic generation of axis ticks.
virtual void setAutoTicks (const std::string &, bool on)
 Sets automatic ticks on or off.
virtual void setAutoTicksOnX (bool yes)
 Sets automatic generation of axis ticks on X axis.
virtual void setAxisModel (AxisModelBase *, Axes::Type)
 Sets the AxisModel on the specified axis.
virtual void setBinWidth (const std::string &axis, double width)
 Sets the bin width.
virtual void setBinWidth (Axes::Type axis, int parameter, bool dragging)
 Sets the bin width according to parameter of dragging slider.
virtual void setBinWidth (Axes::Type axis, double width)
 Sets the bin width.
virtual void setBottomMargin (double bottom)
virtual void setBoxEdge (bool flag)
 Sets the box-edge flag to flag.
void setCrossX (double val)
 Set the crossX value.
void setCrossY (double val)
 Set the crossY value.
virtual void setCurrentRangeSaved (bool flag)
 Sets current_range_saved member to flag.
virtual void setCutEnabled (unsigned int i, bool yes=true)
 Sets the TupleCut object index by i to be enabled.
virtual void setCutInverted (unsigned int i, bool yes=true)
 Sets the TupleCut object indexed by i to be inverted.
virtual void setCutRangeAt (const Range &range, unsigned int i)
 Sets the Range of the TupleCut object indexed by i.
virtual void setEnableZ (bool yes=true)
 Sets the display of the Z axis on.
virtual void setErrorDisplay (Axes::Type axis, bool)
 Sets the display of the error bars on or off.
virtual void setFitsTransform (const std::string &)
 Sets the fits transform object.
virtual void setHighRange (Axes::Type axis, int parm, bool dragging)
 Sets the high end of the Range of data displayed.
virtual void setLabel (const std::string &axis, const std::string &label)
 Sets the label of specified axis to label.
virtual void setLabel (Axes::Type, const std::string &value)
 Sets the label of the specified axis to value.
void setLabelFont (FontBase *font, Axes::Type axes)
 Set the font to be used to override the default while drawing axis label.
virtual void setLeftMargin (double left)
virtual void setLowRange (Axes::Type axis, int parm, bool dragging)
 Sets the low end of the Range of data displayed.
virtual void setMinEntries (int entries)
 Set the minimum entries/bin.
virtual void setNeedUpdate (bool isChanged)
 Set the m_need_update flag, called by inspector.
virtual void setNumberOfBins (const std::string &axis, unsigned int number)
 Sets the number of bins.
virtual void setNumberOfBins (Axes::Type axis, unsigned int number)
 Sets the number of bins.
virtual void setOffset (const std::string &axis, double offset)
 Sets the bin offset.
virtual void setOffset (Axes::Type axis, double offset)
 Sets the offset.
virtual void setOffsets (double xoffset, double yoffset)
 Sets the offsets on the x and y axis.
virtual void setParentDataRepIndex (int index)
 Sets the index of the parent DataRep.
virtual void setParentPlotter (PlotterBase *plotter)
 Sets the parent plotter.
virtual void setRange (Axes::Type axis, const Range &range, bool scaled=false, bool adjust_width=true)
 Sets the range on the specified axis.
void setRange (const std::string &axis, double low, double high)
 Sets the range on the specified axis.
virtual void setRepColor (const Color &)
 Sets the representation's color.
virtual void setRepresentation (RepBase *pointrep)
 Sets the representation.
virtual void setReverse (bool flag)
 Sets the reverse status for the X axis to flag.
virtual void setScaleFactor (Axes::Type axis, double factor)
 Sets a scale factor on specified axis.
virtual void setScaling (Axes::Type axis, bool on=true)
 Sets the scaling attribute of the AxisModelBase object.
virtual void setShowGrid (bool flag)
 Sets the show-grid flag to flag.
virtual void setTicks (Axes::Type axis, const std::vector< AxisTick > &ticks)
 Sets the ticks for the specified axis.
virtual void setTicks (const std::string &axis, const std::vector< double > &values, const std::vector< std::string > &labels)
 Sets the ticks on specified axis.
virtual void setTicksOnX (const std::vector< double > &values, const std::vector< std::string > &labels)
 Sets the ticks for the X axis.
void setTitle (const std::string &title)
 Sets the title to be displayed.
void setTitleFont (FontBase *font)
 Set the font to be used to override the default while drawing title.
virtual void setTopMargin (double top)
 Set and get additional margin on top,bottom,left of the plotter.
virtual void setTransform (TransformBase *)
 Sets the transform object and redraws.
virtual void setValueRep (BinToColor *rep)
 Sets the object that will do the value to color transform, if any.
void setView (int index)
 Set the view by index.
virtual void setZMargin (double z)
virtual const FontBasetitleFont () const
 What font is being used to override the default while drawing title of plot.
void toggleActivePlot ()
 Toggles the active DataRep, if 2 or more are contained by the plotter.
virtual void update (const Observable *)
 Sends notification to it's Observer ViewBase object that redrawing is needed.
virtual void update ()
 Updates the plotter.
virtual bool wantsPixmap () const
 Returns true.
virtual void willDelete (const Observable *)
 Notifies this Observer object that one of its Observable objects is about to be deleted.
 XyPlotter (const std::string &name="XyPlotter")
 The default constructor.
 XyPlotter (const XyPlotter &plotter)
 The copy constructor.
virtual ~XyPlotter ()
 The destructor.

Protected Member Functions

TupleCutgetCutAt (unsigned int i)
 Returns the TupleCut object at position i.
void notifyObservers (Action action) const
 An internal method to iterate over all observers and to send the message action.

Protected Attributes

bool current_range_saved
 Returns true if the current range on the axes have been saved.
double m_aspect_ratio
 The aspect ratio.
AxisRepBasem_axis_rep
 The axes model graphical representation.
double m_crossX
 The x position of the cross hair.
double m_crossY
 The y position of the cross hair.
int m_currentView
 Index of the current view.
std::string m_name
 The name of the type of plotter.
int m_parent_datarep_index
 Parent DataRep index.
PlotterBasem_parent_plotter
 Parent plotter.
CompositePlotterm_plotter
 The currently active plotter that draws the data points.
int m_plotterId
 A unique plotter id.
Rect m_raw_rect
 The raw rectangle before transform.
std::string m_title
 The main label; the title of the plot.
Rect m_user_rect
 The abstract data space.
std::vector< std::vector
< double > > 
m_views
 A vector of x and y ranges to be used as a circular buffer allowing one to cycle through the saved plot "views".
double m_z_ratio
 The conversion ratio from the user coordinate system to the view's coordinate system along the color axis.

Static Protected Attributes

static int s_plotters
 Reference count for creating plotter ids.

Private Types

typedef std::vector
< CompositePlotter * > 
PlotterList_t
 The type of standard C++ container to hold CompositePlotter objects.

Private Member Functions

void checkAutoScale ()
 Checks if auto scaling is required and does an auto scale on contained plotters as needed.
void prepareToDraw ()
 Prepares for drawing.

Private Attributes

int m_active_index
 Index to the active plotter.
std::vector< unsigned int > m_hammer_shape
 Default shape for XyPlotter is 360*180 or 256*256.
std::vector< unsigned int > m_lambert_shape
double m_margin_bottom
double m_margin_left
double m_margin_top
 Additional margin set by user in the plotter.
double m_margin_z
bool m_need_update
 Flag to indicat that the drawrect and marginrect need to be updated.
PlotterList_t m_plotters
 The list of CompositePlotter objects contained by this plotter.
bool view_change_allowed
 Flag to indicate if the view size of the plot can be changed.

Detailed Description

A Plotter class that plots points in 2 dimensions and option a third dimension in color.

It draws the X and Y axis. It is a CompositePlotter; therefore, it can plot multiple sets of data points in the same space. It can also plot multiple functions and other kinds of representations.

Bug:
@@ Removing stacked DataRep causes crash.
Bug:
Need a way to show invalid range for static histograms.
Todo:
When multiple DataRep objects are contained by the plotter, one could set the title from one of them.
Author
Kaustuv kaust.nosp@m.uv@s.nosp@m.tanfo.nosp@m.rd.e.nosp@m.du
Paul F. Kunz Paul_.nosp@m.Kunz.nosp@m.@slac.nosp@m..sta.nosp@m.nford.nosp@m..edu
Sanket B. Malde sanke.nosp@m.t@st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u
Joy Rajiv jraji.nosp@m.v@st.nosp@m.anfor.nosp@m.d.ed.nosp@m.u
Oded Wurman owurm.nosp@m.an@s.nosp@m.tanfo.nosp@m.rd.e.nosp@m.du
Xie Fang xiefa.nosp@m.ng@s.nosp@m.tanfo.nosp@m.rd.e.nosp@m.du

Definition at line 44 of file XyPlotter.h.

Member Typedef Documentation

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

The member function of the Observer that is called.

Definition at line 86 of file Observable.h.

typedef std::list< Observer * > ObserverList_t
inherited

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

Definition at line 45 of file Observable.h.

typedef std::vector< CompositePlotter * > PlotterList_t
private

The type of standard C++ container to hold CompositePlotter objects.

Definition at line 58 of file XyPlotter.h.

Constructor & Destructor Documentation

XyPlotter ( const std::string &  name = "XyPlotter")
XyPlotter ( const XyPlotter plotter)
~XyPlotter ( )
virtual

The destructor.

Definition at line 92 of file XyPlotter.cxx.

References XyPlotter::getAxisModel(), XyPlotter::m_axis_rep, XyPlotter::m_plotters, and hippodraw::Axes::X.

Member Function Documentation

int activePlotIndex ( ) const
virtual

Returns the index of the active DataRep object.

Reimplemented from PlotterBase.

Definition at line 303 of file XyPlotter.cxx.

References XyPlotter::m_active_index.

Referenced by XyPlotter::repColor(), and XyPlotter::setBinWidth().

ProjectorBase * activeProjector ( ) const
virtual

Returns the active projector.

Reimplemented from PlotterBase.

Definition at line 615 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::createNTuple(), XyPlotter::getShape(), and XyPlotter::getZValues().

void addDataRep ( DataRep rep)
virtual

Adds the DataRep object to the plotter.

Adds the DataRep object to the plotter by sharing the current X and Y axes.

Reimplemented from PlotterBase.

Reimplemented in Cut2DPlotter, and Cut1DPlotter.

Definition at line 310 of file XyPlotter.cxx.

References Observable::addObserver(), XyPlotter::autoScale(), XyPlotter::getNumDataReps(), XyPlotter::m_active_index, XyPlotter::m_plotter, and Observable::notifyObservers().

Referenced by XyPlotter::addDataRepStacked().

void addDataRepStacked ( DataRep rep)
virtual

Adds the DataRep object to the plotter.

Adds the DataRep object to the plotter by sharing the current X axis, but with its own Y axis.

Definition at line 329 of file XyPlotter.cxx.

References XyPlotter::addDataRep(), XyPlotter::autoScale(), XyPlotter::getAxisModel(), XyPlotter::m_active_index, XyPlotter::m_plotter, XyPlotter::m_plotters, Observable::notifyObservers(), XyPlotter::setAutoRanging(), XyPlotter::setAxisModel(), and hippodraw::Axes::X.

void addObserver ( hippodraw::Observer observer)
inherited
void addValues ( const std::vector< double > &  v)
virtual

Adds data values to the plot.

This method is provided as a convenience when the plotter contains a single DataRep that responds to addValues. For example a static histogram would respond to it.

Reimplemented from PlotterBase.

Definition at line 797 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void autoScale ( )
virtual

Sets the Range on each axis that has the auto range flag set to include all the data.

This function scrolls through all the points plotters, asking for their preferred ranges. It then sets the range to be the union of all of those.

Reimplemented from PlotterBase.

Definition at line 368 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

Referenced by XyPlotter::addDataRep(), XyPlotter::addDataRepStacked(), XyPlotter::checkAutoScale(), and CutPlotter::setAxisBinding().

void checkAutoScale ( )
private

Checks if auto scaling is required and does an auto scale on contained plotters as needed.

Definition at line 110 of file XyPlotter.cxx.

References XyPlotter::autoScale(), XyPlotter::getAxisModel(), XyPlotter::hasAxis(), XyPlotter::isAutoRanging(), XyPlotter::m_plotters, num_util::size(), hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

Referenced by XyPlotter::prepareToDraw().

void checkAxisScaling ( )
virtual

Check if Axis needs to be scaled or not.

Reimplemented from PlotterBase.

Definition at line 599 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

PlotterBase * clone ( )
virtual

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

Implements PlotterBase.

Reimplemented in Cut2DPlotter, and Cut1DPlotter.

Definition at line 103 of file XyPlotter.cxx.

References XyPlotter::XyPlotter().

Referenced by XyPlotter::XyPlotter().

NTuple * createNTuple ( ) const
virtual

Creates an DataSource representation of the plotted data.

Derived classes should create a representation appropriate for their plotting. The DataSource should contain the coordinates, the error on the coordinates, the values and the error on the values.

Implements PlotterBase.

Definition at line 191 of file XyPlotter.cxx.

References XyPlotter::activeProjector(), XyPlotter::getLabel(), XyPlotter::hasAxis(), XyPlotter::m_plotter, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

NTuple * createPickTuple ( )
virtual

Creates a NTuple for a PickTable.

Creates an NTuple appropriate for a PickTable for this plotter. For plotters derived from this class the first three column labels and subsequent labels are as follows

  • "Item number"
  • The X axis label.
  • The Y axis label.
  • For 2D plots with Y axis scaling, the 4th label is "Density"
  • For 3D plots the 4th label is the Z axis label.
  • For 3D plots with Z axis scaling, the 5th label is "Density"
See Also
fillPickTuple.

Reimplemented from PlotterBase.

Definition at line 421 of file XyPlotter.cxx.

References PlotterBase::getTitle(), XyPlotter::m_plotter, PlotterBase::name(), and PlotterBase::setTitle().

int currentView ( ) const
inherited

Return the current view index.

Definition at line 860 of file PlotterBase.cxx.

References PlotterBase::m_currentView.

Referenced by QtDisplay::currentView().

void deleteView ( int  index)
inherited

Delete a view by index.

Definition at line 843 of file PlotterBase.cxx.

References PlotterBase::m_views, and PlotterBase::setView().

Referenced by QtDisplay::deleteView().

void drawCrossHairs ( ViewBase view)
virtual

Draws cross-hairs.

Draws cross-hairs at the mouse hot spot. The drawing is done at the X and Y position set by setCrossX and setCrossY.

Reimplemented from PlotterBase.

Definition at line 182 of file XyPlotter.cxx.

References AxisRepBase::drawCrossHairs(), XyPlotter::getTransform(), XyPlotter::m_axis_rep, PlotterBase::m_crossX, and PlotterBase::m_crossY.

void drawIn ( ViewBase view)
virtual
void drawProjValues ( ViewBase view)
virtual

Draws the projected values.

This implementation invokes drawProjValues on each of the DataRep objects in the composite. If multiple DataRep objects exist in the composite and one is selected (active), it is the one that is drawn last.

Definition at line 558 of file XyPlotter.cxx.

References XyPlotter::m_plotter, XyPlotter::m_plotters, PlotterBase::m_raw_rect, and PlotterBase::m_user_rect.

Referenced by XyPlotter::drawIn().

bool errorDisplay ( Axes::Type  axis) const
virtual

Returns the state of error bar display on specified axis.

Implements PlotterBase.

Definition at line 533 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void fillCutList ( std::vector< const TupleCut * > &  cuts) const
virtual

Fills the cuts vector with the TupleCuts contained by the DataRep objects.

Reimplemented from PlotterBase.

Definition at line 919 of file XyPlotter.cxx.

References XyPlotter::m_plotters.

Referenced by XyPlotter::getCutAt().

void fillPickedPointFrom ( double  mx,
double  my,
std::vector< double > &  picked 
) const
virtual

Fills the picked data point.

Fills the vector picked with the picked data set. The vector will be cleared before insertion of coordinates. The resulting size of the vector depends on the type of DataRep in use and the contents is as follows.

  • 2D plots without Y axis scaling: 0., X, Y
  • 2D plots with Y axis scaling: 1., X, Y-scaled, Y
  • 3D plots without Z axis scaling: 2., X, Y, Z
  • 3D plots with Z axis scaling: 3., X, Y, Z-scaled, Z

The first item is used to identify the type of picked point.

See Also
createPickNTuple.

Reimplemented from PlotterBase.

Definition at line 436 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

double getAspectRatio ( ) const
virtual

Returns the aspect ratio.

The aspect ratio is the ratio of the width to the height that should be used when drawing the plotter. If the aspect ratio has been set to a non-zero value, the return that ratio. Otherwise, return the aspect ratio preferred by the contained TransformBase object.

Reimplemented from PlotterBase.

Definition at line 470 of file XyPlotter.cxx.

References PlotterBase::m_aspect_ratio, XyPlotter::m_plotters, and num_util::size().

AxisModelBase * getAxisModel ( Axes::Type  axis) const
virtual

Returns the AxisModelBase derived class for the specified axis.

Reimplemented from PlotterBase.

Definition at line 512 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::addDataRepStacked(), XyPlotter::checkAutoScale(), and XyPlotter::~XyPlotter().

double getBinWidth ( Axes::Type  axis) const
virtual

Returns the bins with of the target DataRep object.

Reimplemented from PlotterBase.

Definition at line 732 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

double getBinWidth ( const std::string &  axis) const
inherited

Returns the bin width.

The implementation in the base class converts the string to an Axes::Type and calls the virtual function getBinWidth ( Axes::Type );. It is declared as a convenience to the developer since bin width is a common attribute.

Definition at line 459 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), PlotterBase::getBinWidth(), and num_util::type().

double getBottomMargin ( )
virtual

Reimplemented from PlotterBase.

Definition at line 1158 of file XyPlotter.cxx.

References XyPlotter::m_margin_bottom.

bool getBoxEdge ( )
virtual

Gets the box edge flag to update Inspector.

Reimplemented from PlotterBase.

Definition at line 1048 of file XyPlotter.cxx.

References CompositePlotter::getBoxEdge(), and XyPlotter::m_plotter.

bool getCurrentRangeSaved ( )
virtualinherited

Returns current_range_saved member t.

Definition at line 888 of file PlotterBase.cxx.

References PlotterBase::current_range_saved.

Referenced by CanvasWindow::nextView(), and CanvasWindow::previousView().

TupleCut * getCutAt ( unsigned int  i)
protected
bool getCutInversion ( )
virtual

Get the inversion state of the cut.

Definition at line 1036 of file XyPlotter.cxx.

References XyPlotter::getCutAt().

Range getCutRange ( )
virtual

Gets the object of current XyPlotter is a TupleCut object, get the range of it.

Definition at line 954 of file XyPlotter.cxx.

References XyPlotter::getCutAt(), and XyPlotter::getRange().

Referenced by CanvasView::contentsMouseMoveEvent().

Range getDataRange ( Axes::Type  axis)
virtualinherited

Return the range of the raw data on the specified axis.

Definition at line 895 of file PlotterBase.cxx.

References PlotterBase::activeProjector().

DataRep * getDataRep ( int  index) const
virtual
TransformBase * getFitsTransform ( ) const
virtual

Returns the fits transform object.

Reimplemented from PlotterBase.

Definition at line 1075 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

double getHighRangeOnX ( ) const
virtualinherited

Returns the high end of the X axis range.

Deprecated:
This method is only used by the SIP built Python extension module and is kept only for running experiments.

Definition at line 686 of file PlotterBase.cxx.

References PlotterBase::getRange(), Range::high(), and hippodraw::Axes::X.

const string & getInternalLabel ( Axes::Type  axis) const
virtual

Returns the internal label.

The internal label is either the label set by a client, or one of %x, %y, or %z for the corresponding axis. The later ones mean that the object should return the corresponding label of the DataSource. The implementation in this base class returns an empty string.

Reimplemented from PlotterBase.

Definition at line 804 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

const string & getInternalTitle ( ) const
virtualinherited

Returns the internal title.

The internal title is either the title set by a client, or %t. The later ones mean that the object should return the corresponding title of the DataSource, if bound to one.

Definition at line 308 of file PlotterBase.cxx.

References PlotterBase::m_title.

Referenced by PlotterBaseXML::createElement().

const string & getLabel ( Axes::Type  axis) const
virtual

Returns the label for the specified axis.

Reimplemented from PlotterBase.

Definition at line 811 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::createNTuple().

double getLeftMargin ( )
virtual

Reimplemented from PlotterBase.

Definition at line 1165 of file XyPlotter.cxx.

References XyPlotter::m_margin_left.

double getLowRangeOnX ( ) const
virtualinherited

Returns the low end of the X axis range.

Definition at line 677 of file PlotterBase.cxx.

References PlotterBase::getRange(), Range::low(), and hippodraw::Axes::X.

int getMinEntries ( )
virtual

Get the minimum entries/bin.

Reimplemented from PlotterBase.

Definition at line 1089 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

int getNumberOfEntries ( ) const
virtual

Returns the number of entries in the contained DataRep.

Reimplemented from PlotterBase.

Definition at line 826 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

int getNumDataReps ( ) const
virtual
int getNumOfEntries ( ) const
inherited

Returns the number of entries in the contained DataRep.

Note
This method is to workaround of SIP handling of virtual functions. It calls the virtual function getNumberOfEntries().

Definition at line 498 of file PlotterBase.cxx.

References PlotterBase::getNumberOfEntries().

const Observable::ObserverList_t & getObservers ( ) const
inherited

Returns the list of observers.

Definition at line 60 of file Observable.cxx.

double getOffset ( Axes::Type  axis) const
virtual

Returns the offset on designated axis, similarly to getBinWidth.

Reimplemented from PlotterBase.

Definition at line 783 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

double getOffset ( const std::string &  axis) const
inherited

Returns the offset on designated axis, similarly to getBinWidth.

Definition at line 482 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), PlotterBase::getOffset(), and num_util::type().

int getParentDataRepIndex ( ) const
virtualinherited

Returns the index of the parent DataRep.

Returns -1 if there exist none

Definition at line 586 of file PlotterBase.cxx.

References PlotterBase::m_parent_datarep_index.

Referenced by PlotterBaseXML::createElement().

PlotterBase * getParentPlotter ( ) const
virtualinherited

Returns the parent plotter.

Returns 0 if there exist none

Definition at line 596 of file PlotterBase.cxx.

References PlotterBase::m_parent_plotter.

Referenced by PlotterBaseXML::createElement(), FigureEditor::movePlotterWithText(), CanvasView::placeItems(), and FunctionController::refreshEllipsoidDisplay().

double getPosRange ( Axes::Type  axis) const
virtual

Returns the smallest positive number from the data.

Reimplemented from PlotterBase.

Definition at line 833 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

ProjectorBase * getProjector ( int  i) const
virtual

Returns the i-th projector.

Reimplemented from PlotterBase.

Definition at line 606 of file XyPlotter.cxx.

References XyPlotter::getDataRep().

const Range & getRange ( Axes::Type  axis,
bool  scaled 
) const
virtual

Returns the range on the specified axis.

Returns the range of the data being plotted on the axis axis. If scaled is true, uses the scaled range.

See Also
AxisModelBase::getRange.

Reimplemented from PlotterBase.

Definition at line 768 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by CanvasView::contentsMouseMoveEvent(), XyPlotter::getCutRange(), Cut2DPlotter::getCutRangeY(), XyPlotter::setBinWidth(), Cut1DPlotter::setCutRangeFull(), and Cut2DPlotter::setCutRangeFull().

const Rect & getRawRect ( ) const
inherited

Returns the raw rectangle before transform.

Definition at line 440 of file PlotterBase.cxx.

References PlotterBase::m_raw_rect.

Referenced by ViewBase::getRawRect().

double getScaleFactor ( Axes::Type  axis) const
virtual

Returns the scale factor on the specified axis.

Reimplemented from PlotterBase.

Definition at line 1179 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

const std::vector< unsigned int > & getShape ( )
virtual
bool getShowGrid ( )
virtual

Gets the show-grid flag to update Inspector.

Reimplemented from PlotterBase.

Definition at line 1060 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

DataRep * getTarget ( ) const
virtual
const string & getTitle ( ) const
inherited
double getTopMargin ( )
virtual

Reimplemented from PlotterBase.

Definition at line 1143 of file XyPlotter.cxx.

References XyPlotter::m_margin_top.

TransformBase * getTransform ( ) const
virtual

Returns the transform object used by the plotter.

Reimplemented from PlotterBase.

Definition at line 790 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::drawCrossHairs(), XyPlotter::getShape(), and XyPlotter::getZValues().

const Rect & getUserRect ( ) const
inherited

Returns the data space rectangle.

Definition at line 433 of file PlotterBase.cxx.

References PlotterBase::m_user_rect.

Referenced by ViewBase::getUserRect().

const BinToColor * getValueRep ( ) const
virtual

Returns the value to color representation.

If the Z value is represented graphically, then return the object that controls the binary value to graphic attribute.

Reimplemented from PlotterBase.

Definition at line 855 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

double getZMargin ( )
virtual

Reimplemented from PlotterBase.

Definition at line 1150 of file XyPlotter.cxx.

References XyPlotter::m_margin_z.

double getZValue ( double  x,
double  y,
bool  scaled = true 
) const
virtualinherited

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

Returns 0.0. Derived classes that support Z coordinates should override this method and returns the z value of the point at x and y. If scaled is true, returns the z value multiplied by the scale factor, otherwise returns the true value.

Definition at line 515 of file PlotterBase.cxx.

const std::vector< double > & getZValues ( )
virtual

Returns all Z values.

Reimplemented from PlotterBase.

Definition at line 993 of file XyPlotter.cxx.

References XyPlotter::activeProjector(), XyPlotter::getTransform(), and BinaryTransform::isPeriodic().

bool hasAutoScaled ( ) const

Returns true if the axes have already been auto-scaled.

Reimplemented from PlotterBase.

Definition at line 572 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

bool hasAxis ( Axes::Type  axis) const
virtual

Returns true if the plotter has an axis of specified type.

Reimplemented from PlotterBase.

Definition at line 840 of file XyPlotter.cxx.

References XyPlotter::m_plotters.

Referenced by XyPlotter::checkAutoScale(), XyPlotter::createNTuple(), and XyPlotter::wantsPixmap().

bool hasNTupleBindings ( ) const
virtual

Returns true if the selected DataRep object has bindings to a DataSource, otherwise returns false.

Implements PlotterBase.

Reimplemented in CutPlotter.

Definition at line 592 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

bool hasZoomY ( ) const
virtual

Returns true if the plotter has zoom feature on the Y axis otherwise it returns false.

Reimplemented from PlotterBase.

Definition at line 579 of file XyPlotter.cxx.

References XyPlotter::m_plotters.

int indexOf ( const DataRep rep) const
virtual

Returns the index of the selected DataRep object.

Reimplemented from PlotterBase.

Definition at line 712 of file XyPlotter.cxx.

References XyPlotter::getNumDataReps(), and XyPlotter::m_plotters.

Referenced by CutPlotter::setAxisBinding().

bool isAutoRanging ( Axes::Type  axis) const
virtual

Returns true if auto-ranging is enabled, otherwise returns false.

Reimplemented from PlotterBase.

Definition at line 862 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::checkAutoScale().

bool isAxisScaled ( Axes::Type  axis) const
virtual

Returns true if specified axis is being scaled.

Reimplemented from PlotterBase.

Definition at line 1186 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

bool isImageConvertable ( ) const
virtual

Returns true if contents of the plotter is convertable to an image.

Returns true if the plotter contains only one CompositePlotter and it is contents are convertable to an image.

Reimplemented from PlotterBase.

Reimplemented in CutPlotter.

Definition at line 1103 of file XyPlotter.cxx.

References XyPlotter::m_plotters.

bool isReverse ( ) const
virtual

Returns true if reverse is enabled, otherwise returns false.

Reimplemented from PlotterBase.

Definition at line 869 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

bool isTargetable ( ) const
virtual

Returns true if receiving object is target-able.

Reimplemented from PlotterBase.

Definition at line 684 of file XyPlotter.cxx.

References XyPlotter::getDataRep(), XyPlotter::getNumDataReps(), XyPlotter::m_active_index, and XyPlotter::m_plotters.

Referenced by XyPlotter::getTarget().

bool isTextPlotter ( ) const
virtualinherited

Return true if it's a text plotter.

Reimplemented in TextPlotter.

Definition at line 994 of file PlotterBase.cxx.

Referenced by QtView::isTextView(), and FigureEditor::movePlotterWithText().

FontBase * labelFont ( Axes::Type  axes) const
virtual

What font is being used to override the default while drawing axis label.

If return value is null pointer the default is being used.

Reimplemented from PlotterBase.

Definition at line 243 of file XyPlotter.cxx.

References XyPlotter::m_axis_rep, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

Referenced by PlotterBaseXML::createFontElement().

void matrixTranspose ( bool  yes)
virtual

Transpose the X and Y axis of matrix representation.

If X-Y representation of is matrix represented as a vector with shape, then transpose the X and Y axis. Otherwise, do nothing.

Reimplemented from PlotterBase.

Definition at line 877 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

const string & name ( ) const
inherited

Returns the name of the plotter.

See Also
m_name.

Definition at line 83 of file PlotterBase.cxx.

References PlotterBase::m_name.

Referenced by PlotterBaseXML::createChildren(), PlotterBaseXML::createElement(), and XyPlotter::createPickTuple().

int nextView ( bool  stepForward = true)
inherited

Cycle through each set of plot ranges, thereby changing the view with each call.

Returns
The index of the current view.
Parameters
stepForwardDirection to step through the views.

Definition at line 796 of file PlotterBase.cxx.

References PlotterBase::m_currentView, PlotterBase::m_views, and PlotterBase::setView().

Referenced by QtDisplay::nextView().

void notifyObservers ( ) const
virtualinherited

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

Definition at line 93 of file Observable.cxx.

References Observer::update().

Referenced by XyPlotter::addDataRep(), XyPlotter::addDataRepStacked(), FunctionController::addFunctionRep(), StHist1DProjector::addValues(), StHist2DProjector::addValues(), XyPlotter::autoScale(), Inspector::contourLevelsTextBox_returnPressed(), Inspector::contourSlider_valueChanged(), Inspector::contourTextBox_returnPressed(), FunctionRep::fitFunction(), XyPlotter::removeDataRep(), FunctionRep::restoreParameters(), DataRep::set(), CutPlotter::setActive(), PlotterBase::setAspectRatio(), XyPlotter::setAutoRanging(), XyPlotter::setBoxEdge(), QtDisplay::setContourLevels(), CutPlotter::setCutColor(), XyPlotter::setCutEnabled(), XyPlotter::setCutInverted(), XyPlotter::setCutRangeAt(), ProjectorBase::setDirty(), DataRep::setErrorDisplay(), XyPlotter::setHighRange(), PlotterBase::setLabel(), XyPlotter::setLabel(), DataSource::setLabelAt(), DataSource::setLabels(), XyPlotter::setLowRange(), DataSource::setName(), DisplayController::setNTuple(), FunctionRep::setParameters(), DyHistogram::setPointRep(), DyHistogramEqualEntries::setPointRep(), DataRep::setPointRep(), TextPlotter::setRepColor(), DataRep::setRepColor(), DataRep::setRepSize(), DataRep::setRepStyle(), XyPlotter::setReverse(), XyPlotter::setScaling(), XyPlotter::setShowGrid(), DataSource::setTitle(), PlotterBase::setTitle(), XyPlotter::setTransform(), XyPlotter::setValueRep(), NTupleProjector::update(), BinningProjector::update(), DataRep::update(), PlotterBase::update(), CutPlotter::update(), CutPlotter::updateTargets(), DataRep::~DataRep(), DataSource::~DataSource(), PlotterBase::~PlotterBase(), and RTuple::~RTuple().

void notifyObservers ( Action  action) const
protectedinherited

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

Definition at line 72 of file Observable.cxx.

int numViews ( ) const
inherited

Return the number of stored views.

Definition at line 836 of file PlotterBase.cxx.

References PlotterBase::m_views.

Referenced by QtDisplay::numViews().

int plotterId ( ) const
virtualinherited

The unique ID number of this plotter.

Definition at line 749 of file PlotterBase.cxx.

References PlotterBase::m_plotterId.

Referenced by QtDisplay::plotterId().

void prepareToDraw ( )
private

Prepares for drawing.

Prepare for drawing by setting the axis ranges if necessary.

Definition at line 140 of file XyPlotter.cxx.

References XyPlotter::checkAutoScale(), XyPlotter::m_plotter, XyPlotter::m_plotters, and num_util::size().

void removeDataRep ( DataRep rep)
virtual

Removes the DataRep object from the plotter.

Reimplemented from PlotterBase.

Definition at line 349 of file XyPlotter.cxx.

References XyPlotter::getNumDataReps(), XyPlotter::m_plotters, and Observable::notifyObservers().

void removeObserver ( hippodraw::Observer observer)
inherited
const Color & repColor ( ) const
virtual

Returns the color used for the representation.

Implements PlotterBase.

Definition at line 547 of file XyPlotter.cxx.

References XyPlotter::activePlotIndex(), and XyPlotter::getDataRep().

RepBase * representation ( ) const
virtual

Returns the representation used by the plotter.

Implements PlotterBase.

Definition at line 505 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void reset ( )
virtual

Resets the bins.

Reimplemented from PlotterBase.

Definition at line 761 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

int saveView ( const std::vector< double > &  range_values)
inherited

Save the current set of plot ranges which define a "view" for this plot.

Returns
index of the saved view.
Parameters
range_valuesA vector of 4 elements containing the x and y ranges.

Definition at line 756 of file PlotterBase.cxx.

References PlotterBase::m_currentView, and PlotterBase::m_views.

Referenced by QtDisplay::saveView().

int saveViewAtIndex ( const std::vector< double > &  range_values,
unsigned int  i 
)
inherited

Save the current set of plot ranges which define a "view" for this plot.at the position i.

The views from position i onward are deleted

Returns
index of the saved view.
Parameters
range_valuesA vector of 4 elements containing the x and y ranges.
ithe position at which range_values should be inserted at.

Definition at line 771 of file PlotterBase.cxx.

References PlotterBase::m_currentView, and PlotterBase::m_views.

DataRep * selectedDataRep ( ) const
virtual

Returns the selected DataRep.

That is, the one that should receive commands to it. If multiple DataRep objects are selected, return a null pointer.

Reimplemented from PlotterBase.

Definition at line 884 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by CutPlotter::setAxisBinding(), and CutPlotter::setNTuple().

void setActivePlot ( int  index,
bool  redraw 
)
virtual

Sets the active plot.

If index is non-negative, sets the active plot, to the one indexed by index, while setting the others, if any, to inactive state. If index is negative, set all plots to be active. If redraw is true, then redraws all plots.

Reimplemented from PlotterBase.

Definition at line 273 of file XyPlotter.cxx.

References XyPlotter::getNumDataReps(), XyPlotter::m_active_index, XyPlotter::m_plotter, and XyPlotter::m_plotters.

void setAspectRatio ( double  ratio)
inherited

Sets the aspect ratio.

Set the ratio of the width to the height that should be used when drawing the plotter. A value of 0.0 indicates that any ratio is acceptable.

Definition at line 553 of file PlotterBase.cxx.

References PlotterBase::m_aspect_ratio, and Observable::notifyObservers().

Referenced by FitsController::checkForImage(), and QtDisplay::setAspectRatio().

void setAutoRanging ( bool  flag)
virtual

Sets the auto-ranging status for all axes to flag.

Sets the auto-ranging status for all axes to flag and re-draws.

Reimplemented from PlotterBase.

Definition at line 384 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

Referenced by XyPlotter::addDataRepStacked(), and XyPlotter::setAutoRanging().

void setAutoRanging ( Axes::Type  axis,
bool  flag 
)
virtual

Sets the auto-ranging.

Sets auto-ranging status for the axis to flag and auto-ranges all axis which has that status set. Redraws the plot.

Reimplemented from PlotterBase.

Definition at line 401 of file XyPlotter.cxx.

References XyPlotter::m_plotter, Observable::notifyObservers(), and XyPlotter::setAutoRanging().

void setAutoRanging ( const std::string &  axis,
bool  flag 
)
virtualinherited
void setAutoTicks ( Axes::Type  axis,
bool  yes 
)
virtual

Sets automatic generation of axis ticks.

Reimplemented from PlotterBase.

Definition at line 891 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setAutoTicks ( const std::string &  axis,
bool  on 
)
virtualinherited

Sets automatic ticks on or off.

Definition at line 635 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), PlotterBase::setAutoTicks(), and num_util::type().

void setAutoTicksOnX ( bool  yes)
virtualinherited

Sets automatic generation of axis ticks on X axis.

This base class does nothing. Derived classes may interpret this function.

Note
This member function is temporary fix to memory leak problem in passing string with SIP.

Definition at line 628 of file PlotterBase.cxx.

References PlotterBase::setAutoTicks(), and hippodraw::Axes::X.

void setAxisModel ( AxisModelBase model,
Axes::Type  axis 
)
virtual

Sets the AxisModel on the specified axis.

Also, sets the same AxisModel to all of the contained plotters.

Implements PlotterBase.

Definition at line 519 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::addDataRepStacked().

void setBinWidth ( const std::string &  axis,
double  width 
)
virtualinherited

Sets the bin width.

Sets the bin width parameter of the plot. Not all plots have a bin width parameter. Since histogram-ming plots are commonly used, this method has been declared as a convenience to script writers. The implementation is this base class does nothing.

Definition at line 402 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), and PlotterBase::setBinWidth().

void setBinWidth ( Axes::Type  axis,
int  parameter,
bool  dragging 
)
virtualinherited

Sets the bin width according to parameter of dragging slider.

Does nothing if more than one DataRep is active.

Definition at line 382 of file PlotterBase.cxx.

References PlotterBase::activePlotIndex(), PlotterBase::getProjector(), PlotterBase::setBinWidth(), and PlotterBase::setRange().

void setBinWidth ( Axes::Type  axis,
double  width 
)
virtual

Sets the bin width.

Sets the bin width of the contained DataRep objects to width along axis axis. If only one is active, then set the bin width only to that one.

Reimplemented from PlotterBase.

Definition at line 739 of file XyPlotter.cxx.

References XyPlotter::activePlotIndex(), XyPlotter::getDataRep(), XyPlotter::getRange(), XyPlotter::m_plotters, XyPlotter::setRange(), and Range::setUnion().

void setBottomMargin ( double  bottom)
virtual

Reimplemented from PlotterBase.

Definition at line 1129 of file XyPlotter.cxx.

References XyPlotter::m_margin_bottom.

void setBoxEdge ( bool  flag)
virtual

Sets the box-edge flag to flag.

Reimplemented from PlotterBase.

Definition at line 1042 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setCrossX ( double  val)
inherited

Set the crossX value.

Definition at line 520 of file PlotterBase.cxx.

References PlotterBase::m_crossX.

Referenced by QtViewImp::setCrossX().

void setCrossY ( double  val)
inherited

Set the crossY value.

Definition at line 525 of file PlotterBase.cxx.

References PlotterBase::m_crossY.

Referenced by QtViewImp::setCrossY().

void setCurrentRangeSaved ( bool  flag)
virtualinherited

Sets current_range_saved member to flag.

Definition at line 881 of file PlotterBase.cxx.

References PlotterBase::current_range_saved.

void setCutEnabled ( unsigned int  i,
bool  yes = true 
)
virtual

Sets the TupleCut object index by i to be enabled.

Definition at line 980 of file XyPlotter.cxx.

References XyPlotter::getCutAt(), XyPlotter::getDataRep(), and Observable::notifyObservers().

void setCutInverted ( unsigned int  i,
bool  yes = true 
)
virtual

Sets the TupleCut object indexed by i to be inverted.

Definition at line 967 of file XyPlotter.cxx.

References XyPlotter::getCutAt(), XyPlotter::getDataRep(), and Observable::notifyObservers().

void setCutRangeAt ( const Range range,
unsigned int  i 
)
virtual

Sets the Range of the TupleCut object indexed by i.

Reimplemented from PlotterBase.

Reimplemented in CutPlotter.

Definition at line 941 of file XyPlotter.cxx.

References XyPlotter::getCutAt(), XyPlotter::getDataRep(), Observable::notifyObservers(), and XyPlotter::setRange().

void setEnableZ ( bool  yes = true)
virtual

Sets the display of the Z axis on.

Reimplemented from PlotterBase.

Definition at line 220 of file XyPlotter.cxx.

References XyPlotter::m_axis_rep, and XyPlotter::m_plotter.

Referenced by Cut2DPlotter::Cut2DPlotter().

void setErrorDisplay ( Axes::Type  axis,
bool  yes 
)
virtual

Sets the display of the error bars on or off.

Implements PlotterBase.

Definition at line 526 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setFitsTransform ( const std::string &  transform)
virtual

Sets the fits transform object.

Reimplemented from PlotterBase.

Definition at line 1068 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setHighRange ( Axes::Type  axis,
int  parm,
bool  dragging 
)
virtual

Sets the high end of the Range of data displayed.

Reimplemented from PlotterBase.

Definition at line 453 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setLabel ( const std::string &  axis,
const std::string &  label 
)
virtualinherited

Sets the label of specified axis to label.

The default is to take the label from bound DataSource column. Invoking this member function overrides that. To return to taking the label from the DataSource column, label should be set to "%l".

Note
This method is only used with the SIP based Python extension module.

Definition at line 282 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), Observable::notifyObservers(), and num_util::type().

Referenced by QtDisplay::setLabel().

void setLabel ( Axes::Type  axis,
const std::string &  value 
)
virtual

Sets the label of the specified axis to value.

Reimplemented from PlotterBase.

Definition at line 818 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setLabelFont ( FontBase font,
Axes::Type  axes 
)

Set the font to be used to override the default while drawing axis label.

Definition at line 231 of file XyPlotter.cxx.

References XyPlotter::m_axis_rep, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.

void setLeftMargin ( double  left)
virtual

Reimplemented from PlotterBase.

Definition at line 1136 of file XyPlotter.cxx.

References XyPlotter::m_margin_left.

void setLowRange ( Axes::Type  axis,
int  parm,
bool  dragging 
)
virtual

Sets the low end of the Range of data displayed.

Reimplemented from PlotterBase.

Definition at line 444 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setMinEntries ( int  entries)
virtual

Set the minimum entries/bin.

Reimplemented from PlotterBase.

Definition at line 1082 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setNeedUpdate ( bool  isChanged)
virtual

Set the m_need_update flag, called by inspector.

Reimplemented from PlotterBase.

Definition at line 1096 of file XyPlotter.cxx.

References XyPlotter::m_need_update.

void setNumberOfBins ( const std::string &  axis,
unsigned int  number 
)
virtualinherited

Sets the number of bins.

Sets the number of bins of the plot. Not all plots have a bin attribute. Since histogram-ming plots are commonly used, this method has been declared as a convenience to script writers.

Definition at line 418 of file PlotterBase.cxx.

References hippodraw::Axes::convert().

Referenced by QtDisplay::setNumberOfBins().

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

Sets the number of bins.

Sets the number of bins of the contained ProjectorBase objects to number along the axis axis.

Reimplemented from PlotterBase.

Definition at line 905 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setOffset ( const std::string &  axis,
double  offset 
)
virtualinherited

Sets the bin offset.

Sets the bin offset parameter of the plot. Not all plots have a bin parameter. Since histogram-ming plots are commonly used, this method has been declared as a convenience to script writers. The implementation is this base class does nothing.

Definition at line 410 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), and PlotterBase::setOffset().

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

Sets the offset.

Sets the edges of the bins to be offset from its current value by the amount offset along the axis axis.

Reimplemented from PlotterBase.

Definition at line 912 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setOffsets ( double  xoffset,
double  yoffset 
)
virtualinherited

Sets the offsets on the x and y axis.

Definition at line 580 of file PlotterBase.cxx.

References PlotterBase::setOffset(), hippodraw::Axes::X, and hippodraw::Axes::Y.

void setParentDataRepIndex ( int  index)
virtualinherited

Sets the index of the parent DataRep.

Definition at line 591 of file PlotterBase.cxx.

References PlotterBase::m_parent_datarep_index.

void setParentPlotter ( PlotterBase plotter)
virtualinherited

Sets the parent plotter.

Definition at line 601 of file PlotterBase.cxx.

References PlotterBase::m_parent_plotter.

Referenced by DisplayController::createTextView().

void setRange ( Axes::Type  axis,
const Range range,
bool  scaled = false,
bool  adjust_width = true 
)
virtual

Sets the range on the specified axis.

Sets the Range on the axis axis to range. The TransformBase object contained by this object may adjust the range to fall within its limits. If scaled is true, then the Range object's value is a scaled range, otherwise it is the true range. if adjust_width is true, the bin width, if applicable, is adjusts so one has the same number of bins after the range is set, otherwise, the bin width is not changed.

Reimplemented from PlotterBase.

Definition at line 775 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by XyPlotter::setBinWidth(), and XyPlotter::setCutRangeAt().

void setRange ( const std::string &  axis,
double  low,
double  high 
)
inherited

Sets the range on the specified axis.

Creates a Range object from the low and high arguments. The Range is the scaled range. It calls setRange ( hippodraw::Axes::Type, Range, bool ) with third argument true.

Definition at line 329 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), PlotterBase::setRange(), and num_util::type().

void setRepColor ( const Color color)
virtual

Sets the representation's color.

Implements PlotterBase.

Definition at line 540 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setRepresentation ( RepBase pointrep)
virtual

Sets the representation.

The representation of the active plotter is changed.

Implements PlotterBase.

Definition at line 498 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setReverse ( bool  flag)
virtual

Sets the reverse status for the X axis to flag.

Redraws the plot.

Reimplemented from PlotterBase.

Definition at line 392 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setScaleFactor ( Axes::Type  axis,
double  factor 
)
virtual

Sets a scale factor on specified axis.

Reimplemented from PlotterBase.

Definition at line 1172 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setScaling ( Axes::Type  axis,
bool  on = true 
)
virtual

Sets the scaling attribute of the AxisModelBase object.

Reimplemented from PlotterBase.

Definition at line 462 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setShowGrid ( bool  flag)
virtual

Sets the show-grid flag to flag.

Reimplemented from PlotterBase.

Definition at line 1054 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setTicks ( Axes::Type  axis,
const std::vector< AxisTick > &  ticks 
)
virtual

Sets the ticks for the specified axis.

Reimplemented from PlotterBase.

Definition at line 898 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

void setTicks ( const std::string &  axis,
const std::vector< double > &  values,
const std::vector< std::string > &  labels 
)
virtualinherited

Sets the ticks on specified axis.

Definition at line 659 of file PlotterBase.cxx.

References hippodraw::Axes::convert(), PlotterBase::setTicks(), num_util::size(), and num_util::type().

void setTicksOnX ( const std::vector< double > &  values,
const std::vector< std::string > &  labels 
)
virtualinherited

Sets the ticks for the X axis.

Note
This method is provided to avoid interfacing the other one with the same name to Python.
This method is temporary fix to memory leak problem with SIP.

Definition at line 643 of file PlotterBase.cxx.

References PlotterBase::setTicks(), num_util::size(), and hippodraw::Axes::X.

void setTitle ( const std::string &  title)
inherited

Sets the title to be displayed.

The implementation is to pass the title parameter to the axes representation.

Definition at line 253 of file PlotterBase.cxx.

References PlotterBase::activePlotIndex(), PlotterBase::getDataRep(), PlotterBase::m_title, and Observable::notifyObservers().

Referenced by XyPlotter::createPickTuple(), QtDisplay::setTitle(), and Inspector::titleText_returnPressed().

void setTitleFont ( FontBase font)

Set the font to be used to override the default while drawing title.

Definition at line 258 of file XyPlotter.cxx.

References XyPlotter::m_axis_rep.

void setTopMargin ( double  top)
virtual

Set and get additional margin on top,bottom,left of the plotter.

Reimplemented from PlotterBase.

Definition at line 1115 of file XyPlotter.cxx.

References XyPlotter::m_margin_top.

void setTransform ( TransformBase transform)
virtual

Sets the transform object and redraws.

Reimplemented from PlotterBase.

Definition at line 409 of file XyPlotter.cxx.

References XyPlotter::m_plotters, and Observable::notifyObservers().

void setValueRep ( BinToColor rep)
virtual

Sets the object that will do the value to color transform, if any.

Sets the object that will be used to do the value to color transform, if any, and redraws.

Reimplemented from PlotterBase.

Definition at line 376 of file XyPlotter.cxx.

References XyPlotter::m_plotter, and Observable::notifyObservers().

void setView ( int  index)
inherited
void setZMargin ( double  z)
virtual

Reimplemented from PlotterBase.

Definition at line 1122 of file XyPlotter.cxx.

References XyPlotter::m_margin_z.

const FontBase * titleFont ( ) const
virtual

What font is being used to override the default while drawing title of plot.

If return value is null pointer the default is being used.

Reimplemented from PlotterBase.

Definition at line 266 of file XyPlotter.cxx.

References XyPlotter::m_axis_rep.

Referenced by PlotterBaseXML::createFontElements().

void toggleActivePlot ( )
inherited

Toggles the active DataRep, if 2 or more are contained by the plotter.

Toggles the active plot. With each call, the current active plot is deselected and the next one becomes the active plot. When the end of the list of plots is reached, all plots become active. If all plots are active then only the first becomes active.

Definition at line 723 of file PlotterBase.cxx.

References PlotterBase::activePlotIndex(), PlotterBase::getNumDataReps(), and PlotterBase::setActivePlot().

void update ( const Observable )
virtualinherited

Sends notification to it's Observer ViewBase object that redrawing is needed.

Implements Observer.

Reimplemented in CutPlotter.

Definition at line 89 of file PlotterBase.cxx.

References Observable::notifyObservers().

void update ( )
virtual

Updates the plotter.

Updates the plotter by informing contained DataRep that an update is needed. Does not notify its Observer objects.

Implements PlotterBase.

Definition at line 491 of file XyPlotter.cxx.

References XyPlotter::m_plotter.

Referenced by CutPlotter::setCutColor().

bool wantsPixmap ( ) const
virtual

Returns true.

Since the data area will be filled, an off screen pixmap would be more efficient.

Reimplemented from PlotterBase.

Definition at line 213 of file XyPlotter.cxx.

References XyPlotter::hasAxis(), XyPlotter::m_plotter, and hippodraw::Axes::Z.

void willDelete ( const Observable )
virtualinherited

Notifies this Observer object that one of its Observable objects is about to be deleted.

Since most Observable objects are owned by its Observer, it is the Observer that issued the delete. Thus the default implementation here does nothing. Derived classes that observe objects owned by another should implement this method to remove the Observable from the list they are observing.

Reimplemented in ViewBase, FunctionRep, BinningProjector, NTupleProjector, Profile2DProjector, DyHist1DProjector, DyHist2DProjector, TextPlotter, CutPlotter, and ProfileProjector.

Definition at line 25 of file Observer.cxx.

Referenced by DataRep::~DataRep(), DataSource::~DataSource(), NTuple::~NTuple(), PlotterBase::~PlotterBase(), RootNTuple::~RootNTuple(), and RTuple::~RTuple().

Member Data Documentation

bool current_range_saved
protectedinherited

Returns true if the current range on the axes have been saved.

Definition at line 124 of file PlotterBase.h.

Referenced by PlotterBase::getCurrentRangeSaved(), PlotterBase::PlotterBase(), and PlotterBase::setCurrentRangeSaved().

int m_active_index
private
double m_aspect_ratio
protectedinherited

The aspect ratio.

The ratio of the width to the height that the should be used when drawing the plotter. A ratio of zero, the default, indicates that any ratio is acceptable.

Definition at line 74 of file PlotterBase.h.

Referenced by XyPlotter::getAspectRatio(), PlotterBase::getAspectRatio(), and PlotterBase::setAspectRatio().

AxisRepBase* m_axis_rep
protected

The axes model graphical representation.

If another plotter in a composite is controlling the axis, then the pointer may be null.

Definition at line 104 of file XyPlotter.h.

Referenced by XyPlotter::drawCrossHairs(), XyPlotter::drawIn(), XyPlotter::labelFont(), XyPlotter::setEnableZ(), XyPlotter::setLabelFont(), XyPlotter::setTitleFont(), XyPlotter::titleFont(), XyPlotter::XyPlotter(), and XyPlotter::~XyPlotter().

double m_crossX
protectedinherited

The x position of the cross hair.

Definition at line 89 of file PlotterBase.h.

Referenced by XyPlotter::drawCrossHairs(), and PlotterBase::setCrossX().

double m_crossY
protectedinherited

The y position of the cross hair.

Definition at line 92 of file PlotterBase.h.

Referenced by XyPlotter::drawCrossHairs(), and PlotterBase::setCrossY().

int m_currentView
protectedinherited
std::vector< unsigned int > m_hammer_shape
private

Default shape for XyPlotter is 360*180 or 256*256.

Used for binary transforms to output a FITS file.

Definition at line 76 of file XyPlotter.h.

Referenced by XyPlotter::getShape(), and XyPlotter::XyPlotter().

std::vector< unsigned int > m_lambert_shape
private

Definition at line 77 of file XyPlotter.h.

Referenced by XyPlotter::getShape(), and XyPlotter::XyPlotter().

double m_margin_bottom
private
double m_margin_left
private
double m_margin_top
private

Additional margin set by user in the plotter.

Definition at line 49 of file XyPlotter.h.

Referenced by XyPlotter::getTopMargin(), XyPlotter::setTopMargin(), and XyPlotter::XyPlotter().

double m_margin_z
private

Definition at line 52 of file XyPlotter.h.

Referenced by XyPlotter::getZMargin(), XyPlotter::setZMargin(), and XyPlotter::XyPlotter().

std::string m_name
protectedinherited

The name of the type of plotter.

Used to lookup the plotter in a factory.

Definition at line 78 of file PlotterBase.h.

Referenced by PlotterBase::name().

bool m_need_update
private

Flag to indicat that the drawrect and marginrect need to be updated.

For now it's used only to response to font size changing.

Definition at line 92 of file XyPlotter.h.

Referenced by XyPlotter::drawIn(), XyPlotter::setNeedUpdate(), and XyPlotter::XyPlotter().

int m_parent_datarep_index
protectedinherited

Parent DataRep index.

Definition at line 108 of file PlotterBase.h.

Referenced by PlotterBase::getParentDataRepIndex(), and PlotterBase::setParentDataRepIndex().

PlotterBase* m_parent_plotter
protectedinherited

Parent plotter.

Definition at line 105 of file PlotterBase.h.

Referenced by PlotterBase::getParentPlotter(), and PlotterBase::setParentPlotter().

CompositePlotter* m_plotter
protected

The currently active plotter that draws the data points.

Definition at line 99 of file XyPlotter.h.

Referenced by XyPlotter::activeProjector(), XyPlotter::addDataRep(), XyPlotter::addDataRepStacked(), XyPlotter::addValues(), XyPlotter::autoScale(), XyPlotter::checkAxisScaling(), XyPlotter::createNTuple(), XyPlotter::createPickTuple(), XyPlotter::drawIn(), XyPlotter::drawProjValues(), XyPlotter::errorDisplay(), XyPlotter::fillPickedPointFrom(), XyPlotter::getAxisModel(), XyPlotter::getBinWidth(), XyPlotter::getBoxEdge(), XyPlotter::getFitsTransform(), XyPlotter::getInternalLabel(), XyPlotter::getLabel(), XyPlotter::getMinEntries(), XyPlotter::getNumberOfEntries(), XyPlotter::getOffset(), XyPlotter::getPosRange(), XyPlotter::getRange(), XyPlotter::getScaleFactor(), XyPlotter::getShowGrid(), XyPlotter::getTransform(), XyPlotter::getValueRep(), XyPlotter::hasAutoScaled(), XyPlotter::hasNTupleBindings(), XyPlotter::isAutoRanging(), XyPlotter::isAxisScaled(), XyPlotter::isReverse(), XyPlotter::matrixTranspose(), XyPlotter::prepareToDraw(), XyPlotter::representation(), XyPlotter::reset(), XyPlotter::selectedDataRep(), XyPlotter::setActivePlot(), XyPlotter::setAutoRanging(), XyPlotter::setAutoTicks(), XyPlotter::setAxisModel(), XyPlotter::setBoxEdge(), XyPlotter::setEnableZ(), XyPlotter::setErrorDisplay(), XyPlotter::setFitsTransform(), XyPlotter::setHighRange(), XyPlotter::setLabel(), XyPlotter::setLowRange(), XyPlotter::setMinEntries(), XyPlotter::setNumberOfBins(), XyPlotter::setOffset(), XyPlotter::setRange(), XyPlotter::setRepColor(), XyPlotter::setRepresentation(), XyPlotter::setReverse(), XyPlotter::setScaleFactor(), XyPlotter::setScaling(), XyPlotter::setShowGrid(), XyPlotter::setTicks(), XyPlotter::setValueRep(), XyPlotter::update(), XyPlotter::wantsPixmap(), and XyPlotter::XyPlotter().

int m_plotterId
protectedinherited

A unique plotter id.

Definition at line 128 of file PlotterBase.h.

Referenced by PlotterBase::plotterId(), and PlotterBase::setPlotterId().

PlotterList_t m_plotters
private
Rect m_raw_rect
protectedinherited

The raw rectangle before transform.

Definition at line 102 of file PlotterBase.h.

Referenced by XyPlotter::drawIn(), XyPlotter::drawProjValues(), and PlotterBase::getRawRect().

std::string m_title
protectedinherited

The main label; the title of the plot.

Definition at line 86 of file PlotterBase.h.

Referenced by XyPlotter::drawIn(), PlotterBase::getInternalTitle(), PlotterBase::getTitle(), PlotterBase::setTitle(), and TextPlotter::TextPlotter().

Rect m_user_rect
protectedinherited

The abstract data space.

In the user space X increases to the right and Y increases upward. The coordinate system is that of the data points being plotting

Definition at line 98 of file PlotterBase.h.

Referenced by XyPlotter::drawIn(), XyPlotter::drawProjValues(), and PlotterBase::getUserRect().

std::vector< std::vector<double> > m_views
protectedinherited

A vector of x and y ranges to be used as a circular buffer allowing one to cycle through the saved plot "views".

Definition at line 133 of file PlotterBase.h.

Referenced by PlotterBase::deleteView(), PlotterBase::nextView(), PlotterBase::numViews(), PlotterBase::saveView(), PlotterBase::saveViewAtIndex(), and PlotterBase::setView().

double m_z_ratio
protected

The conversion ratio from the user coordinate system to the view's coordinate system along the color axis.

Definition at line 108 of file XyPlotter.h.

int s_plotters
staticprotectedinherited

Reference count for creating plotter ids.

Definition at line 139 of file PlotterBase.h.

Referenced by PlotterBase::setPlotterId().

bool view_change_allowed
private

Flag to indicate if the view size of the plot can be changed.

Definition at line 71 of file XyPlotter.h.

Referenced by XyPlotter::XyPlotter().


The documentation for this class was generated from the following files:

Generated for HippoDraw Class Library by doxygen