#ifndef SCENARIOGENERATOR_H #define SCENARIOGENERATOR_H #include #include #include #include "model/ultrasoundModule/UsModule.h" #include "model/scenarioGenerator/core/ScenGenCore.h" #include "model/scenarioGenerator/core/ComputationalCore.h" /*************************************************************************************************/ /** * @brief This class is responsible for gathering user and system inputs and generate desired output * for all of the system based on system provided algorithm * @author Hessamoddin Hediyehloo(H-4nd-H) * @date 2020/08/22(1399/6/1) */ /*************************************************************************************************/ class ScenarioGenerator : public UsModule { Q_OBJECT US_MODULE SINGLETON(ScenarioGenerator) private: ScenGenCore* _core; ComputationalCore* _computationalCore; ScenarioGenerator(); ~ScenarioGenerator() override; ScenGenSystemParameters_t getSystemParameters(); void getApodization(ScenGenDatabase_t& database); void getLpf(ScenGenDatabase_t& database); void getLineFilter(ScenGenDatabase_t& database); ScenGenDatabase_t getScenGenDatabase(); template T translateDatabaseData(const QList result); void sendScenGenSoftwareUpdateCommand(); void processScenGenCommand(bool result, const CommandRequest& request); //uncrustify off public slots: void newSoftwareScenario(); void newHardwareScenario(); void newAo(quint32 ao); void newDtgc(QVector dtgc); void newLineFilter(QVector lineFilter); //uncrustify on }; #endif //SCENARIOGENERATOR_H