/* * ParamProperties.hh * * Created on: Oct 1, 2014 * Author: m.mazel */ #ifndef PARAMPROPERTIES_HH_ #define PARAMPROPERTIES_HH_ #include #include #include "OutputFormatTime.hh" namespace AMDA { namespace ParamOutputImpl { namespace Download { typedef std::vector ParamIndexDefList; typedef std::vector ParamCalibrationInfoList; /** * @class ParamProperties * @brief Parameter properties for a download request. * @details */ class ParamProperties { public: ParamProperties(); virtual ~ParamProperties(); //Original parameter id is the parameter id defined in the request const std::string& getOriginalId() const; void setOriginalId(const std::string& id); //Output parameter id is the parameter id used for the output //(originalId can be different to outputId when a resampling is needed by the request) //This id is set during the createParameters step of the download output const std::string& getOutputId() const; void setOutputId(const std::string& id); ParamIndexDefList& getIndexDefList(); void addIndexDef (std::string index); ParamCalibrationInfoList& getCalibrationInfoList(); void addCalibrationInfo (const std::string &calibrationInfo); private: /** * parameter original id */ std::string _originalId; /** * parameter output id */ std::string _outputId; /** * Parameter index definition list */ ParamIndexDefList _indexDefList; /** * Parameter calibration info list */ ParamCalibrationInfoList _calibrationInfoList; }; } // namespace Download } // namespace ParamOutputImpl } // namespace AMDA #endif /* PARAMPROPERTIES_HH_ */