Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ElectroMagDetector2D.hpp
Go to the documentation of this file.
1 /*
2  * ElectroMagDetector2D.hpp
3  *
4  * Created on: Dec 2, 2014
5  * Author: nano
6  */
7 
8 #ifndef ELECTROMAGDETECTOR2D_HPP_
9 #define ELECTROMAGDETECTOR2D_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:
22  explicit ElectroMagDetector2D();
23  virtual ~ElectroMagDetector2D();
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  // apply detector logic
32  void apply_detector(std::shared_ptr<CellsBase> cells_base, double time) override final;
33 
34  // calculate amplitud and fase
35  void calculate_amplitude_phase() override final;
36 
37  // records detector data in hdf5 format
38  void record_hdf5_detector() override final;
39 
40 private:
41  // casted cells
42  std::shared_ptr<ElectroMagCells2D> em_cells_2d_;
43 };
44 
45 } /* namespace core */
46 } /* namespace phoxonics */
47 
48 #endif /* ELECTROMAGDETECTOR2D_HPP_ */
void record_hdf5_detector() overridefinal
Definition: ElectroMagDetector2D.cpp:101
Definition: CommonBase.hpp:14
void calculate_amplitude_phase() overridefinal
Definition: ElectroMagDetector2D.cpp:85
virtual ~ElectroMagDetector2D()
Definition: ElectroMagDetector2D.cpp:19
Definition: DetectorBase.hpp:22
void apply_detector(std::shared_ptr< CellsBase > cells_base, double time) overridefinal
Definition: ElectroMagDetector2D.cpp:53
Definition: ElectroMagDetector2D.hpp:20
virtual void configure()
Definition: SimulationItemBase.cpp:21
ElectroMagDetector2D()
Definition: ElectroMagDetector2D.cpp:15
void print_me() overridefinal
Definition: ElectroMagDetector2D.cpp:48