Blame view

src/ExternLib/Tsyganenko96/ProcessTsyganenko96.hh 1.83 KB
8819b2bc   Benjamin Renard   Add plugin Tsygan...
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
/*
 * ProcessTsyganenko96.hh
 *
 *  Created on: Nov 06, 2017
 *      Author: benjamin
 */

#ifndef PROCESSTSYGANENKO96_HH_
#define PROCESSTSYGANENKO96_HH_

#include "SingleParamProcess.hh"
#include "ParamInfo.hh"
#include "Tsyganenko96Creator.hh"

namespace AMDA {
namespace Parameters {

/**
 * @class ProcessTsyganenko96
 * @brief Process to compute Tsyganenko 96 model magnetic field.
 */
class ProcessTsyganenko96 : public SingleParamProcess_CRTP<ProcessTsyganenko96> {

public:
	/**
	 * @brief Constructor.
	 */
d5d85a78   Benjamin Renard   Add process to co...
28
	ProcessTsyganenko96(Parameter &parameter, bool inGSE);
8819b2bc   Benjamin Renard   Add plugin Tsygan...
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
	/**
	 * @brief Copy Constructor.
	 */
	ProcessTsyganenko96(const ProcessTsyganenko96& pProcess, Parameter &pParameter) ;
	/**
	 * @brief Destructor.
	 */
	virtual ~ProcessTsyganenko96();

        /**
	 * @overload Process::establishConnection()
	 */
	virtual void establishConnection();

	/**
	 * @overload Process::init()
	 */
	virtual TimeStamp init();

	/**
	 *  Write data in dataParam.
	 */
        virtual unsigned int write();

protected:
	void getImfData();

	void getPswData();

	void getDstData();

d5d85a78   Benjamin Renard   Add process to co...
60
	bool _inGSE;
8819b2bc   Benjamin Renard   Add plugin Tsygan...
61
62
63
64
65
66
67
68
69
70
71
private:
	/**
	 * @brief params intput
	*/
	ParameterSPtr _inputImfParam;

	ParameterSPtr _inputPswParam;

	ParameterSPtr _inputDstParam;
};

d5d85a78   Benjamin Renard   Add process to co...
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

/**
 * @class ProcessTsyganenko96GSM
 * @brief Process to compute Tsyganenko 96 model magnetic field in GSM.
 */
class ProcessTsyganenko96GSM : public ProcessTsyganenko96 {
public:
	/**
 	 * @brief Constructor.
 	 */
	ProcessTsyganenko96GSM(Parameter &parameter);
};

/**
 * @class ProcessTsyganenko96
 * @brief Process to compute Tsyganenko 96 model magnetic field in GSE.
 */
class ProcessTsyganenko96GSE : public ProcessTsyganenko96 {
public:
	/**
         * @brief Constructor.
         */
	ProcessTsyganenko96GSE(Parameter &parameter);
};

8819b2bc   Benjamin Renard   Add plugin Tsygan...
97
98
99
} /* namespace Parameters */
} /* namespace AMDA */
#endif /* PROCESSMEXVEXELSDECODE_HH_ */