00001
00002
00014 #ifndef NTUPLE_H
00015 #define NTUPLE_H
00016
00017 #ifdef _MSC_VER
00018 # pragma warning(disable:4290) // exception spec ignored except to indicate
00019 #endif
00020
00021 #include "DataSource.h"
00022
00028 class MDL_HIPPOPLOT_API RTuple : public DataSource
00029 {
00030
00031 private:
00032
00037 std::vector< std::vector<double> *> m_data;
00038
00042 RTuple ( const RTuple & nt);
00043
00044 public:
00045
00048 RTuple ( const std::vector < std::string > & labels );
00049
00054 RTuple ( unsigned int n );
00055
00058 virtual ~RTuple();
00059
00060 virtual void copy ( const DataSource & other );
00061
00065 virtual void clear();
00066 virtual void reserve ( unsigned int count );
00067
00070 virtual bool empty () const;
00071
00074 virtual unsigned int rows () const;
00075
00082 virtual void addRow ( const std::vector<double> & v );
00083
00089 virtual const std::vector < double > & getRow ( unsigned int index ) const;
00090
00091 virtual double
00092 operator [] ( std::vector < unsigned int > & indices ) const;
00093
00094 virtual double valueAt ( unsigned int row, unsigned int column ) const;
00095
00096 };
00097
00098 #endif // NTUPLE_H