Blame view

src/ExternLib/InternalField/InternalFields_PolProcess.cc 2.6 KB
9a4854f9   Erdogan Furkan   Implémentation de...
1
2
3
4
5
6
7
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/*
55904ce1   Erdogan Furkan   Some corrections ...
8
9
 * File:   InternalFields_PolProcess.cc
 * Author: Furkan - AKKA I&S
9a4854f9   Erdogan Furkan   Implémentation de...
10
 *
55904ce1   Erdogan Furkan   Some corrections ...
11
 * Created on July 5, 2022, 4:14 PM
9a4854f9   Erdogan Furkan   Implémentation de...
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
 */
#include <stdlib.h>
#include <string>

#include "Operation.hh"
#include "ParameterManager.hh"
#include "ParameterCreatorFromExpression.hh"
#include "InternalFields_PolProcess.hh"
#include "InternalFieldsCreator.hh"

namespace AMDA
{
    namespace Parameters
    {

        InternalFields_PolProcess::InternalFields_PolProcess(Parameter &parameter) : SingleParamProcess_CRTP(parameter)
        {
        }

        InternalFields_PolProcess::InternalFields_PolProcess(const InternalFields_PolProcess &pProcess, Parameter &parameter) : SingleParamProcess_CRTP(pProcess, parameter)
        {
        }

        TimeStamp InternalFields_PolProcess::init()
        {

            TimeStamp timeStamp = _parameterInput->init(this, _timeIntervalList);
9a4854f9   Erdogan Furkan   Implémentation de...
39
40
41
42
            Parameter::InfoList lInfoList = _parameterInput->getInfoList();
            _parameter.getInfoList().insert(lInfoList.begin(), lInfoList.end());
            _paramInput = _parameterInput->getParamData(this).get();

55904ce1   Erdogan Furkan   Some corrections ...
43
            /* Get the modelname and the boolean for the use or not of Con2020 */
6b9283bc   Erdogan Furkan   Ajout de Con2020,...
44
            std::string modelname;
6b9283bc   Erdogan Furkan   Ajout de Con2020,...
45
            if (_attributList.size() == 2)
9a4854f9   Erdogan Furkan   Implémentation de...
46
47
48
49
50
51
52
53
54
            {
                switch (std::stoi(_attributList[0]))
                {
                case 0:
                    modelname = "jrm09";
                    break;
                case 1:
                    modelname = "jrm33";
                    break;
b1e1296b   Erdogan Furkan   Last changes
55
56
57
                case 2:
                    modelname = "isaac";
                    break;
9a4854f9   Erdogan Furkan   Implémentation de...
58
59
60
61
                default:
                    modelname = "jrm09";
                    break;
                }
e634d5f9   Erdogan Furkan   Some changes
62
63
                if (std::stoi(_attributList[1]) >= 0 && std::stoi(_attributList[1]) <= 3) // 0: no Con2020, 1 : Analytic, 2: Integral, 3: Hybrid
                    _addCon2020 = std::stoi(_attributList[1]);
6b9283bc   Erdogan Furkan   Ajout de Con2020,...
64
                else
e634d5f9   Erdogan Furkan   Some changes
65
                    _addCon2020 = 0;
9a4854f9   Erdogan Furkan   Implémentation de...
66
            }
55904ce1   Erdogan Furkan   Some corrections ...
67
68
            /* Creation of the operation */
            
6b9283bc   Erdogan Furkan   Ajout de Con2020,...
69
            InternalFieldsCreator lCreator(*this, *_paramInput, "pol", modelname, _addCon2020);
9a4854f9   Erdogan Furkan   Implémentation de...
70
71
72
73
74
75
76
77
78
79
80
            _operation = lCreator.getOperation();
            _paramData = ParamDataSPtr(_operation->getParamOutput());
            _paramData->setMinSampling(_paramInput->getMinSampling());
            return timeStamp;
        }

        InternalFields_PolProcess::~InternalFields_PolProcess()
        {
        }
    }
}