/* * GetJunoJediEnergyProcess.hh * * Created on: Aug 25, 2017 * Author: AKKA */ #ifndef GetJunoJedoEnergyProcess_HH_ #define GetJunoJediEnergyProcess_HH_ #include "SingleParamProcess.hh" namespace AMDA { namespace JunoJedi { /** * @class GetJunoJediEnergyProcess * @brief Return the energy table of Juno Jedi instrument. */ class GetJunoJediEnergyProcess : public AMDA::Parameters::SingleParamProcess_CRTP { public: enum EnergyBand { BAND_LOWER, BAND_UPPER }; /** * @brief Constructor. */ GetJunoJediEnergyProcess(AMDA::Parameters::Parameter ¶meter, EnergyBand energy_band); /** * @brief Copy Constructor. */ GetJunoJediEnergyProcess(const GetJunoJediEnergyProcess& pProcess, AMDA::Parameters::Parameter &pParameter) ; /** * @brief Destructor. */ ~GetJunoJediEnergyProcess(); // Overload Process methods /** * @overload Process::init() */ AMDA::Parameters::TimeStamp init(); private: EnergyBand _energy_band; }; class GetJunoJediLowerEnergyProcess : public GetJunoJediEnergyProcess { public: /** * @brief Constructor. */ GetJunoJediLowerEnergyProcess(AMDA::Parameters::Parameter ¶meter); }; class GetJunoJediUpperEnergyProcess : public GetJunoJediEnergyProcess { public: /** * @brief Constructor. */ GetJunoJediUpperEnergyProcess(AMDA::Parameters::Parameter ¶meter); }; } /* namespace JunoJedi */ } /* namespace AMDA */ #endif /* GetJunoJediEnergyProcess_HH_ */