Class representing a weighted electric/magnetic field with some oscillating coefficient.
More...
|
| oscillating_field (uint32_t=0) |
| Default constructor. More...
|
|
virtual | ~oscillating_field () |
| Destructor. More...
|
|
virtual void | initialize (const ::datatools::properties &, ::datatools::service_manager &, ::emfield::base_electromagnetic_field::field_dict_type &) |
| 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 |
| Compute electric field. More...
|
|
virtual int | compute_magnetic_field (const ::geomtools::vector_3d &position_, double time_, geomtools::vector_3d &magnetic_field_) const |
| Compute magnetic field. More...
|
|
void | set_sine_cosine_mode (mode_sin_cos_type) |
|
bool | is_cosine_mode () const |
|
bool | is_sine_mode () const |
|
double | get_frequency () const |
|
double | get_period () const |
|
double | get_phase () const |
|
double | get_scale () const |
|
double | get_pedestal () const |
|
void | set_frequency (double) |
|
void | set_phase (double) |
|
void | set_scale (double) |
|
void | set_pedestal (double) |
|
void | set_field (base_electromagnetic_field::handle_type &) |
|
virtual void | tree_dump (std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const |
| Smart print. More...
|
|
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 void | initialize (const datatools::properties &setup_, datatools::service_manager &service_manager_, field_dict_type &dictionary_)=0 |
| Main initialization. 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...
|
|
virtual int | compute_electric_field (const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &electric_field_) const |
| Compute the coordinates of the electric field at given position and time. More...
|
|
virtual int | compute_magnetic_field (const geomtools::vector_3d &position_, double time_, geomtools::vector_3d &magnetic_field_) const |
| Compute the coordinates of the magnetic field at given position and time. More...
|
|
| 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 |
|
Class representing a weighted electric/magnetic field with some oscillating coefficient.
Given a field F(x, y, z, t), one computes the resulting weighted field F'(x, y, z, t) :
F'(x, y, z, t) = F(x, y, z, t) * (ped + sca * osc(2*pi*fre + pha))
Default values are:
- ped : pedestal (dimensionless value, default: 0.0)
- sca : scale (dimensionless value, default: 1.0)
- fre : frequency (value with frequency unit, default: 0.0)
- pha : phase (value with angle unit, default: 0.0)