MarlinTPC  1.2.0
IdealSolenoidField.h
1 #ifndef IDEALSOLENOIDFIELD_H
2 #define IDEALSOLENOIDFIELD_H 1
3 
4 // stl
5 #include <string>
6 #include <vector>
7 
8 // CLHEP
9 
10 // MarlinTPC
11 #include "Field.h"
12 
13 namespace EVENT {
14 
15  class LCCollection;
16 }
17 
18 namespace marlintpc {
19 
24 class IdealSolenoidField: public Field {
25 
26 public:
30 
33  virtual ~IdealSolenoidField();
34 
37  virtual Field *new_field( void );
38 
41  virtual bool construct( EVENT::LCCollection * );
42 
45  CLHEP::Hep3Vector get_field_value( const CLHEP::Hep3Vector & );
46 
49  std::string get_typename();
50 
51 protected:
52 
53 private:
54 
57  double _r_min;
58  double _r_max;
59  double _z_max;
60 
63  CLHEP::Hep3Vector _field_value;
64 };
65 
66 } // namespace marlintpc
67 
68 #endif // IDEALSOLENOIDFIELD_H
std::string get_typename()
returns the typename of the field
virtual bool construct(EVENT::LCCollection *)
constructs the field from an LCCollection of data objects (could be anything...
Definition: IdealSolenoidField.cc:40
CLHEP::Hep3Vector get_field_value(const CLHEP::Hep3Vector &)
gets the field value at a specified point
Definition: IdealSolenoidField.cc:58
Field : A base interface to an electric or magnetic field.
Definition: Field.h:22
virtual ~IdealSolenoidField()
destructor
Definition: IdealSolenoidField.cc:30
IdealSolenoidField : An ideal cylindrical solenoid field.
Definition: IdealSolenoidField.h:24
IdealSolenoidField()
constructor
Definition: IdealSolenoidField.cc:23
virtual Field * new_field(void)
returns a new field...
Definition: IdealSolenoidField.cc:35