CbmRoot
|
Approximated magnetic field slice in XY plane perpendicular to Z. More...
#include <LitFieldSlice.h>
Public Member Functions | |
LitFieldSlice () | |
Constructor. | |
void | GetFieldValue (const T &x, const T &y, LitFieldValue< T > &B) const |
Returns field value at a certain (X, Y) position. | |
void | SetCoefficients (const std::vector< T > &x, const std::vector< T > &y, const std::vector< T > &z) |
Sets polynom coefficients. | |
const T & | GetZ () const |
Returns Z position of the slice. | |
void | SetZ (const T &Z) |
Sets Z position of the slice. | |
std::string | ToString () const |
Returns std::string representation of the class. | |
Static Public Attributes | |
static const unsigned int | N = 36 |
Private Attributes | |
T | cx [N] |
T | cy [N] |
T | cz [N] |
T | fZ |
Friends | |
std::ostream & | operator<< (std::ostream &strm, const LitFieldSlice &slice) |
Operator << for convenient output to std::ostream. | |
Approximated magnetic field slice in XY plane perpendicular to Z.
It stores coefficients of the polynomial function for each field component Bx, By and Bz. Order of the polynom is defined by LIT_POLYNOM_DEGREE.
Definition at line 41 of file LitFieldSlice.h.
|
inline |
Constructor.
Definition at line 63 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, and lit::parallel::LitFieldSlice< T >::N.
|
inline |
Returns field value at a certain (X, Y) position.
LIT_POLYNOM_DEGREE defines a polynom order which is used for output field value calculation.
[in] | x | X position. |
[in] | y | Y position. |
[out] | B | Field value. |
Definition at line 80 of file LitFieldSlice.h.
References lit::parallel::LitFieldValue< T >::Bx, lit::parallel::LitFieldValue< T >::By, lit::parallel::LitFieldValue< T >::Bz, lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, x, and y.
|
inline |
Returns Z position of the slice.
Definition at line 312 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::fZ.
|
inline |
Sets polynom coefficients.
[in] | x | Coefficients for Bx. |
[in] | y | Coefficients for By |
[in] | z | Coefficients for Bz |
Definition at line 299 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, lit::parallel::LitFieldSlice< T >::N, x, and y.
Referenced by CbmLitFieldFitter::FitSlice().
|
inline |
Sets Z position of the slice.
[in] | Z | Value of Z coordinate. |
Definition at line 318 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::fZ.
Referenced by CbmLitFieldFitter::FitSlice().
|
inline |
Returns std::string representation of the class.
Definition at line 324 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, lit::parallel::LitFieldSlice< T >::fZ, lit::parallel::LitFieldSlice< T >::N, and lit::parallel::ToString().
|
friend |
Operator << for convenient output to std::ostream.
Definition at line 349 of file LitFieldSlice.h.
|
private |
Definition at line 356 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::GetFieldValue(), lit::parallel::LitFieldSlice< T >::LitFieldSlice(), lit::parallel::LitFieldSlice< T >::SetCoefficients(), and lit::parallel::LitFieldSlice< T >::ToString().
|
private |
Definition at line 356 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::GetFieldValue(), lit::parallel::LitFieldSlice< T >::LitFieldSlice(), lit::parallel::LitFieldSlice< T >::SetCoefficients(), and lit::parallel::LitFieldSlice< T >::ToString().
|
private |
Definition at line 356 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::GetFieldValue(), lit::parallel::LitFieldSlice< T >::LitFieldSlice(), lit::parallel::LitFieldSlice< T >::SetCoefficients(), and lit::parallel::LitFieldSlice< T >::ToString().
|
private |
Definition at line 357 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::GetZ(), lit::parallel::LitFieldSlice< T >::SetZ(), and lit::parallel::LitFieldSlice< T >::ToString().
|
static |
Definition at line 50 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::LitFieldSlice(), lit::parallel::LitFieldSlice< T >::SetCoefficients(), and lit::parallel::LitFieldSlice< T >::ToString().