Bayeux  3.4.1
Core Foundation library for SuperNEMO
emfield_geom_plugin.h
Go to the documentation of this file.
1 /* Author(s): François Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2013-02-23
4  * Last modified: 2013-02-23
5  *
6  * License:
7  *
8  * Description:
9  *
10  * emfield plugin for the geomtools geometry manager
11  *
12  * History:
13  *
14  */
15 
16 #ifndef EMFIELD_EMFIELD_GEOM_PLUGIN_H
17 #define EMFIELD_EMFIELD_GEOM_PLUGIN_H 1
18 
19 // Standard library:
20 #include <cstdlib>
21 #include <iostream>
22 #include <string>
23 #include <exception>
24 
25 // Third party:
26 // - Bayeux/datatools:
27 #include <datatools/properties.h>
28 #include <datatools/utils.h>
29 // - Bayeux/geomtools:
30 #include <geomtools/manager.h>
32 
33 // This project:
35 
36 namespace emfield {
37 
40  {
41  public:
42 
45 
47  virtual ~emfield_geom_plugin ();
48 
50  virtual int initialize(const datatools::properties & config_,
52  const datatools::service_dict_type & services_);
53 
55  virtual int reset();
56 
58  virtual bool is_initialized() const;
59 
62 
63  protected:
64 
65  void _build_manager (const datatools::properties & mapping_config_);
66 
67  private:
68  bool _initialized_;
70 
72 
73  };
74 
75 } // end of namespace emfield
76 
77 #endif // EMFIELD_EMFIELD_GEOM_PLUGIN_H
78 
79 // Local Variables: --
80 // mode: c++ --
81 // c-file-style: "gnu" --
82 // tab-width: 2 --
83 // End: --
virtual ~emfield_geom_plugin()
Destructor.
A plugin for the geomtools' geometry manager that drives some EM fields manager.
Definition: emfield_geom_plugin.h:39
std::map< std::string, service_entry_ptr > service_dict_type
Type alias for a flat dictionary of service entries.
Definition: service_tools.h:196
The geometry manager's plugin base class.
Definition: manager.h:81
emfield_geom_plugin()
Default constructor.
const electromagnetic_field_manager & get_manager() const
Return a non-mutable reference on a manager of isotopes, elements and emfield.
std::map< std::string, plugin_entry > plugins_dict_type
Dictionary of plugin entries.
Definition: manager.h:75
Electromagnetic field manager.
Definition: electromagnetic_field_manager.h:49
Top-level namespace of the Bayeux/emfield module library.
Definition: base_electromagnetic_field.h:40
#define GEOMTOOLS_PLUGIN_REGISTRATION_INTERFACE(PLUGIN_CLASS_NAME)
Definition: manager_macros.h:92
virtual int reset()
Main reset method.
virtual int initialize(const datatools::properties &config_, const geomtools::manager::plugins_dict_type &plugins_, const datatools::service_dict_type &services_)
Main initialization method.
virtual bool is_initialized() const
Check if plugin is initialized.
void _build_manager(const datatools::properties &mapping_config_)
A dictionary of arbitrary properties.
Definition: properties.h:125