00001
00002 #ifndef INTERFACES_IAXIS_H
00003 #define INTERFACES_IAXIS_H 1
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ANAPHE_NO_NAMESPACE
00022 namespace Anaphe {
00023 #endif
00024
00025 class IAxis {
00026
00027 public:
00028 virtual ~IAxis() { }
00029
00030 public:
00031
00035
00037 virtual double lowerEdge() const = 0;
00038
00040 virtual double upperEdge() const = 0;
00041
00042
00046
00049
00051 virtual int bins() const = 0;
00052
00055
00057 virtual double binLowerEdge( int index ) const = 0;
00058
00060 virtual double binUpperEdge( int index ) const = 0;
00061
00064
00066 virtual double binWidth( int index ) const = 0;
00067
00070
00072 virtual double binCentre( int index ) const = 0;
00073
00077
00080 virtual int coordToIndex( double coord ) const = 0;
00081
00082 };
00083
00084 #ifndef ANAPHE_NO_NAMESPACE
00085 };
00086 #endif
00087
00088 #endif // INTERFACES_IAXIS_H