![]() |
Bayeux
3.4.1
Core Foundation library for SuperNEMO
|
#include <bayeux/emfield/polynomial_magnetic_field.h>
Classes | |
| struct | magnetic_field_coordinate |
| Internal structure to embed polynomial parameters. More... | |
Public Types | |
| typedef std::vector< double > | polynomial_parameters_type |
| Typedef for polynomial parameters. More... | |
| typedef std::pair< double, double > | coordinate_limits_type |
| Typedef for space limits. More... | |
Public Types inherited from emfield::base_electromagnetic_field | |
| enum | flag_type { DEBUG = datatools::bit_mask::bit01, ELECTRIC_FIELD = datatools::bit_mask::bit02, MAGNETIC_FIELD = datatools::bit_mask::bit03, ELECTRIC_FIELD_CAN_BE_COMBINED = datatools::bit_mask::bit04, MAGNETIC_FIELD_CAN_BE_COMBINED = datatools::bit_mask::bit05, ELECTRIC_FIELD_IS_TIME_DEPENDENT = datatools::bit_mask::bit06, MAGNETIC_FIELD_IS_TIME_DEPENDENT = datatools::bit_mask::bit07 } |
| Initialization flags. More... | |
| enum | status_type { STATUS_SUCCESS = 0, STATUS_ERROR = 1, STATUS_NOT_INITIALIZED = 2, STATUS_INVALID_POSITION_TIME = 3, STATUS_NO_ELECTRIC_FIELD = 4, STATUS_NO_MAGNETIC_FIELD = 5 } |
| Status at field computation. More... | |
| typedef datatools::handle< base_electromagnetic_field > | handle_type |
| typedef std::map< std::string, handle_type > | field_dict_type |
Public Types inherited from datatools::i_tree_dumpable | |
| enum | ostream_type { OSTREAM_COUT = 1, OSTREAM_CERR = 2, OSTREAM_CLOG = 3 } |
| Enumeration for standard output streams. More... | |
Public Member Functions | |
| polynomial_magnetic_field (uint32_t flags_=0) | |
| Contructor. More... | |
| virtual | ~polynomial_magnetic_field () |
| Destructor. More... | |
| virtual void | initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_, emfield::base_electromagnetic_field::field_dict_type &dict_) |
| Initialization. More... | |
| virtual void | reset () |
| Reset. More... | |
| virtual int | compute_electric_field (const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &electric_field_) const |
| Main function to compute electric field. More... | |
| virtual int | compute_magnetic_field (const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &magnetic_field_) const |
| Main function to compute magnetic field. More... | |
| virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const |
| Smart print. More... | |
Public Member Functions inherited from emfield::base_electromagnetic_field | |
| void | set_logging_priority (datatools::logger::priority priority_) |
| Return the logging priority. More... | |
| datatools::logger::priority | get_logging_priority () const |
| Set the logging priority. More... | |
| bool | is_initialized () const |
| Check initialization status. More... | |
| void | set_name (const std::string &) |
| Set the name of the field. More... | |
| const std::string & | get_name () const |
| Return the name of the field. More... | |
| bool | is_debug () const |
| Check debug status. More... | |
| void | set_debug (bool debug_) |
| Set debug status. More... | |
| bool | is_electric_field () const |
| Check if the field is an electric field. More... | |
| bool | is_magnetic_field () const |
| Check if the field is a magnetic field. More... | |
| bool | electric_field_can_be_combined () const |
| Check if the electric field can be combined. More... | |
| bool | magnetic_field_can_be_combined () const |
| Check if the magnetic field can be combined. More... | |
| bool | electric_field_is_time_dependent () const |
| Check if the electric field depends on time. More... | |
| bool | magnetic_field_is_time_dependent () const |
| Check if the magnetic field depends on time. More... | |
| base_electromagnetic_field (uint32_t flags_=0) | |
| Constructor. More... | |
| virtual | ~base_electromagnetic_field () |
| Destructor. More... | |
| virtual int | compute_electromagnetic_field (const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &electric_field_, geomtools::vector_3d &magnetic_field_) const |
| Compute the coordinates of the electric and magnetic fields at given position and time. More... | |
| virtual int | compute_field (char label_, const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &field_) const |
| Compute the coordinates of the electric or magnetic field at given position and time. More... | |
| virtual void | initialize_simple () |
| Naked initialization. More... | |
| virtual void | initialize_standalone (const datatools::properties &setup_) |
| Standalone initialization, no external resources are needed, only a set of parameters. More... | |
| virtual void | initialize_with_service_only (const datatools::properties &setup_, datatools::service_manager &service_manager_) |
| Initialization using a set of parameters and a service manager. More... | |
| virtual void | initialize_with_dictionary_only (const datatools::properties &setup_, field_dict_type &dictionary_) |
| Initialization using a set of parameters and an external dictionary of EM fields. More... | |
| virtual std::string | get_class_id () const =0 |
| Return the class string identifier. More... | |
| virtual bool | position_and_time_are_valid (const geomtools::vector_3d &position_, double time_) const |
| Check if position and time are valid for this field. More... | |
Public Member Functions inherited from datatools::i_tree_dumpable | |
| i_tree_dumpable () | |
| Constructor. More... | |
| virtual | ~i_tree_dumpable () |
| Destructor. More... | |
| virtual void | print_tree (std::ostream &out_=std::clog, const boost::property_tree::ptree &options_=empty_options()) const |
| Main new interface method for printing. More... | |
| void | print_tree_json (std::ostream &out_=std::clog, const std::string &json_options_="") const |
| Printing with jsonized options. More... | |
| void | print_tree_json (std::ostream &out_=std::clog, const char *json_options_=nullptr) const |
| Printing with jsonized options. More... | |
| void | tree_dump_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="", const bool inherit_=false) const |
| void | tree_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="") const |
| void | smart_print_id (const int out_type_=OSTREAM_CLOG, const std::string &title_="", const std::string &indent_="") const |
Additional Inherited Members | |
Static Public Member Functions inherited from datatools::i_tree_dumpable | |
| static const boost::property_tree::ptree & | empty_options () |
| static boost::property_tree::ptree | make_base_print_options (const std::string &title_, const std::string &indent_="", const bool inherit_=false) |
| static std::ostream & | last_skip_tag (std::ostream &out_) |
| static std::ostream & | skip_tag (std::ostream &out_) |
| static std::ostream & | last_tag (std::ostream &out_) |
| static std::ostream & | tag (std::ostream &out_) |
Static Public Attributes inherited from emfield::base_electromagnetic_field | |
| static const char | ELECTRIC_FIELD_LABEL = 'E' |
| static const char | MAGNETIC_FIELD_LABEL = 'B' |
Protected Member Functions inherited from emfield::base_electromagnetic_field | |
| void | _set_initialized (bool initialized_) |
| void | _set_electric_field (bool=true) |
| void | _set_magnetic_field (bool=true) |
| void | _set_electric_field_can_be_combined (bool=true) |
| void | _set_magnetic_field_can_be_combined (bool=true) |
| void | _set_electric_field_is_time_dependent (bool=true) |
| void | _set_magnetic_field_is_time_dependent (bool=true) |
| void | _parse_basic_parameters (const datatools::properties &setup_, datatools::service_manager &service_manager_, field_dict_type &dictionary_) |
| void | _set_defaults () |
| Set default attributes values. More... | |
Class representing a magnetic field with polynomial variations (in space) and constant (in time)
| typedef std::pair<double,double> emfield::polynomial_magnetic_field::coordinate_limits_type |
Typedef for space limits.
| typedef std::vector<double> emfield::polynomial_magnetic_field::polynomial_parameters_type |
Typedef for polynomial parameters.
| emfield::polynomial_magnetic_field::polynomial_magnetic_field | ( | uint32_t | flags_ = 0 | ) |
Contructor.
|
virtual |
Destructor.
|
virtual |
Main function to compute electric field.
Reimplemented from emfield::base_electromagnetic_field.
|
virtual |
Main function to compute magnetic field.
Reimplemented from emfield::base_electromagnetic_field.
|
virtual |
Initialization.
Implements emfield::base_electromagnetic_field.
|
virtual |
Reset.
Implements emfield::base_electromagnetic_field.
|
virtual |
Smart print.
Reimplemented from emfield::base_electromagnetic_field.
1.8.15