Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SimulationConfig.hpp
Go to the documentation of this file.
1 /*
2  * SimulationConfig.hpp
3  *
4  * Created on: Jun 26, 2014
5  * Author: nano
6  */
7 
8 #ifndef SIMULATIONCONFIG_HPP_
9 #define SIMULATIONCONFIG_HPP_
10 
11 #include "../data/EmConstants.hpp"
12 #include "MainConfig.hpp"
13 #include "ConfigBase.hpp"
14 #include "GridConfig.hpp"
15 #include "CellConfig.hpp"
16 #include "DetectorConfig.hpp"
17 #include "SourceConfig.hpp"
18 #include "PmlConfig.hpp"
19 #include "EngineConfig.hpp"
20 #include "GeometryConfig.hpp"
21 #include "ConfigFactoryReg.hpp"
22 #include "../common/Vector3D.hpp"
23 #include "../../../common/common.hpp"
24 
25 #include <cmath>
26 #include <vector>
27 #include <string>
28 #include <iostream>
29 
30 namespace phoxonics {
31 namespace core {
32 
33 class SimulationConfig : public ConfigBase {
34 public:
35  explicit SimulationConfig();
36  explicit SimulationConfig(std::string config_type, int simulation_dimensions,
37  std::string medium_material_type, std::string mode);
38  virtual ~SimulationConfig();
39 
40  // print object in console
41  void print_me() override final;
42 
43  std::string simulation_uuid { "" };
44  int simulation_dimensions { 1 };
45  std::string medium_material_type { "" };
46  std::string mode { "" };
47 
49 
52  std::vector<SourceConfig> source_configs;
53  std::vector<DetectorConfig> detector_configs;
55  std::vector<GeometryConfig> geometry_configs;
57 };
58 
59 } /* namespace core */
60 } /* namespace phoxonics */
61 
62 #endif /* SIMULATIONCONFIG_HPP_ */
Definition: CellConfig.hpp:22
std::vector< GeometryConfig > geometry_configs
Definition: SimulationConfig.hpp:55
EngineConfig engine_config
Definition: SimulationConfig.hpp:56
Definition: MainConfig.hpp:16
Definition: CommonBase.hpp:14
Definition: ConfigBase.hpp:20
Definition: SimulationConfig.hpp:33
MainConfig main_config
Definition: SimulationConfig.hpp:48
std::string medium_material_type
Definition: SimulationConfig.hpp:45
std::string mode
Definition: SimulationConfig.hpp:46
void print_me() overridefinal
Definition: SimulationConfig.cpp:35
Definition: EngineConfig.hpp:21
int simulation_dimensions
Definition: SimulationConfig.hpp:44
SimulationConfig()
Definition: SimulationConfig.cpp:15
std::vector< DetectorConfig > detector_configs
Definition: SimulationConfig.hpp:53
std::string config_type
Definition: ConfigBase.hpp:41
PmlConfig pml_config
Definition: SimulationConfig.hpp:54
Definition: GridConfig.hpp:22
virtual ~SimulationConfig()
Definition: SimulationConfig.cpp:31
std::vector< SourceConfig > source_configs
Definition: SimulationConfig.hpp:52
GridConfig grid_config
Definition: SimulationConfig.hpp:50
Definition: PmlConfig.hpp:23
CellConfig cell_config
Definition: SimulationConfig.hpp:51
std::string simulation_uuid
Definition: SimulationConfig.hpp:43