00001 #ifndef SCTDATA_DCS_DATA_H
00002 #define SCTDATA_DCS_DATA_H
00003
00004 #include "Sct/Streamable.h"
00005 #include <boost/shared_ptr.hpp>
00006 #include <string>
00007 #include <map>
00008 #include <list>
00009 #include <owl/time.h>
00010
00011 namespace SctData{
00017 class DcsData : public Sct::Streamable{
00019 class DataPoint{
00020 public:
00021 DataPoint();
00022 DataPoint(float value, OWLTime time);
00023 float value;
00024 OWLTime time;
00025 ~DataPoint();
00026 };
00027 public:
00028
00029 DcsData();
00030
00031 DcsData(const std::map<std::string, float> inputs);
00033 virtual std::string getClassName() const;
00035 virtual ~DcsData();
00037 void setParameter(const std::string& name, float val, OWLTime time);
00039 OWLTime getTime(const std::string& name) const;
00041 float getParameter(const std::string& name) const;
00043 bool hasParameter(const std::string& name) const;
00045 std::list <std::string> getAllParameterNames() const;
00046 private:
00047 std::map<std::string, DataPoint> m_data;
00048 DataPoint getDataPoint(const std::string& name) const;
00049 };
00050
00051 }
00052
00053 #endif //#ifndef SCTDATA_DCS_DATA_H