48 BinnerAxis * x = binner_factory -> create (
"BinnerLinear" );
49 BinnerAxis * y = binner_factory -> create (
"BinnerLinear" );
96 bool have_weight =
false;
107 for (
unsigned int i = 0; i <
size; i++ )
111 double x =
m_ntuple -> valueAt ( i, ix );
112 double y =
m_ntuple -> valueAt ( i, iy );
113 double z =
m_ntuple -> valueAt ( i, iz );
163 return Range ( values );
195 }
else if ( axis ==
Axes::Y ) {
201 if( model->
isLog() ) {
202 if ( range.
low() < 0.0 )
return;
251 if ( ( axis ==
"X" || axis ==
"Y" ) ==
false )
return;
263 if( new_offset == 0.0 )
return;
303 const Range & range,
bool const_width )
316 = dynamic_cast <
const DataSource * > ( object );
318 if ( datasource != 0 ) {
331 = dynamic_cast <
const DataSource * > ( object );
333 if ( datasource != 0 ) {
AxisModelBase * m_x_axis
The AxisModel along the X axis.
Range m_value_range
The range of the accumulated values.
A namespace to set the standard for indexing into 2 dimension data point tuple.
The base class for the BinnerAxis hierarchy.
Profile2DProjector()
The default constructor.
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...
void execute()
Projects the data source into bins.
unsigned int m_min_bindings
The minimum number of columns that must be bound.
A derived class of BinningProjector that reads three columns of data and projects them to a two dimen...
Part of an implementation of the Observable-Observer pattern based on the example in the GOF Patterns...
virtual const std::string & getLabelAt(unsigned int index) const
Returns the label for the column at index index.
virtual Range valueRange() const
Finds the range of the projected values.
virtual const Range & getRange(hippodraw::Axes::Type axis)=0
hippodraw::AxisModelBase class interface
virtual void checkScaling()
Checks and sets if an AxisModelBase object on an axis should be scaled.
virtual void willDelete(const Observable *object)
If object is the target of normalization, removes the target and sets normalization off...
std::vector< std::string > m_binding_options
The list of binding options for the Projector.
DataSource * m_proj_values
The NTuple representing the result of the projection.
BinsBase * m_binner
The binner object.
A Factory singleton class for creating objects whose class derives from BinnerAxis.
virtual void willDelete(const Observable *)
Responds to willDelete message from the observed data source.
std::vector< std::string > m_pointreps
Vector of acceptable PointReps.
double high() const
Returns the maximum of the range object.
virtual void setRange(hippodraw::Axes::Type axis, bool)
const std::string & getZLabel() const
Returns the label (title) of the z axis.
unsigned int columns() const
Returns the number of columns or data arrays available from this DataSource.
virtual double calcBinWidth(hippodraw::Axes::Type axis, int parm, bool dragging) const =0
Calculates a new bin width base on dragging slider value.
const DataSource * m_ntuple
The pointer to the data source being projected.
virtual bool isLog() const =0
Returns a boolean describing the type of the scale of the axis.
double getPos(int column) const
Returns the minimum positive value on the specified column.
ProjectorBase * clone()
The clone function returns an object of its own kind which is a copy of this object at this moment...
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.
AxisModelBase * m_y_axis
The AxisModel along the Y axis.
hippodraw::NTuple class interface.
Base class for DataSource.
virtual bool isAxisBinned(const std::string &axis) const
Returns true if the destined axis is "X" or "Y", otherwise returns false.
static BinnerAxisFactory * instance()
Returns a pointer to the singleton instance.
virtual void setOffset(const std::string &axis, int parm, bool dragging)
A Factory singleton class for creating objects whose class derives from BinsBase. ...
virtual void update(const Observable *)
Responds to update message from the data source.
intp size(numeric::array arr)
Profile2DProjector class interface.
virtual void setOffset(hippodraw::Axes::Type axis, double value)=0
Sets the offset parameter on the specified axis.
virtual void changedNTuple()
This function is called when the ntuple has been changed to a new one.
Type * create(const std::string &name)
Creates a new object from a prototype named name.
virtual Range dataRangeOn(hippodraw::Axes::Type) const
Returns the range of data on the specified axis.
double low() const
Returns the minimum of the range object.
virtual double getPosOn(hippodraw::Axes::Type axis) const
Returns the minimum positive value of the data on a specified axis.
virtual void setBinnerRange(hippodraw::Axes::Type axis, const Range &range, bool const_width)
Sets the Range of the binner.
virtual const Range & setBinWidth(hippodraw::Axes::Type axis, double value)=0
Sets the bin width parameter on the specified axis.
virtual void addPointReps()
Function to add the acceptable point reps.
static BinsFactory * instance()
Returns a pointer to the singleton instance.
bool isNull() const
Returns true if the receiving objects is a null object.
Expresses a range of values.
virtual void prepareValues()
Prepares the projector for plotting by executing, if needed, the binning procedure.
virtual void setBinnerOn(BinnerAxis *, hippodraw::Axes::Type axis)=0
Sets the bin calculator on specified axis.
The base class for the Projector hierarchy.
The BinningProjector is an abstract class provides most of the functionality for a projector that doe...
An NTupleProjector is a projector that projects data from an DataSource object.
virtual void reset()=0
Resets the accumulation to zero.
CutList_t m_cut_list
A list of cuts that filter the projection.
hippodraw::DataPointTuple namespace interface
virtual void update(const Observable *object)
Implements Observer pattern.
bool isDirty() const
Returns true if the projector has been marked dirty.
virtual void update(const Observable *object)
Updates the receiving projector.
void setRange(double low, double high, double pos)
Sets the Range to the low and high values.
A namespace to set the standard for indexing into 3 dimension data point tuple.
virtual const Range & setBinWidth(hippodraw::Axes::Type axis, double v)
This function sets the binWidth.
Range dataRange(int column) const
Returns the range of data on the specified column.
void setDirty()
Sets a flag to indicate that re-binning needs to be done.
hippodraw::BinnerAxis class interface
The AxisModelBase class maintains the Range and scaling of an axis.
hippodraw::BinsBase class interface
const Range & getRange(bool scaled) const
Returns the range represented by this AxisModel.
virtual void setDirty(bool value=true)
Sets the dirty flag to value.
virtual double calcOffset(const std::string &, int parm, bool dragging) const =0
Calculates and returns a new range from dragging slider.
std::vector< unsigned int > m_columns
A vector containing indexes to the columns of the DataSource.
virtual void willDelete(const Observable *object)
Implements Observer pattern.