13 #include "msdevstudio/MSconfig.h"
28 #ifdef ITERATOR_MEMBER_DEFECT
39 ProjectorBase::ProjectorBase ()
53 m_x_axis ( p.m_x_axis ),
54 m_y_axis ( p.m_y_axis ),
55 m_z_axis ( p.m_z_axis )
97 const vector < string > &
102 static vector < string > dummy;
167 if ( range.
length() == 0.0 ) {
169 double low = range.
low ();
177 range.
setLow ( 0.9 * low );
181 range.
setLow ( 1.1 * low );
236 static Range range ( 0., 1. );
350 std::vector<double> & columnData)
const {
421 const std::vector <double> &
426 const std::vector <double> & oldzval = ds->
getColumn (2);
429 unsigned int x = shape[0];
430 unsigned int y = shape[1];
433 m_zval.resize ( x*y, 0.0 );
435 for (
unsigned int yy = 0; yy<y; yy++ )
436 for (
unsigned int xx = 0; xx<x; xx++ )
437 m_zval[yy*x+xx] = oldzval[xx*y+yy];
442 const std::vector < unsigned int> &
454 const std::vector <double> &
464 if ( bt-> aspectRatio() == 1.0 )
466 for (
unsigned int j = 0; j < 256; j++ )
467 for (
unsigned int i = 0; i < 256; i++ )
469 double x= static_cast <
double > (i)-128;
470 double y= static_cast <
double > (j)-128;
491 for (
unsigned int j = 0; j < 180; j++ )
492 for (
unsigned int i = 0; i < 360; i++ )
494 double x= static_cast <
double > (i)-180;
495 double y= static_cast <
double > (j)-90;
const std::vector< double > & getZAfterTransform(TransformBase *transform)
Return Z values after binary transform.
virtual void setOffset(const std::string &axis, int parm, bool dragging)
Sets the bin offset.
virtual void matrixTranspose(bool yes)
Transposes the X and Y axis.
std::vector< std::string > m_pointreps
Vector of acceptable PointReps.
AxisModelBase * m_x_axis
The AxisModel along the X axis.
column
The column indices for 2 dimension data point tuple.
AxisModelBase * m_z_axis
The AxisModel along the Z axis.
std::vector< double > m_zval
Sorted Z values in this projector.
virtual NTuple * getNTupleAfterCuts() const
Template for projectors that can return subsets of the NTuple used by the DataRep.
virtual int getMinEntries()
Get the minimum entries/bin.
void setHigh(double x)
Sets the maximum of the range object.
virtual void setRange(Axes::Type axis, bool const_width=true)
Sets the range of the selected axis.
virtual const std::vector< unsigned int > & getShape() const
Returns the shape of the data elements.
const DataSource * getProjectedValues() const
Returns DataSource representation of projected values.
virtual void checkScaling()
Checks for scaling the display of the axis range.
virtual bool isValueBinned() const
Returns true if the projected values are the result of binning.
hippodraw::BinaryTransform class interface
virtual const std::vector< std::string > & getAxisBindings() const
Returns the axis bindings.
virtual int getNumberOfBins(Axes::Type) const
Returns the number of bins.
double length() const
Returns the length of the range object.
virtual void fillColumnAfterCuts(const std::string &column, std::vector< double > &columnData) const
Fill the vector with values from named column with the present set of cuts applied.
hippodraw::AxisModelBase class interface
Part of an implementation of the Observable Observer pattern based on the example implementation in t...
virtual const Range & getRange(Axes::Type) const
Returns the Range along the specified axis.
virtual void normalizeTo(const ProjectorBase *target)
Sets the target of normalization.
AxisModelBase * m_y_axis
The AxisModel along the Y axis.
virtual bool hasDataSourceBindings() const
Returns true if projector has binding to a DataSource.
virtual void update(const Observable *)
Implements the Observer pattern.
A concreate implementation of the FunctionHelper class.
A transform that transforms coordinates from one coordinate system to another.
virtual void notifyObservers() const
Notifies Observer objects of a change.
virtual bool wantsScaleFactor(const std::string &axis) const
Returns whether the projector wants scale factor.
virtual void setDirty(bool value=true)
Sets the dirty flag to value.
A DataSource class implemented with std::vector to store the column data. ...
double low() const
Returns the minimum of the range object.
virtual bool isAxisBinned(const std::string &axis) const
Returns true if specified axis is binned.
virtual bool isImageConvertable() const
Returns true if the projected values can converted to an image.
virtual double getOffset(Axes::Type axis) const
Returns the offset of the axis.
const std::vector< std::string > & getPointReps() const
Return the vector of Point Reps.
A transform that transforms coordinates from one 2D coordinate system to another. ...
const std::vector< double > & getZValues()
Return all Z values.
virtual double getBinWidth(Axes::Type axis) const
Returns the bin width of the axis.
virtual double getAverage(Axes::Type axis) const
Get the Average of all projected values on the specified axis.
virtual const std::vector< double > & getColumn(const std::string &name) const
Returns the data in the column with label name.
hippodraw::DataSource class interface.
virtual void setAxisModel(Axes::Type axis, AxisModelBase *)
Sets the AxisModel for axis axis.
bool m_isDirty
Marks the object as dirty.
virtual void setNormalizing(bool on)
Sets the scaling number of entries on if on is true, otherwise turns if off.
std::string m_z_label
Dummy member so that getZLabel can return a reference.
virtual Range dataRangeOn(Axes::Type) const =0
Returns the range of the raw data.
Base class for DataSource.
virtual void addValues(const std::vector< double > &v)
Add values to the projection.
ProjectorBase()
The default constructor.
Part of an implementation of the Observable-Observer pattern based on the example in the GOF Patterns...
virtual void reset()
Resets the bins.
DataSource * m_proj_values
The NTuple representing the result of the projection.
virtual void prepareValues()
Informs the projector to prepare its projected values for plotting.
virtual void setAxisBinding(const std::string &axis, const std::string &label)
Sets the axis binding.
virtual double getZValue(double x, double y) const
Get the z value at the specified point (x,y).
virtual void setAxisBindings(const std::vector< std::string > &bindings)
Sets the axis binding.
virtual double stdCoord() const
Returns the standard deviation of the coordinates along the X axis in the data set.
virtual NTuple * createNTupleWith(const std::vector< TupleCut > &cut_list) const
Creates a NTuple from the projector's DataSource object using cut_list for not including rows that do...
const Range & getRange(bool scaled) const
Returns the range represented by this AxisModel.
void setLow(double x)
Sets the minimum of the range object.
virtual double getRMS(Axes::Type axis)
Returns the RMS.
virtual bool inverseTransform(double &x, double &y) const =0
Transform the transformed coordinates on X and Y axis back to the original true data space...
virtual Range preferredRange(Axes::Type) const
Returns the preferred Range.
virtual AxisModelBase * getAxisModel(Axes::Type axis) const
Get the AxisModel for axis axis.
virtual const Range & setBinWidth(Axes::Type axis, double width)
Sets the bin width.
virtual void setNumberOfBins(Axes::Type axis, unsigned int number)
Sets the number of bins.
virtual int indexOf(const std::string &label) const
Returns the index of the label.
std::vector< intptr_t > shape(numeric::array arr)
virtual void setMinEntries(int entries)
Set the minimum entries/bin.
const std::vector< unsigned int > & getShape()
Get the shape of the projected values.
The AxisModelBase class maintains the Range and scaling of an axis.
virtual ~ProjectorBase()
The virtual destructor.
virtual const DataSource * createOldStyleNTuple() const
virtual const std::string & getZLabel() const
Finds the Z axis label of the plot.
bool isDirty() const
Returns true if the projector has been marked dirty.
Expresses a range of values.
ProjectorHelper class interface.
The base class for the Projector hierarchy.
hippodraw::ProjectorBase class interface.