|
CbmRoot
|
A magnetic field approximation on the two-dimensional plane. More...
#include <KfFieldSlice.h>
Public Member Functions | |
| FieldSlice ()=default | |
| Default constructor. | |
| FieldSlice (const FieldFn_t &fieldFn, double xMax, double yMax, double zRef) | |
| Constructor from parameters. | |
| template<typename I> | |
| FieldSlice (const FieldSlice< I > &other) | |
| Copy constructor. | |
| ~FieldSlice ()=default | |
| Destructor. | |
| FieldSlice & | operator= (const FieldSlice &other)=default |
| Copy assignment operator. | |
| constexpr FieldValue< T > | GetFieldValue (const T &x, const T &y) const |
| Gets field value at a point on the transverse plane. | |
| constexpr FieldValue< T > | GetFieldValueForLine (const TrackParam< T > &trkPar) const |
| Gets field value for the intersection with a straight track. | |
| const T & | GetZref () const |
| Gets reference z-coordinate of the slice [cm]. | |
| std::string | ToString (int indentLevel=0, int verbose=1) const |
| String representation of the class content. | |
| void | CheckConsistency () const |
| Consistency checker. | |
Private Types | |
| using | CoeffArray_t = std::array<T, kNofCoeff> |
| Array of the approximation coefficients [<monomial>]. | |
Private Member Functions | |
| template<class Archive> | |
| void | serialize (Archive &ar, const unsigned int) |
Private Attributes | |
| CoeffArray_t | fBx {{T(0.)}} |
| Approximation coefficients for the x-component of the field. | |
| CoeffArray_t | fBy {{T(0.)}} |
| Approximation coefficients for the y-component of the field. | |
| CoeffArray_t | fBz {{T(0.)}} |
| Approximation coefficients for the z-component of the field. | |
| T | fZref {defs::Undef<T>} |
| Reference z of the coefficients [cm]. | |
Static Private Attributes | |
| static constexpr int | kPolDegree {5} |
| Approximation polynomial degree. | |
| static constexpr int | kNofCoeff {((kPolDegree + 1) * (kPolDegree + 2)) / 2} |
| Number of coefficients. | |
Friends | |
| template<typename> | |
| class | FieldSlice |
| class | boost::serialization::access |
| Serialization function. | |
A magnetic field approximation on the two-dimensional plane.
| T | Underlying data-type |
Definition at line 31 of file KfFieldSlice.h.
|
private |
Array of the approximation coefficients [<monomial>].
Definition at line 39 of file KfFieldSlice.h.
|
default |
Default constructor.
| FieldSlice::FieldSlice | ( | const FieldFn_t & | fieldFn, |
| double | xMax, | ||
| double | yMax, | ||
| double | zRef ) |
Constructor from parameters.
| fieldFn | Magnetic field function (point xyz, field xyz) |
| xMax | Half-size of the slice in x-direction [cm] |
| yMax | Half-size of the slice in y-direction [cm] |
| zRef | Reference z-coordinate of the slice [cm] |
Definition at line 24 of file KfFieldSlice.cxx.
|
inline |
Copy constructor.
| I | The underlying data type of the source object |
Definition at line 55 of file KfFieldSlice.h.
|
default |
Destructor.
| void FieldSlice::CheckConsistency | ( | ) | const |
Consistency checker.
Definition at line 149 of file KfFieldSlice.cxx.
|
inlineconstexpr |
Gets field value at a point on the transverse plane.
| x | x-coordinate of the point [cm] |
| y | y-coordinate of the point [cm] |
Definition at line 73 of file KfFieldSlice.h.
|
inlineconstexpr |
Gets field value for the intersection with a straight track.
| trackParam | Track parameter set |
Definition at line 84 of file KfFieldSlice.h.
|
inline |
Gets reference z-coordinate of the slice [cm].
Definition at line 91 of file KfFieldSlice.h.
|
default |
Copy assignment operator.
|
inlineprivate |
Definition at line 105 of file KfFieldSlice.h.
| std::string FieldSlice::ToString | ( | int | indentLevel = 0, |
| int | verbose = 1 ) const |
String representation of the class content.
| intdentLevel | Indent level |
| verbose | Verbosity level |
Definition at line 113 of file KfFieldSlice.cxx.
|
friend |
Serialization function.
Definition at line 103 of file KfFieldSlice.h.
Definition at line 33 of file KfFieldSlice.h.
|
private |
Approximation coefficients for the x-component of the field.
Definition at line 113 of file KfFieldSlice.h.
|
private |
Approximation coefficients for the y-component of the field.
Definition at line 114 of file KfFieldSlice.h.
|
private |
Approximation coefficients for the z-component of the field.
Definition at line 115 of file KfFieldSlice.h.
|
private |
Reference z of the coefficients [cm].
Definition at line 116 of file KfFieldSlice.h.
|
staticconstexprprivate |
Number of coefficients.
Definition at line 36 of file KfFieldSlice.h.
|
staticconstexprprivate |
Approximation polynomial degree.
Definition at line 35 of file KfFieldSlice.h.