00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_IPLOTTERREGION_H
00008 #define AIDA_IPLOTTERREGION_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016 #include <vector>
00017
00018 namespace AIDA {
00019
00020 class IBaseHistogram;
00021 class IDataPointSet;
00022 class IFunction;
00023 class IInfo;
00024 class IPlotterLayout;
00025 class IPlotterStyle;
00026
00062 class IPlotterRegion {
00063
00064 public:
00066 virtual ~IPlotterRegion() { ; }
00067
00076 virtual bool plot(const IBaseHistogram & histogram, const std::string & options = "") = 0;
00077
00078 virtual bool plot(const IBaseHistogram & histogram, const IPlotterStyle & style, const std::string & options = "") = 0;
00079
00080 virtual bool plot(const IFunction & function, const std::string & options = "") = 0;
00081
00082 virtual bool plot(const IFunction & function, const IPlotterStyle & style, const std::string & options = "") = 0;
00083
00084 virtual bool plot(const IDataPointSet & dataPointSet, const std::string & options = "") = 0;
00085
00086 virtual bool plot(const IDataPointSet & dataPointSet, const IPlotterStyle & style, const std::string & options = "") = 0;
00087
00092 virtual bool remove(const IBaseHistogram & histogram) = 0;
00093
00094 virtual bool remove(const IFunction & function) = 0;
00095
00096 virtual bool remove(const IDataPointSet & dataPointSet) = 0;
00097
00102 virtual void clear() = 0;
00103
00109 virtual bool setParameter(const std::string & parameter, const std::string & options = "") = 0;
00110
00116 virtual std::string parameterValue(const std::string & parameter) const = 0;
00117
00118 virtual std::vector<std::string> availableParameterOptions(const std::string & parameter) const = 0;
00119
00120 virtual std::vector<std::string> availableParameters() const = 0;
00121
00125 virtual IPlotterStyle & style() = 0;
00126
00130 virtual bool setStyle(const IPlotterStyle & style) = 0;
00131
00135 virtual bool applyStyle(const IPlotterStyle & style) = 0;
00136
00140 virtual void setTitle(const std::string & title) = 0;
00141
00145 virtual bool setXLimits(double min = 0, double max = 0) = 0;
00146
00147 virtual bool setYLimits(double min = 0, double max = 0) = 0;
00148
00149 virtual bool setZLimits(double min = 0, double max = 0) = 0;
00150
00155 virtual IPlotterLayout & layout() = 0;
00156
00157 virtual bool setLayout(const IPlotterLayout & layout) = 0;
00158
00162 virtual IInfo & info() = 0;
00163 };
00164 };
00165 #endif