16 #ifndef EMFIELD_LINEAR_COMBINATION_FIELD_H 17 #define EMFIELD_LINEAR_COMBINATION_FIELD_H 1 52 virtual void initialize(const ::datatools::properties &,
73 bool force_combined_ =
false);
76 virtual void tree_dump(std::ostream & out_ = std::clog,
77 const std::string & title_ =
"",
78 const std::string & indent_ =
"",
79 bool inherit_ =
false)
const;
92 #endif // EMFIELD_LINEAR_COMBINATION_FIELD_H #define EMFIELD_REGISTRATION_INTERFACE(EMFIELD_CLASS_NAME)
Definition: electromagnetic_field_macros.h:157
Class representing linear combination of many EM fields.
Definition: linear_combination_field.h:29
virtual void initialize(const ::datatools::properties &, ::datatools::service_manager &, ::emfield::base_electromagnetic_field::field_dict_type &)
Initialization.
linear_combination_field(uint32_t=0)
Default constructor.
std::map< std::string, handle_type > field_dict_type
Definition: base_electromagnetic_field.h:49
double weight
Weight associated to the field.
Definition: linear_combination_field.h:38
std::map< std::string, combined_field_entry > combined_field_dict_type
Definition: linear_combination_field.h:43
Internal class for linear_combination_field.
Definition: linear_combination_field.h:34
std::string label
Label of the field.
Definition: linear_combination_field.h:36
Abstract base class for all electromagnetic field.
Definition: base_electromagnetic_field.h:43
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
Top-level namespace of the Bayeux/emfield module library.
Definition: base_electromagnetic_field.h:40
virtual ~linear_combination_field()
Destructor.
virtual void reset()
Reset.
base_electromagnetic_field::handle_type field_handle
Handle to the field.
Definition: linear_combination_field.h:37
void add_combined_field(const std::string &label_, base_electromagnetic_field::handle_type &field_handle_, double weight_=1.0, bool force_combined_=false)
Add a combined field.
virtual int compute_magnetic_field(const ::geomtools::vector_3d &position_, double time_, geomtools::vector_3d &magnetic_field_) const
Compute magnetic field.
virtual int compute_electric_field(const ::geomtools::vector_3d &position_, double time_, ::geomtools::vector_3d &electric_field_) const
Compute electric field.