22 class CompositePlotter;
82 void checkAutoScale ();
87 void prepareToDraw ();
112 TupleCut * getCutAt (
unsigned int i );
117 XyPlotter (
const std::string & name =
"XyPlotter" );
132 virtual void setEnableZ (
bool yes =
true );
134 virtual void drawIn (
ViewBase * view );
140 virtual void drawCrossHairs (
ViewBase * view );
142 virtual NTuple * createNTuple ()
const;
146 virtual bool wantsPixmap ( )
const;
160 void setTitleFont(
FontBase* font );
165 virtual const FontBase * titleFont ( )
const;
173 virtual void setActivePlot (
int index,
bool redraw );
177 virtual int activePlotIndex ()
const;
182 virtual void addDataRep (
DataRep * rep );
188 virtual void addDataRepStacked (
DataRep * rep );
192 virtual void removeDataRep (
DataRep * rep );
199 virtual void autoScale ( );
205 virtual void setValueRep (
BinToColor * rep );
210 virtual void setAutoRanging (
bool flag );
216 virtual void setAutoRanging (
Axes::Type axis,
bool flag );
220 virtual void setReverse (
bool flag );
224 virtual void setShowGrid (
bool flag );
228 virtual bool getShowGrid ();
232 virtual void setBoxEdge(
bool flag);
236 virtual bool getBoxEdge();
244 virtual void setFitsTransform (
const std::string & );
258 virtual NTuple * createPickTuple ();
274 virtual void fillPickedPointFrom (
double mx,
double my,
275 std::vector < double > & picked )
const;
279 virtual void setLowRange (
Axes::Type axis,
int parm,
284 virtual void setHighRange (
Axes::Type axis,
int parm,
289 virtual void setScaling (
Axes::Type axis,
bool on =
true );
297 virtual double getAspectRatio ()
const;
299 virtual void update ();
304 virtual void setRepresentation (
RepBase * pointrep );
308 virtual RepBase * representation ( )
const;
322 virtual void setErrorDisplay (
Axes::Type axis,
bool );
326 virtual bool errorDisplay (
Axes::Type axis )
const;
330 virtual void setRepColor (
const Color & );
334 virtual const Color & repColor ()
const;
341 virtual void drawProjValues (
ViewBase * view );
345 bool hasAutoScaled ()
const;
350 virtual bool hasNTupleBindings ()
const;
355 virtual bool hasZoomY ()
const;
359 virtual void checkAxisScaling ();
371 virtual DataRep * getDataRep (
int index )
const;
375 virtual DataRep * getTarget ( )
const;
379 bool isTargetable ()
const;
384 virtual int getNumDataReps ()
const;
388 virtual int indexOf (
const DataRep * )
const;
392 virtual double getBinWidth (
Axes::Type )
const;
398 virtual void setBinWidth (
Axes::Type axis,
double width );
401 virtual void reset ( );
412 virtual double getPosRange (
Axes::Type axis )
const;
417 virtual double getOffset (
Axes::Type axis)
const;
432 virtual void addValues (
const std::vector < double > & v );
434 virtual const std::string &
439 virtual const std::string & getLabel (
Axes::Type )
const;
443 virtual void setLabel (
Axes::Type,
const std::string & value );
447 virtual int getNumberOfEntries ()
const;
451 virtual bool hasAxis (
Axes::Type axis )
const;
457 virtual const BinToColor * getValueRep ()
const;
462 virtual bool isAutoRanging (
Axes::Type axis )
const;
466 virtual bool isReverse ( )
const;
472 virtual void matrixTranspose (
bool yes );
477 virtual DataRep * selectedDataRep ()
const;
481 virtual void setAutoTicks (
Axes::Type axis,
bool yes );
486 const std::vector < AxisTick > & ticks );
492 virtual void setNumberOfBins (
Axes::Type axis,
493 unsigned int number );
499 virtual void setOffset (
Axes::Type axis,
double offset );
512 bool scaled =
false,
bool adjust_width =
true );
517 void fillCutList ( std::vector < const TupleCut * > & cuts )
const;
521 virtual void setCutRangeAt (
const Range & range,
unsigned int i );
526 virtual Range getCutRange ();
530 virtual void setCutInverted (
unsigned int i,
bool yes =
true );
534 virtual void setCutEnabled (
unsigned int i,
bool yes =
true );
537 const std::vector <double> & getZValues();
538 const std::vector <unsigned int> & getShape();
541 virtual bool getCutInversion ();
545 virtual void setMinEntries(
int entries );
549 virtual int getMinEntries ();
553 virtual void setNeedUpdate(
bool isChanged);
559 virtual bool isImageConvertable ()
const;
562 virtual void setTopMargin(
double top );
563 virtual void setBottomMargin(
double bottom );
564 virtual void setLeftMargin(
double left );
565 virtual void setZMargin(
double z );
567 virtual double getTopMargin();
568 virtual double getBottomMargin();
569 virtual double getLeftMargin();
570 virtual double getZMargin();
574 virtual void setScaleFactor (
Axes::Type axis,
double factor );
578 virtual double getScaleFactor (
Axes::Type axis )
const;
582 virtual bool isAxisScaled (
Axes::Type axis )
const;
588 #endif // _XyPlotter_H_