14 #ifndef _ProjectorBase_H_
15 #define _ProjectorBase_H_
22 #include <msdevstudio/MSconfig.h>
115 virtual void addPointReps () = 0;
140 virtual void setAxisBinding (
const std::string & axis,
141 const std::string & label );
146 virtual void matrixTranspose (
bool yes );
155 void setAxisBindings (
const std::vector < std::string > & bindings );
163 virtual const std::vector < std::string > & getAxisBindings ()
const;
171 virtual bool isEmpty ()
const = 0;
181 virtual void prepareValues ();
195 bool isDirty ()
const;
198 virtual void setDirty (
bool value =
true );
203 virtual int getNumberOfBins (
Axes::Type )
const;
214 virtual bool isAxisBinned (
const std::string & axis )
const;
220 virtual bool isValueBinned ()
const;
223 virtual const std::string & getTitle()
const = 0;
231 virtual Range valueRange ()
const = 0;
246 bool const_width =
true );
251 virtual double getPosOn (
Axes::Type )
const = 0;
260 virtual void setNumberOfBins (
Axes::Type axis,
261 unsigned int number );
289 virtual void setOffset (
const std::string & axis,
300 virtual void setOffset (
Axes::Type axis,
double offset );
306 virtual void reset ();
316 virtual double getOffset (
Axes::Type axis )
const;
324 virtual double getBinWidth (
Axes::Type axis )
const;
328 virtual const std::string & getXLabel()
const = 0;
336 virtual const std::string & getYLabel (
bool flag =
false )
const = 0;
340 virtual const std::string & getZLabel()
const;
344 virtual int indexOf (
const std::string & label )
const;
351 virtual int getNumberOfEntries ()
const = 0;
354 virtual int getUnderflow ()
const = 0;
357 virtual int getOverflow ()
const = 0;
363 virtual double getAverage(
Axes::Type axis)
const;
371 virtual double getZValue (
double x,
double y )
const;
377 virtual void addValues (
const std::vector < double > & v );
380 const std::vector < std::string > & getPointReps()
const;
387 virtual DataSource * createNTuple ()
const = 0;
391 const DataSource * getProjectedValues ()
const;
393 virtual const DataSource * createOldStyleNTuple ()
const;
398 virtual NTuple * getNTupleAfterCuts ()
const;
403 virtual void fillColumnAfterCuts(
const std::string &
column,
404 std::vector<double> & columnData)
const;
411 NTuple * createNTupleWith (
const std::vector< TupleCut > & cut_list )
const;
420 virtual bool wantsScaleFactor (
const std::string & axis )
const;
434 virtual void normalizeTo (
double norm );
439 virtual void setNormalizing (
bool on );
452 virtual void checkScaling ();
457 const std::vector <double> & getZValues();
461 const std::vector <unsigned int> & getShape();
465 const std::vector <double> & getZAfterTransform(
TransformBase * transform);
472 virtual bool hasDataSourceBindings ()
const;
476 virtual void setMinEntries(
int entries );
480 virtual int getMinEntries ( );
488 virtual bool isImageConvertable ()
const;
494 #endif // _ProjectorBase_H_