MarlinTPC
1.2.0
|
MagneticField : A base interface to a magnetic field. More...
#include <MagneticField.h>
Public Member Functions | |
MagneticField (std::string field_typename) | |
constructor | |
virtual | ~MagneticField () |
destructor | |
virtual Field * | new_field (void)=0 |
returns a new field... More... | |
virtual bool | construct (EVENT::LCCollection *)=0 |
constructs the field from an LCCollection of data objects (could be anything... More... | |
virtual CLHEP::Hep3Vector | get_field_value (const CLHEP::Hep3Vector &) |
gets the field value at a specified point | |
virtual CLHEP::Hep3Vector | get_field_error () |
gets the field error. More... | |
void | set_translation (const CLHEP::Hep3Vector &) |
sets the relative position of the origin of the field map (i.e. More... | |
void | set_rotation (const double &, const double &) |
sets the orientation of the TPC with respect to the coil axis More... | |
void | set_scale_factor (const double &) |
sets the scale factor for the magnetic field, i.e. More... | |
![]() | |
Field (std::string field_typename) | |
constructor | |
virtual | ~Field () |
destructor | |
CLHEP::HepVector | get_field_value (const CLHEP::HepVector &) |
gets the field value at a specified point (in carthesian coordinates) More... | |
std::string | get_typename () |
returns the typename of the field | |
Protected Member Functions | |
virtual CLHEP::Hep3Vector | get_field_value_coil_coordinates (const CLHEP::Hep3Vector &)=0 |
gets the field value at a point given in coil coordinates | |
Additional Inherited Members | |
![]() | |
CLHEP::Hep3Vector | _field_error |
MagneticField : A base interface to a magnetic field.
|
pure virtual |
constructs the field from an LCCollection of data objects (could be anything...
field bin values or just parameters)
Implements marlintpc::Field.
Implemented in marlintpc::Cylindrical2DMagneticField, and marlintpc::Cylindrical3DMagneticField.
|
virtual |
gets the field error.
Assumes that the error is symmetric and independent of position
Reimplemented from marlintpc::Field.
|
pure virtual |
returns a new field...
similar to how the Marlin processor registration works
Implements marlintpc::Field.
Implemented in marlintpc::Cylindrical2DMagneticField, and marlintpc::Cylindrical3DMagneticField.
void marlintpc::MagneticField::set_rotation | ( | const double & | x_rotation, |
const double & | y_rotation | ||
) |
sets the orientation of the TPC with respect to the coil axis
sets the rotations if the coordinate system of the field map is tilted with respect to the general coordinate system.
The rotations are applied before a possible translation.
x_rotation | The angle between the two z axis in y direction (in rad) |
y_rotation | The angle between the two z axis in x direction (in rad) |
Referenced by marlintpc::Cylindrical2DMagneticField::Cylindrical2DMagneticField(), marlintpc::Cylindrical2DMagneticField::init(), and MagneticField().
void marlintpc::MagneticField::set_scale_factor | ( | const double & | scale_factor | ) |
sets the scale factor for the magnetic field, i.e.
higher current than during mapping
Referenced by MagneticField().
void marlintpc::MagneticField::set_translation | ( | const CLHEP::Hep3Vector & | vector | ) |
sets the relative position of the origin of the field map (i.e.
center of the coil) to the general coordinate system. The translation is applied after the rotation, so when the axis of original system and coil system are parallel.
Referenced by marlintpc::Cylindrical2DMagneticField::Cylindrical2DMagneticField(), marlintpc::Cylindrical2DMagneticField::init(), and MagneticField().