Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FitsNTuple.h

Go to the documentation of this file.
00001 /* -*- c++ -*- */
00002 
00014 #ifndef FitsNTuple_H
00015 #define FitsNTuple_H
00016 
00017 #include "datasrcs/DataSource.h"
00018 
00019 class FitsFile;
00020 
00028 class MDL_HIPPOPLOT_API FitsNTuple : public DataSource
00029 {
00030 
00031 private:
00032 
00035   std::vector < std::vector < double > * > m_data;
00036 
00039   FitsFile * m_file;
00040 
00044   int m_hdu_num;
00045 
00051   FitsNTuple ( );
00052 
00053 public:
00054 
00057   FitsNTuple ( FitsFile * file );
00058 
00061   virtual ~FitsNTuple();
00062 
00066   virtual void copy ( const DataSource  & );
00067 
00070   const FitsFile * getFile () const;
00071 
00075   virtual void notifyObservers ( ) const;
00076 
00079   virtual unsigned int rows () const;
00080 
00083   virtual bool empty () const;
00084 
00088   virtual void clear ();
00089 
00093   virtual void reserve ( unsigned int count );
00094 
00098   virtual void addRow ( const std::vector < double > & row );
00099 
00102   virtual double 
00103   operator [] (  std::vector < unsigned int > & indices ) const;
00104 
00105   virtual double valueAt ( unsigned int row, unsigned int column ) const;
00106 
00115   int addColumn ( const std::string & label, 
00116                   const std::vector < double > & column );
00117 
00125   void replaceColumn ( unsigned int index,
00126                        const std::vector < double > & data );
00127 
00135   void replaceColumn ( const std::string & label,
00136                        const std::vector < double > & data );
00137 
00140   virtual const std::vector < double > & getRow ( unsigned int index ) const;
00141 
00148   virtual void setShape ( std::vector < unsigned int > & shape );
00149 
00152   const std::vector < unsigned int > & getShape () const;
00153 
00157   unsigned int getRank () const;
00158 
00159   virtual bool fillRange ( unsigned int column, Range & ) const;
00160 
00161 private:
00162 
00165   void initColumns ();
00166 
00170   int fillDataCache ( unsigned int column );
00171 
00172 };
00173 
00174 #endif // FitsNTuple_H

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3