Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ElectroMagDetector1D.hpp
Go to the documentation of this file.
1 /*
2  * ElectroMagDetector1D.hpp
3  *
4  * Created on: Dec 2, 2014
5  * Author: nano
6  */
7 
8 #ifndef ELECTROMAGDETECTOR1D_HPP_
9 #define ELECTROMAGDETECTOR1D_HPP_
10 
11 #include "../../../common/common.hpp"
12 #include "DetectorBase.hpp"
13 #include "DetectorFactoryReg.hpp"
14 #include <cmath>
15 #include "../cells/ElectroMagCells1D.hpp"
16 
17 namespace phoxonics {
18 namespace core {
19 
21 public:
22  explicit ElectroMagDetector1D();
23  virtual ~ElectroMagDetector1D();
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<ElectroMagCells1D> em_cells_1d_;
43 };
44 
45 } /* namespace core */
46 } /* namespace phoxonics */
47 
48 #endif /* ELECTROMAGDETECTOR1D_HPP_ */
void record_hdf5_detector() overridefinal
Definition: ElectroMagDetector1D.cpp:78
void print_me() overridefinal
Definition: ElectroMagDetector1D.cpp:28
Definition: CommonBase.hpp:14
Definition: ElectroMagDetector1D.hpp:20
ElectroMagDetector1D()
Definition: ElectroMagDetector1D.cpp:15
void calculate_amplitude_phase() overridefinal
Definition: ElectroMagDetector1D.cpp:62
virtual ~ElectroMagDetector1D()
Definition: ElectroMagDetector1D.cpp:19
Definition: DetectorBase.hpp:22
virtual void configure()
Definition: SimulationItemBase.cpp:21
void apply_detector(std::shared_ptr< CellsBase > cells_base, double time) overridefinal
Definition: ElectroMagDetector1D.cpp:33