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.