Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ConfigValidator.hpp
Go to the documentation of this file.
1 /*
2  * ConfigValidator.hpp
3  *
4  * Created on: Nov 29, 2014
5  * Author: cuda
6  */
7 
8 #ifndef CONFIGVALIDATOR_HPP_
9 #define CONFIGVALIDATOR_HPP_
10 
11 #include "SimulationConfig.hpp"
12 #include "MainConfig.hpp"
13 #include "GridConfig.hpp"
14 #include "CellConfig.hpp"
15 #include "SourceConfig.hpp"
16 #include "DetectorConfig.hpp"
17 #include "PmlConfig.hpp"
18 #include "EngineConfig.hpp"
19 #include "GeometryConfig.hpp"
20 #include "../common/SimulationItemBase.hpp"
21 #include "../common/Vector3D.hpp"
22 #include "../../../common/common.hpp"
23 
24 #include <string>
25 #include <vector>
26 
27 namespace phoxonics {
28 namespace core {
29 
31 public:
32  explicit ConfigValidator();
33  virtual ~ConfigValidator();
34 
35  void validate_main_config(MainConfig& main_config);
37 
38 private:
39  void validate_grid_config(SimulationConfig& sim_config);
40  void validate_cell_config(SimulationConfig& sim_config);
41  void validate_source_configs(SimulationConfig& sim_config);
42  void validate_detector_configs(SimulationConfig& sim_config);
43  void validate_pml_config(SimulationConfig& sim_config);
44  void validate_geometry_configs(SimulationConfig& sim_config);
45  void validate_engine_config(SimulationConfig& sim_config);
46 
47  void validate_size(std::string config_section, int dims, Vector3D& size, Vector3D& grid_size);
48  void validate_location(std::string config_section, int dims, Vector3D& location,
49  Vector3D& size, Vector3D& grid_size);
50  void validate_option(std::string config_section, std::string config_prop, std::string option,
51  std::vector<std::string> options, bool exact, bool reverse_option);
52  void validate_thickness(std::string config_section, int dims, Vector3D& thickness,
53  Vector3D& grid_size);
54 };
55 
56 } /* namespace core */
57 } /* namespace phoxonics */
58 
59 #endif /* CONFIGVALIDATOR_HPP_ */
void validate_sim_config(SimulationConfig &sim_config)
Definition: ConfigValidator.cpp:29
Definition: MainConfig.hpp:16
Definition: ConfigValidator.hpp:30
Definition: CommonBase.hpp:14
Definition: SimulationConfig.hpp:33
std::shared_ptr< SimulationConfig > sim_config
Definition: SimulationItemBase.hpp:25
ConfigValidator()
Definition: ConfigValidator.cpp:13
virtual ~ConfigValidator()
Definition: ConfigValidator.cpp:17
Definition: SimulationItemBase.hpp:22
Definition: Vector3D.hpp:19
void validate_main_config(MainConfig &main_config)
Definition: ConfigValidator.cpp:21