00001
00002
00014 #ifndef _ErrorBarRep_H_
00015 #define _ErrorBarRep_H_
00016
00017 #include "RepBase.h"
00018
00019 #include "axes/Range.h"
00020
00026 class MDL_HIPPOPLOT_API ErrorBarRep : public RepBase
00027 {
00028
00029 private:
00030
00032 std::vector< double > m_x_err;
00033
00035 std::vector< double > m_y_err;
00036
00039 bool m_x_flag;
00040
00043 bool m_y_flag;
00044
00046 double m_x_cap;
00047
00049 double m_y_cap;
00050
00052 Range m_x_range;
00053
00055 Range m_y_range;
00056
00057
00059 void drawXError ( double x, double y, double error,
00060 ViewBase & vb, const TransformBase & t );
00061
00063 void drawYError ( double x, double y, double error,
00064 ViewBase & vb, const TransformBase & t );
00065
00066 public:
00067
00072 ErrorBarRep ( );
00073
00074
00075
00076
00078 ~ErrorBarRep();
00079
00082 RepBase * clone ();
00083
00085 void setXError ( bool );
00086
00088 void setYError ( bool );
00089
00090 virtual void drawProjectedValues ( const DataSource * ntuple,
00091 TransformBase * transform,
00092 ViewBase * view );
00093
00094 private:
00095
00098 void getRanges ( const DataSource * ntuple );
00099
00100 };
00101
00102 #endif // _ErrorBarRep_H_