ParamProperties.hh
1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
* ParamProperties.hh
*
* Created on: Oct 1, 2014
* Author: m.mazel
*/
#ifndef PARAMPROPERTIES_HH_
#define PARAMPROPERTIES_HH_
#include <string>
#include <vector>
#include "OutputFormatTime.hh"
namespace AMDA {
namespace ParamOutputImpl {
namespace Download {
typedef std::vector<std::string> ParamIndexDefList;
typedef std::vector<std::string> 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_ */