Phoxonics  1.0
Object Oriented FDTD Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
DetectorBase.hpp
Go to the documentation of this file.
1 /*
2  * DetectorBase.hpp
3  *
4  * Created on: Dec 2, 2014
5  * Author: nano
6  */
7 
8 #ifndef DETECTORBASE_HPP_
9 #define DETECTORBASE_HPP_
10 
11 #include "../config/SimulationConfig.hpp"
12 #include "../common/SimulationItemBase.hpp"
13 #include "../cells/CellsBase.hpp"
14 #include "../../../common/common.hpp"
15 #include "DetectorData.hpp"
16 #include <memory>
17 #include <vector>
18 
19 namespace phoxonics {
20 namespace core {
21 
23 public:
24  explicit DetectorBase();
25  virtual ~DetectorBase();
26 
27  std::string component { "" };
30  std::vector<DetectorData> data;
31  std::string h5_data_file { "" };
32  std::string h5_dataset_name { "" };
33 
34  // a configures object and initializes data from config
35  virtual void configure(std::shared_ptr<ConfigBase> config_base) override;
36 
37  // prints object data
38  virtual void print_me() override;
39 
40  // initialize detector
41  virtual void init_detector();
42 
43  // apply detector logic
44  virtual void apply_detector(std::shared_ptr<CellsBase> cells_base, double time);
45 
46  // calculate phase and amplitude of detector
47  virtual void calculate_amplitude_phase();
48 
49  // records detector data in hdf5 format
50  virtual void record_hdf5_detector();
51 
52  std::string h5_coord_data_file();
53 };
54 
55 } /* namespace core */
56 } /* namespace phoxonics */
57 
58 #endif /* DETECTORBASE_HPP_ */
std::vector< DetectorData > data
Definition: DetectorBase.hpp:30
virtual ~DetectorBase()
Definition: DetectorBase.cpp:17
virtual void record_hdf5_detector()
Definition: DetectorBase.cpp:63
Definition: CommonBase.hpp:14
DetectorBase()
Definition: DetectorBase.cpp:13
virtual void init_detector()
Definition: DetectorBase.cpp:50
std::string component
Definition: DetectorBase.hpp:27
Vector3D location
Definition: DetectorBase.hpp:28
virtual void apply_detector(std::shared_ptr< CellsBase > cells_base, double time)
Definition: DetectorBase.cpp:54
Definition: SimulationItemBase.hpp:22
std::string h5_data_file
Definition: DetectorBase.hpp:31
Definition: DetectorBase.hpp:22
Definition: Vector3D.hpp:19
std::string h5_coord_data_file()
Definition: DetectorBase.cpp:67
Vector3D size
Definition: DetectorBase.hpp:29
virtual void configure()
Definition: SimulationItemBase.cpp:21
virtual void print_me() override
Definition: DetectorBase.cpp:34
virtual void calculate_amplitude_phase()
Definition: DetectorBase.cpp:59
std::string h5_dataset_name
Definition: DetectorBase.hpp:32