Bayeux  3.4.1
Core Foundation library for SuperNEMO
uniform_electric_field.h
Go to the documentation of this file.
1 /* Author(s): Francois Mauger <mauger@lpccaen.in2p3.fr>
3  * Creation date: 2012-04-25
4  * Last modified: 2013-02-24
5  *
6  * License:
7  *
8  * Description:
9  *
10  * Uniform electric field
11  *
12  * History:
13  *
14  */
15 
16 #ifndef EMFIELD_UNIFORM_ELECTRIC_FIELD_H
17 #define EMFIELD_UNIFORM_ELECTRIC_FIELD_H 1
18 
19 // This project:
21 
22 namespace emfield {
23 
28  {
29  public:
30 
32  uniform_electric_field(uint32_t = 0);
33 
35  virtual ~uniform_electric_field();
36 
38  virtual void initialize(const ::datatools::properties &,
41 
43  virtual void reset();
44 
47  double time_,
48  ::geomtools::vector_3d & electric_field_) const;
49 
52  double time_,
53  geomtools::vector_3d & magnetic_field_) const;
54 
56 
58 
60  virtual void tree_dump (std::ostream & out_ = std::clog,
61  const std::string & title_ = "",
62  const std::string & indent_ = "",
63  bool inherit_ = false) const;
64 
65  protected:
66 
68  void _set_defaults();
69 
70  private:
71 
72  geomtools::vector_3d _uniform_electric_field_;
73 
74  // Macro to automate the registration of the EM field :
76 
77  };
78 
79 } // end of namespace emfield
80 
81 #endif // EMFIELD_UNIFORM_ELECTRIC_FIELD_H
82 
83 // Local Variables: --
84 // mode: c++ --
85 // c-file-style: "gnu" --
86 // tab-width: 2 --
87 // End: --
#define EMFIELD_REGISTRATION_INTERFACE(EMFIELD_CLASS_NAME)
Definition: electromagnetic_field_macros.h:157
virtual void tree_dump(std::ostream &out_=std::clog, const std::string &title_="", const std::string &indent_="", bool inherit_=false) const
Smart print.
virtual ~uniform_electric_field()
Destructor.
virtual int compute_electric_field(const ::geomtools::vector_3d &position_, double time_, ::geomtools::vector_3d &electric_field_) const
Compute electric field.
std::map< std::string, handle_type > field_dict_type
Definition: base_electromagnetic_field.h:49
void _set_defaults()
Set default attributes values.
Abstract base class for all electromagnetic field.
Definition: base_electromagnetic_field.h:43
const geomtools::vector_3d & get_uniform_electric_field() const
virtual void initialize(const ::datatools::properties &, ::datatools::service_manager &, ::emfield::base_electromagnetic_field::field_dict_type &)
Initialization.
Top-level namespace of the Bayeux/emfield module library.
Definition: base_electromagnetic_field.h:40
void set_uniform_electric_field(const geomtools::vector_3d &b_)
CLHEP::Hep3Vector vector_3d
Alias for the CLHEP 3D-vector class.
Definition: clhep.h:63
Definition: uniform_electric_field.h:27
virtual int compute_magnetic_field(const ::geomtools::vector_3d &position_, double time_, geomtools::vector_3d &magnetic_field_) const
Compute magnetic field.
uniform_electric_field(uint32_t=0)
Default constructor.
virtual void reset()
Reset.
Service management class.
Definition: service_manager.h:57