MarlinTPC  1.2.0
UnitBiDirectionalElectricField.h
1 #ifndef UNITBIDIRECTIONALELECTRICFIELD
2 #define UNITBIDIRECTIONALELECTRICFIELD 1
3 
4 // MarlinTPC
5 #include "Field.h"
6 
7 // CLHEP
8 #include <CLHEP/Matrix/Vector.h>
9 
10 // stl
11 #include <string>
12 #include <vector>
13 
14 namespace LCIO {
15 
16  class LCRunHeader;
17 }
18 
19 namespace EVENT {
20 
21  class LCCollection;
22 }
23 
24 namespace marlintpc {
25 
31 
32 public:
36 
40 
43  virtual Field *new_field( void );
44 
47  virtual bool construct( EVENT::LCCollection * );
48 
51  CLHEP::Hep3Vector get_field_value( const CLHEP::Hep3Vector & );
52 
55  std::string get_typename();
56 
57 protected:
58 
59 private:
60 
61 };
62 
63 } // namespace marlintpc
64 
65 #endif // UNITBIDIRECTIONALELECTRICFIELD
Field : A base interface to an electric or magnetic field.
Definition: Field.h:22
virtual ~UnitBiDirectionalElectricField()
destructor
Definition: UnitBiDirectionalElectricField.cc:41
CLHEP::Hep3Vector get_field_value(const CLHEP::Hep3Vector &)
gets the field value at a specified point
Definition: UnitBiDirectionalElectricField.cc:59
std::string get_typename()
returns the typename of the field
UnitBiDirectionalElectricField()
constructor
Definition: UnitBiDirectionalElectricField.cc:33
UnitBiDirectionalElectricField : An electric field which is +1Vin the +z direction when z > 0 and -1V...
Definition: UnitBiDirectionalElectricField.h:30
virtual bool construct(EVENT::LCCollection *)
constructs the field from an LCCollection of data objects (could be anything...
Definition: UnitBiDirectionalElectricField.cc:51
virtual Field * new_field(void)
returns a new field...
Definition: UnitBiDirectionalElectricField.cc:46