Commit afa22fae5d532a6d2590e6fe710533caba97eacb
1 parent
50365881
Exists in
master
and in
81 other branches
presque
Showing
7 changed files
with
381 additions
and
59 deletions
Show diff stats
... | ... | @@ -0,0 +1,30 @@ |
1 | +/* | |
2 | + * To change this license header, choose License Headers in Project Properties. | |
3 | + * To change this template file, choose Tools | Templates | |
4 | + * and open the template in the editor. | |
5 | + */ | |
6 | +#include "ServicesServer.hh" | |
7 | +#include "PluginManager.hh" | |
8 | + | |
9 | +#include "MLTProcess.hh" | |
10 | + | |
11 | +using namespace AMDA::Parameters; | |
12 | + | |
13 | +/** | |
14 | + Retrieve the Plugin version we're going to expect | |
15 | +*/ | |
16 | +extern "C" const char* getPluginVersion() | |
17 | +{ | |
18 | + return "(Version)"; | |
19 | +} | |
20 | + | |
21 | +/** | |
22 | + Tells us to register our functionality to an engine kernel | |
23 | +*/ | |
24 | +extern "C" void registerPlugin(AMDA::Plugins::PluginManager & pm) | |
25 | +{ | |
26 | + ProcessFactory factMLTProcess = boost::factory<MLTProcess*>(); | |
27 | + ServicesServer::getInstance()->addProcessFactory("maglib_mlt", factMLTProcess); | |
28 | + ServicesServer::getInstance()->linkProcessWithPlugin("maglib_mlt", pm.getCurrentPluginPath()); | |
29 | +} | |
30 | + | ... | ... |
src/ExternLib/Maglib/CMakeLists.txt
... | ... | @@ -0,0 +1,56 @@ |
1 | +/* | |
2 | + * To change this license header, choose License Headers in Project Properties. | |
3 | + * To change this template file, choose Tools | Templates | |
4 | + * and open the template in the editor. | |
5 | + */ | |
6 | + | |
7 | +/* | |
8 | + * File: MLTProcess.cc | |
9 | + * Author: hacene | |
10 | + * | |
11 | + * Created on July 23, 2020, 4:14 PM | |
12 | + */ | |
13 | +#include <stdlib.h> | |
14 | +#include <string> | |
15 | + | |
16 | +#include "Operation.hh" | |
17 | +#include "ParameterManager.hh" | |
18 | +#include "ParameterCreatorFromExpression.hh" | |
19 | +#include "MLTProcess.hh" | |
20 | +#include "MaglibCreator.hh" | |
21 | + | |
22 | +namespace AMDA { | |
23 | + namespace Parameters { | |
24 | + | |
25 | + MLTProcess::MLTProcess(Parameter& parameter) : SingleParamProcess_CRTP(parameter) { | |
26 | + } | |
27 | + | |
28 | + MLTProcess::MLTProcess(const MLTProcess& pProcess, Parameter ¶meter) : SingleParamProcess_CRTP(pProcess, parameter) { | |
29 | + } | |
30 | + | |
31 | + TimeStamp MLTProcess::init() { | |
32 | + | |
33 | + TimeStamp timeStamp = _parameterInput->init(this, _timeIntervalList); | |
34 | + Parameter::InfoList lInfoList = _parameterInput->getInfoList(); | |
35 | + _parameter.getInfoList().insert(lInfoList.begin(), lInfoList.end()); | |
36 | + _paramInput = _parameterInput->getParamData(this).get(); | |
37 | + | |
38 | + std::string isatex_str = "0"; | |
39 | + std::string magout_str = "2"; | |
40 | + | |
41 | + if (_attributList.size() == 2) { | |
42 | + isatex_str = _attributList[0]; | |
43 | + magout_str = _attributList[1]; | |
44 | + } | |
45 | + MaglibCreator lCreator(*this, *_paramInput, "mlt", isatex_str, isatex_str); | |
46 | + _operation = lCreator.getOperation(); | |
47 | + _paramData = ParamDataSPtr(_operation->getParamOutput()); | |
48 | + _paramData->setMinSampling(_paramInput->getMinSampling()); | |
49 | + return timeStamp; | |
50 | + } | |
51 | + | |
52 | + MLTProcess::~MLTProcess() { | |
53 | + } | |
54 | + | |
55 | + } | |
56 | +} | |
0 | 57 | \ No newline at end of file | ... | ... |
... | ... | @@ -0,0 +1,38 @@ |
1 | +/* | |
2 | + * To change this license header, choose License Headers in Project Properties. | |
3 | + * To change this template file, choose Tools | Templates | |
4 | + * and open the template in the editor. | |
5 | + */ | |
6 | + | |
7 | +/* | |
8 | + * File: MLTProcess.hh | |
9 | + * Author: hacene | |
10 | + * | |
11 | + * Created on July 23, 2020, 4:14 PM | |
12 | + */ | |
13 | + | |
14 | +#ifndef MLTPROCESS_HH | |
15 | +#define MLTPROCESS_HH | |
16 | + | |
17 | +#include "SingleParamProcess.hh" | |
18 | + | |
19 | +namespace AMDA { | |
20 | + namespace Parameters { | |
21 | + | |
22 | + class MLTProcess : public AMDA::Parameters::SingleParamProcess_CRTP<MLTProcess> { | |
23 | + public: | |
24 | + MLTProcess(Parameter ¶meter); | |
25 | + MLTProcess(const MLTProcess& pProcess, Parameter& pParameter); | |
26 | + virtual ~MLTProcess(); | |
27 | + | |
28 | + /** | |
29 | + * @overload DataWriter::init() | |
30 | + */ | |
31 | + TimeStamp init(); | |
32 | + | |
33 | + }; | |
34 | + | |
35 | + } | |
36 | +} | |
37 | +#endif /* MLTPROCESS_HH */ | |
38 | + | ... | ... |
src/ExternLib/Maglib/MaglibCreator.hh
... | ... | @@ -14,6 +14,189 @@ |
14 | 14 | #ifndef MAGLIBCREATOR_HH |
15 | 15 | #define MAGLIBCREATOR_HH |
16 | 16 | |
17 | +#include "ParamData.hh" | |
18 | +#include "VisitorOfParamData.hh" | |
19 | +#include "Posmag.hh" | |
20 | + | |
21 | +namespace AMDA { | |
22 | +namespace Parameters { | |
23 | + | |
24 | + class MaglibCreator : public VisitorOfParamData { | |
25 | + public: | |
26 | + | |
27 | + MaglibCreator(Process& pProcess, ParamData& paramInput, std::string output, std::string isatex, std::string magout) : | |
28 | + _process(pProcess), _paramData(paramInput), _operation(NULL), _output(output) { | |
29 | + _paramData.accept(*this); | |
30 | + | |
31 | + if (std::stoi(isatex) == 0 || std::stoi(isatex) == 1) { | |
32 | + _isatex = std::stoi(isatex); | |
33 | + } else { | |
34 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg(" Not handled in the Mablib")); | |
35 | + } | |
36 | + if (std::stoi(magout) >= 0 && std::stoi(magout) <= 3) { | |
37 | + _magout = std::stoi(magout); | |
38 | + } else { | |
39 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg(" Not handled in the Mablib")); | |
40 | + } | |
41 | + } | |
42 | + | |
43 | + /** | |
44 | + * @overload VisitorOfParamData::visit(ParamDataScalaireShort *) | |
45 | + */ | |
46 | + void visit(ParamDataScalaireShort *) { | |
47 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataScalaireShort data not supported")); | |
48 | + } | |
49 | + | |
50 | + /** | |
51 | + * @overload VisitorOfParamData::visit(ParamDataScalaireFloat *) | |
52 | + */ | |
53 | + void visit(ParamDataScalaireFloat *) { | |
54 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataScalaireFloat data not supported")); | |
55 | + } | |
56 | + | |
57 | + /** | |
58 | + * @overload VisitorOfParamData::visit(ParamDataScalaireDouble *) | |
59 | + */ | |
60 | + void visit(ParamDataScalaireDouble *) { | |
61 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataScalaireDouble data not supported")); | |
62 | + } | |
63 | + | |
64 | + /** | |
65 | + * @overload VisitorOfParamData::visit(ParamDataScalaireLongDouble *) | |
66 | + */ | |
67 | + void visit(ParamDataScalaireLongDouble *) { | |
68 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataScalaireLongDouble data not supported")); | |
69 | + } | |
70 | + | |
71 | + /** | |
72 | + * @overload VisitorOfParamData::visit(ParamDataScalaireInt *) | |
73 | + */ | |
74 | + void visit(ParamDataScalaireInt *) { | |
75 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataScalaireInt data not supported")); | |
76 | + } | |
77 | + | |
78 | + /** | |
79 | + * @overload VisitorOfParamData::visit(ParamDataLogicalData *) | |
80 | + */ | |
81 | + void visit(ParamDataLogicalData *) { | |
82 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataLogicalData data not supported")); | |
83 | + } | |
84 | + | |
85 | + /** | |
86 | + * @overload VisitorOfParamData::visit(ParamDataTab1DShort *) | |
87 | + */ | |
88 | + void visit(ParamDataTab1DShort *) { | |
89 | + create<short>(); | |
90 | + } | |
91 | + | |
92 | + /** | |
93 | + * @overload VisitorOfParamData::visit(ParamDataTab1DFloat *) | |
94 | + */ | |
95 | + void visit(ParamDataTab1DFloat *) { | |
96 | + create<float>(); | |
97 | + } | |
98 | + | |
99 | + /** | |
100 | + * @overload VisitorOfParamData::visit(ParamDataTab1DDouble *) | |
101 | + */ | |
102 | + void visit(ParamDataTab1DDouble *) { | |
103 | + create<double>(); | |
104 | + } | |
105 | + | |
106 | + /** | |
107 | + * @overload VisitorOfParamData::visit(ParamDataTab1DLongDouble *) | |
108 | + */ | |
109 | + void visit(ParamDataTab1DLongDouble *) { | |
110 | + create<long double>(); | |
111 | + } | |
112 | + | |
113 | + /** | |
114 | + * @overload VisitorOfParamData::visit(ParamDataTab1DInt *) | |
115 | + */ | |
116 | + void visit(ParamDataTab1DInt *) { | |
117 | + create<int>(); | |
118 | + } | |
119 | + | |
120 | + /** | |
121 | + * @overload VisitorOfParamData::visit(ParamDataTab1DLogicalData *) | |
122 | + */ | |
123 | + void visit(ParamDataTab1DLogicalData *) { | |
124 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab1DLogicalData data not supported")); | |
125 | + } | |
126 | + | |
127 | + /** | |
128 | + * @overload VisitorOfParamData::visit(ParamDataTab2DShort *) | |
129 | + */ | |
130 | + void visit(ParamDataTab2DShort *) { | |
131 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DShort data not supported")); | |
132 | + } | |
133 | + | |
134 | + /** | |
135 | + * @overload VisitorOfParamData::visit(ParamDataTab2DFloat *) | |
136 | + */ | |
137 | + void visit(ParamDataTab2DFloat *) { | |
138 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DFloat data not supported")); | |
139 | + } | |
140 | + | |
141 | + /** | |
142 | + * @overload VisitorOfParamData::visit(ParamDataTab2DDouble *) | |
143 | + */ | |
144 | + void visit(ParamDataTab2DDouble *) { | |
145 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DDouble data not supported")); | |
146 | + } | |
147 | + | |
148 | + /** | |
149 | + * @overload VisitorOfParamData::visit(ParamDataTab2DLongDouble *) | |
150 | + */ | |
151 | + void visit(ParamDataTab2DLongDouble *) { | |
152 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DLongDouble data not supported")); | |
153 | + } | |
154 | + | |
155 | + /** | |
156 | + * @overload VisitorOfParamData::visit(ParamDataTab2DInt *) | |
157 | + */ | |
158 | + void visit(ParamDataTab2DInt *) { | |
159 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DInt data not supported")); | |
160 | + } | |
161 | + | |
162 | + /** | |
163 | + * @overload VisitorOfParamData::visit(ParamDataTab2DLogicalData *) | |
164 | + */ | |
165 | + void visit(ParamDataTab2DLogicalData *) { | |
166 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg("ParamDataTab2DLogicalData data not supported")); | |
167 | + } | |
168 | + | |
169 | + /** | |
170 | + * @brief get the TimeShifted parameterized operation. | |
171 | + */ | |
172 | + Operation * getOperation() const { | |
173 | + return _operation; | |
174 | + } | |
175 | + | |
176 | + template <typename DataType> | |
177 | + void create() { | |
178 | + | |
179 | + if (_output == "mlt") | |
180 | + _operation = new MLT<DataType>(_process, dynamic_cast<ParamDataSpec<std::vector<DataType> >&> (_paramData), _isatex, _magout); | |
181 | + else if (_output == "invlat") | |
182 | + _operation = new InvLat<DataType>(_process, dynamic_cast<ParamDataSpec<std::vector<DataType> >&> (_paramData), _isatex, _magout); | |
183 | + else if (_output == "lparam") | |
184 | + _operation = new Lparam<DataType>(_process, dynamic_cast<ParamDataSpec<std::vector<DataType> >&> (_paramData), _isatex, _magout); | |
185 | + else | |
186 | + BOOST_THROW_EXCEPTION(AMDA::AMDA_exception() << AMDA::errno_code(AMDA_ERROR_UNKNOWN) << AMDA::ex_msg(" output type not supported")); | |
187 | + | |
188 | + } | |
189 | + | |
190 | + private: | |
191 | + Process &_process; | |
192 | + ParamData &_paramData; | |
193 | + Operation *_operation; | |
194 | + std::string _output; | |
195 | + int _isatex; | |
196 | + int _magout; | |
197 | + }; | |
198 | + } | |
199 | +} | |
17 | 200 | |
18 | 201 | |
19 | 202 | #endif /* MAGLIBCREATOR_HH */ | ... | ... |
src/ExternLib/Maglib/MaglibWarpper.hh
... | ... | @@ -23,10 +23,9 @@ namespace AMDA { |
23 | 23 | class maglibWarpper { |
24 | 24 | public: |
25 | 25 | |
26 | - static void getPosmag(int iyear, int imonth, int iday, int ihour, int imin, int isec, float* rrmag, float* thetr, float* phir, | |
27 | - int* isatex, int* magout, float* xgsm, float* ygsm, float* zgsm, float* xgse, float* ygse, float* zgse, float* tgl, | |
28 | - float* flg, float* xlambr, float* tglc, float* hsl, float* clatgmr, float* clongmr, float * iposmg[15], int* ifai) | |
29 | - { | |
26 | + static void getPosmag(int iyear, int imonth, int iday, int ihour, int imin, int isec, float& rrmag, float& thetr, float& phir, | |
27 | + int& isatex, int& magout, float& xgsm, float& ygsm, float& zgsm, float& xgse, float& ygse, float& zgse, float& tgl, | |
28 | + float& flg, float& xlambr, float& tglc, float& hsl, float& clatgmr, float& clongmr, std::vector<int>& iposmg, int& ifai) { | |
30 | 29 | /** |
31 | 30 | * |
32 | 31 | * @param iyear enre 2000 et 2015 |
... | ... | @@ -44,17 +43,21 @@ i * isatex : 1 = satellite excentrique (apogee > |
44 | 43 | // declaration |
45 | 44 | |
46 | 45 | int ifail; |
46 | + int iposmg_o [15]; | |
47 | 47 | |
48 | 48 | float rig[3][3], rgi[3][3], rgsm[3][3], rsmg[3][3], rggsm[3][3], rgsmg[3][3], rgse[3][3], rseg[3][3]; |
49 | 49 | float rgdip[3][3], rdipg[3][3], rigsm[3][3], rgsmi[3][3]; |
50 | 50 | float alfag, alfas, deltas, tilt, tetdip, phidip, year; |
51 | - | |
51 | + | |
52 | 52 | valfix_(ifail); |
53 | 53 | inigeom_(iyear, imonth, iday, ihour, imin, isec, year, alfag, tetdip, phidip, alfas, deltas, rig, rgi, rgdip, rdipg, rgsm, |
54 | 54 | rsmg, tilt, rggsm, rgsmg, rgse, rseg, rigsm, rgsmi, ifail); |
55 | 55 | |
56 | 56 | posmag_(magout, isatex, year, rrmag, thetr, phir, alfag, alfas, deltas, tilt, rgsm, rggsm, rgsmg, rgdip, rgse, tetdip, |
57 | - phidip, xgsm, ygsm, zgsm, xgse, ygse, zgse, tgl, flg, xlambr, tglc, hsl, clatgmr, clongmr, iposmg, ifail); | |
57 | + phidip, xgsm, ygsm, zgsm, xgse, ygse, zgse, tgl, flg, xlambr, tglc, hsl, clatgmr, clongmr, iposmg_o, ifail); | |
58 | + | |
59 | + for (int i = 0; i < iposmg_o.size(); i++) | |
60 | + iposmg[i] = iposmg_o[i]; | |
58 | 61 | |
59 | 62 | } |
60 | 63 | }; | ... | ... |
src/ExternLib/Maglib/Posmag.hh
... | ... | @@ -19,12 +19,13 @@ |
19 | 19 | #include "ParamData.hh" |
20 | 20 | #include "DataTypeMath.hh" |
21 | 21 | #include "Operation.hh" |
22 | -#include "SpiceKernelMgr.hh" | |
23 | 22 | #include <vector> |
24 | 23 | |
25 | 24 | namespace AMDA { |
26 | 25 | namespace Parameters { |
27 | 26 | |
27 | + using namespace std; | |
28 | + | |
28 | 29 | template<typename DataType, class TOutputParamData> |
29 | 30 | class Posmag : public Operation { |
30 | 31 | public: |
... | ... | @@ -68,7 +69,7 @@ namespace AMDA { |
68 | 69 | |
69 | 70 | vector<DataType> in = _paramInput.getDataList()[_index]; |
70 | 71 | double crtTime = _paramInput.getTime(_index); |
71 | - ime_t timestamp = crtTime; | |
72 | + time_t timestamp = crtTime; | |
72 | 73 | struct tm *tmp; |
73 | 74 | tmp = gmtime(×tamp); |
74 | 75 | float i_rrmag = in[0]; |
... | ... | @@ -101,25 +102,32 @@ namespace AMDA { |
101 | 102 | */ |
102 | 103 | |
103 | 104 | float xgsm, ygsm, zgsm, xgse, ygse, zgse, tgl, |
104 | - flg, xlambr, tglc, hsl, fclatgmr, clongmr, | |
105 | - tgl, flg, xlambr, tglc, hsl, clatgmr, clongmr, xlamb, clatgm, clongm; | |
105 | + flg, xlamb, tglc, hsl, clatgmr, clongmr; | |
106 | + | |
106 | 107 | int ifail; |
107 | - int iposmg[15]; | |
108 | + std::vector<int> iposmg; | |
109 | + iposmg.resize(15); | |
108 | 110 | |
109 | 111 | /** |
110 | - static void getPosmag(int iyear, int imonth, int iday, int ihour, int imin, int isec, float* rrmag, float* thetr, float* phir, | |
111 | - int* isatex, int* magout, float* xgsm, float* ygsm, float* zgsm, float* xgse, float* ygse, float* zgse, float* tgl, | |
112 | - float* flg, float* xlambr, float* tglc, float* hsl, float* clatgmr, float* clongmr, float * iposmg[15], int* ifai) | |
112 | + static void getPosmag(int iyear, int imonth, int iday, int ihour, int imin, int isec, | |
113 | + * float* rrmag, float* thetr, float* phir, | |
114 | + int* isatex, int* magout, float* | |
115 | + * xgsm, float* ygsm, float* zgsm, | |
116 | + * float* xgse, float* ygse, float* zgse, | |
117 | + * float* tgl, float* flg, float* xlambr, float* tglc, float* hsl, float* clatgmr, float* clongmr, float * iposmg[15], int* ifai) | |
113 | 118 | */ |
114 | 119 | |
115 | - maglib::maglibWarpper::getPosmag(1900 + tmp->tm_year, 1 + tmp->tm_yday, tmp->tm_hour, | |
116 | - tmp->tm_min, tmp->tm_sec, i_rrmag, i_thetr, i_phir, _isatex, _magout, xgsm, ygsm, zgsm, xgse, ygse, zgse, tgl, | |
117 | - flg, xlambr, tglc, hsl, fclatgmr, clongmr, iposmg, ifail); | |
118 | - | |
120 | + maglib::maglibWarpper::getPosmag(1900 + tmp->tm_year, 1 + tmp->tm_mon, tmp->tm_mday, tmp->tm_hour, tmp->tm_min, tmp->tm_sec, | |
121 | + i_rrmag, i_thetr, i_phir, | |
122 | + _isatex, _magout, | |
123 | + xgsm, ygsm, zgsm, | |
124 | + xgse, ygse, zgse, | |
125 | + tgl, flg, xlamb, tglc, hsl, clatgmr, clongmr, iposmg, ifail); | |
126 | + | |
119 | 127 | DataType tgl_res = (DataType) tgl; |
120 | 128 | DataType xlamb_res = (DataType) xlamb; |
121 | 129 | DataType flg_res = (DataType) flg; |
122 | - _paramOutput->pushTime(crtTime); | |
130 | + _paramOutput->pushTime(crtTime); | |
123 | 131 | pushData(tgl_res, xlamb_res, flg_res); |
124 | 132 | } |
125 | 133 | |
... | ... | @@ -128,63 +136,66 @@ namespace AMDA { |
128 | 136 | virtual void pushData(DataType tgl, DataType xlamb, DataType flg) = 0; |
129 | 137 | |
130 | 138 | protected: |
139 | + ParamDataSpec<std::vector<DataType> >& _paramInput; | |
140 | + ParamDataSpec<DataType>* _paramOutput; | |
131 | 141 | int _isatex; |
132 | 142 | int _magout; |
133 | - private: | |
134 | - ParamDataSpec<std::vector<DataType> >& _paramInput; | |
135 | - ParamDataSpec<DataType>* _paramOutput; | |
143 | + | |
136 | 144 | }; |
137 | - | |
145 | + | |
138 | 146 | /** |
139 | 147 | * Ecriture de temps geomagnetique local du satellite (heure fractionnée) |
140 | 148 | */ |
141 | 149 | template<typename DataType> |
142 | - class MLT : public Posmag<DataType, ParamDataSpec < DataType > >{ | |
143 | - | |
144 | - MLT(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout): | |
145 | - Posmag<DataType, ParamDataSpec < DataType > > :: Posmag(pProcess, paramInput, isatex, magout){ | |
146 | - } | |
147 | - | |
148 | - void pushData(DataType tgl, DataType /*xlamb*/, DataType /*flg*/){ | |
149 | - | |
150 | - Posmag<DataType, ParamDataSpec < DataType > > :: _paramDataOutput.getDataList().push_back(tgl); | |
151 | - } | |
150 | + class MLT : public Posmag<DataType, ParamDataSpec < DataType > > { | |
151 | + public: | |
152 | + | |
153 | + MLT(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout) : | |
154 | + Posmag<DataType, ParamDataSpec < DataType > > ::Posmag(pProcess, paramInput, isatex, magout) { | |
155 | + } | |
156 | + | |
157 | + void pushData(DataType tgl, DataType /*xlamb*/, DataType /*flg*/) { | |
158 | + | |
159 | + Posmag<DataType, ParamDataSpec < DataType > > ::_paramOutput->getDataList().push_back(tgl); | |
160 | + } | |
152 | 161 | }; |
153 | - | |
154 | - /** | |
162 | + | |
163 | + /** | |
155 | 164 | * Ecriture de invariant latitude |
156 | 165 | */ |
157 | 166 | template<typename DataType> |
158 | - class InvLat : public Posmag<DataType, ParamDataSpec < DataType > >{ | |
159 | - | |
160 | - InvLat(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout): | |
161 | - Posmag<DataType, ParamDataSpec < DataType > > :: Posmag(pProcess, paramInput, isatex, magout){ | |
162 | - } | |
163 | - | |
164 | - void pushData(DataType /*tgl*/, DataType xlamb, DataType /*flg*/){ | |
165 | - | |
166 | - Posmag<DataType, ParamDataSpec < DataType > > :: _paramDataOutput.getDataList().push_back(xlamb); | |
167 | - } | |
167 | + class InvLat : public Posmag<DataType, ParamDataSpec < DataType > > { | |
168 | + public: | |
169 | + | |
170 | + InvLat(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout) : | |
171 | + Posmag<DataType, ParamDataSpec < DataType > > ::Posmag(pProcess, paramInput, isatex, magout) { | |
172 | + } | |
173 | + | |
174 | + void pushData(DataType /*tgl*/, DataType xlamb, DataType /*flg*/) { | |
175 | + | |
176 | + Posmag<DataType, ParamDataSpec < DataType > > ::_paramOutput->getDataList().push_back(xlamb); | |
177 | + } | |
168 | 178 | }; |
169 | - | |
170 | - /** | |
179 | + | |
180 | + /** | |
171 | 181 | * Ecriture du parametre L |
172 | 182 | */ |
173 | 183 | template<typename DataType> |
174 | - class Lparam : public Posmag<DataType, ParamDataSpec < DataType > >{ | |
175 | - | |
176 | - Lparam(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout): | |
177 | - Posmag<DataType, ParamDataSpec < DataType > > :: Posmag(pProcess, paramInput, isatex, magout){ | |
178 | - } | |
179 | - | |
180 | - void pushData(DataType /*tgl*/, DataType /*xlamb*/, DataType flg){ | |
181 | - | |
182 | - Posmag<DataType, ParamDataSpec < DataType > > :: _paramDataOutput.getDataList().push_back(flg); | |
183 | - } | |
184 | + class Lparam : public Posmag<DataType, ParamDataSpec < DataType > > { | |
185 | + public: | |
186 | + | |
187 | + Lparam(Process& pProcess, ParamDataSpec<vector<DataType> >& paramInput, int isatex, int magout) : | |
188 | + Posmag<DataType, ParamDataSpec < DataType > > ::Posmag(pProcess, paramInput, isatex, magout) { | |
189 | + } | |
190 | + | |
191 | + void pushData(DataType /*tgl*/, DataType /*xlamb*/, DataType flg) { | |
192 | + | |
193 | + Posmag<DataType, ParamDataSpec < DataType > > ::_paramOutput->getDataList().push_back(flg); | |
194 | + } | |
184 | 195 | }; |
185 | - | |
196 | + | |
186 | 197 | } |
187 | - | |
198 | + | |
188 | 199 | } |
189 | 200 | |
190 | 201 | ... | ... |