14 #include "msdevstudio/MSconfig.h"
38 #ifdef ITERATOR_MEMBER_DEFECT
57 BinnerAxis * binner = binner_factory -> create (
"BinnerLinear" );
60 m_binner = factory -> create (
"Bins1DProfile" );
105 bool have_weight = w_col < UINT_MAX;
112 for (
unsigned int i = 0; i <
size; i++ )
116 double x =
m_ntuple -> valueAt ( i, x_col );
117 double y =
m_ntuple -> valueAt ( i, y_col );
120 w =
m_ntuple -> valueAt ( i, w_col );
148 return Range ( 0.0, 0.0 );
150 double max = DBL_MIN;
151 double min = DBL_MAX;
155 for (
unsigned int i = 0; i < values.size(); i++ ) {
156 double hi = values[i] + errors[i];
157 double lo = values[i] - errors[i];
158 max = std::max ( max, hi );
159 min = std::min ( min, lo );
162 return Range ( min, max );
180 double pos = DBL_MAX;
184 for (
unsigned int i = 0; i < values.size (); i++ ) {
185 double lo = values[i] - errors[i];
217 if( range.
low() < 0.0 )
return;
246 = dynamic_cast <
const DataSource * > ( object );
248 if ( datasource != 0 ) {
261 = dynamic_cast <
const DataSource * > ( object );
263 if ( datasource != 0 ) {
virtual void accumulate(double x, double w_or_y=1.0, double z=1.0, double w=1.0)=0
Accumulates the data point with weight w.
ProjectorBase * clone()
The clone function returns an object of its own kind which is a copy of this object at this moment...
virtual void willDelete(const Observable *object)
Implements Observer pattern.
std::vector< std::string > m_pointreps
Vector of acceptable PointReps.
AxisModelBase * m_x_axis
The AxisModel along the X axis.
An NTupleProjector is a projector that projects data from an DataSource object.
virtual void update(const Observable *object)
Updates the receiving projector.
The base class for the BinnerAxis hierarchy.
virtual Range dataRangeOn(hippodraw::Axes::Type) const
Returns the range of the data on the specified axis.
BinsBase * m_binner
The binner object.
std::vector< std::string > m_binding_options
The list of binding options for the Projector.
The BinningProjector is an abstract class provides most of the functionality for a projector that doe...
virtual void addPointReps()
Function to add the acceptable point reps.
bool acceptRow(unsigned int i, const CutList_t &cut_list) const
For row i of the column in the DataSource, returns true if all the cuts accept the row...
hippodraw::AxisModelBase class interface
virtual void update(const Observable *)
Responds to update message from the data source.
double getPos(int column) const
Returns the minimum positive value on the specified column.
void setDirty()
Sets a flag to indicate that re-binning needs to be done.
unsigned int m_min_bindings
The minimum number of columns that must be bound.
hippodraw::DataPointTuple namespace interface
virtual Range valueRange() const
Finds the range of the projected values.
virtual void changedNTuple()
This function is called when the DataSource has been changed to a new one.
virtual void prepareValues()
Prepares the projector for plotting by executing, if needed, the binning procedure.
bool isNull() const
Returns true if the receiving objects is a null object.
virtual double getPosOn(hippodraw::Axes::Type axis) const
Returns the minimum positive value of the data on a specified axis.
void setRange(double low, double high, double pos)
Sets the Range to the low and high values.
virtual void setDirty(bool value=true)
Sets the dirty flag to value.
double low() const
Returns the minimum of the range object.
virtual void willDelete(const Observable *object)
If object is the target of normalization, removes the target and sets normalization off...
virtual bool isAxisBinned(const std::string &axis) const
Returns true if specified axis is binned.
intp size(numeric::array arr)
virtual void setRange(hippodraw::Axes::Type axis, bool const_width)
Sets the range of the selected axis.
hippodraw::NTuple class interface.
A Factory singleton class for creating objects whose class derives from BinsBase. ...
ProfileProjector()
The default constructor.
hippodraw::BinsBase class interface
Base class for DataSource.
virtual void update(const Observable *object)
Implements Observer pattern.
Part of an implementation of the Observable-Observer pattern based on the example in the GOF Patterns...
hippodraw::BinnerAxis class interface
DataSource * m_proj_values
The NTuple representing the result of the projection.
virtual void reset()=0
Resets the accumulation to zero.
virtual void setBinnerRange(hippodraw::Axes::Type axis, const Range &range, bool const_width)
Sets the Range of the binner.
static BinnerAxisFactory * instance()
Returns a pointer to the singleton instance.
const Range & getRange(bool scaled) const
Returns the range represented by this AxisModel.
unsigned int columns() const
Returns the number of columns or data arrays available from this DataSource.
A derived class of BinningProjector which projects to a profile display.
std::vector< unsigned int > m_columns
A vector containing indexes to the columns of the DataSource.
double high() const
Returns the maximum of the range object.
ProfileProjector class interface.
CutList_t m_cut_list
A list of cuts that filter the projection.
const DataSource * m_ntuple
The pointer to the data source being projected.
A Factory singleton class for creating objects whose class derives from BinnerAxis.
virtual bool isLog() const =0
Returns a boolean describing the type of the scale of the axis.
static BinsFactory * instance()
Returns a pointer to the singleton instance.
Range dataRange(int column) const
Returns the range of data on the specified column.
virtual void execute()
Provides the all the data to the binner.
virtual void checkScaling()
Checks and sets if an AxisModelBase object on an axis should be scaled.
virtual void setBinnerOn(BinnerAxis *, hippodraw::Axes::Type axis)=0
Sets the bin calculator on specified axis.
virtual void willDelete(const Observable *)
Responds to willDelete message from the observed data source.
Expresses a range of values.
A namespace to set the standard for indexing into 2 dimension data point tuple.
The base class for the Projector hierarchy.