CbmRoot
|
Approximated magnetic field slice in XY plane perpendicular to Z. More...
#include <LitFieldSlice.h>
Public Member Functions | |
LitFieldSlice () | |
Constructor. More... | |
void | GetFieldValue (const T &x, const T &y, LitFieldValue< T > &B) const |
Returns field value at a certain (X, Y) position. More... | |
void | SetCoefficients (const std::vector< T > &x, const std::vector< T > &y, const std::vector< T > &z) |
Sets polynom coefficients. More... | |
const T & | GetZ () const |
Returns Z position of the slice. More... | |
void | SetZ (const T &Z) |
Sets Z position of the slice. More... | |
std::string | ToString () const |
Returns std::string representation of the class. More... | |
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. More... | |
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 35 of file LitFieldSlice.h.
|
inline |
Constructor.
Definition at line 57 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, i, 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 73 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 338 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 324 of file LitFieldSlice.h.
References lit::parallel::LitFieldSlice< T >::cx, lit::parallel::LitFieldSlice< T >::cy, lit::parallel::LitFieldSlice< T >::cz, i, 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 344 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 350 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, i, and lit::parallel::LitFieldSlice< T >::N.
|
friend |
Operator << for convenient output to std::ostream.
Definition at line 374 of file LitFieldSlice.h.
|
private |
Definition at line 381 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 381 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 381 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 382 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 44 of file LitFieldSlice.h.
Referenced by lit::parallel::LitFieldSlice< T >::LitFieldSlice(), lit::parallel::LitFieldSlice< T >::SetCoefficients(), and lit::parallel::LitFieldSlice< T >::ToString().