Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PhxElectroMagDetector2D.hpp
Go to the documentation of this file.
1 /*
2  * PhxElectroMagDetector2D.hpp
3  *
4  * Created on: Jan 8, 2015
5  * Author: imabit
6  */
7 
8 #ifndef PHXELECTROMAGDETECTOR2D_HPP_
9 #define PHXELECTROMAGDETECTOR2D_HPP_
10 
11 #include "../../../common/common.hpp"
12 #include "DetectorBase.hpp"
13 #include "DetectorFactoryReg.hpp"
14 #include <cmath>
15 #include "../cells/ElectroMagCells2D.hpp"
16 
17 namespace phoxonics {
18 namespace core {
19 
21 public:
23  virtual ~PhxElectroMagDetector2D();
24 
25  // configures object and initializes data from config
26  void configure(std::shared_ptr<ConfigBase> config_base) override final;
27 
28  // prints object data
29  void print_me() override final;
30 
31  // initialize detector
32  void init_detector() override final;
33 
34  // apply detector logic
35  void apply_detector(std::shared_ptr<CellsBase> cells_base, double time) override final;
36 
37  // calculate amplitud and fase
38  void calculate_amplitude_phase() override final;
39 
40  // records detector data in hdf5 format
41  void record_hdf5_detector() override final;
42 
43 private:
44  // casted cells
45  std::shared_ptr<ElectroMagCells2D> em_cells_2d_;
46 
47  std::string str_omegas_ { "" };
48  int n_omegas_ { 0 };
49 };
50 
51 } /* namespace core */
52 } /* namespace phoxonics */
53 
54 #endif /* PHXELECTROMAGDETECTOR2D_HPP_ */
void calculate_amplitude_phase() overridefinal
Definition: PhxElectroMagDetector2D.cpp:97
Definition: CommonBase.hpp:14
void apply_detector(std::shared_ptr< CellsBase > cells_base, double time) overridefinal
Definition: PhxElectroMagDetector2D.cpp:55
void init_detector() overridefinal
Definition: PhxElectroMagDetector2D.cpp:109
PhxElectroMagDetector2D()
Definition: PhxElectroMagDetector2D.cpp:15
void record_hdf5_detector() overridefinal
Definition: PhxElectroMagDetector2D.cpp:119
Definition: DetectorBase.hpp:22
void print_me() overridefinal
Definition: PhxElectroMagDetector2D.cpp:50
virtual ~PhxElectroMagDetector2D()
Definition: PhxElectroMagDetector2D.cpp:19
virtual void configure()
Definition: SimulationItemBase.cpp:21
Definition: PhxElectroMagDetector2D.hpp:20