Go to the documentation of this file.
8 #ifndef CBMLITFIELDFITTER_H_
9 #define CBMLITFIELDFITTER_H_
11 #include "../../parallel/LitFieldSlice.h"
40 virtual double Calculate(
double x,
double y,
double c[])
const = 0;
107 std::vector<double>& parBx,
108 std::vector<double>& parBy,
109 std::vector<double>& parBz);
118 void FitSlice(
const std::vector<double>&
x,
119 const std::vector<double>&
y,
120 const std::vector<double>& z,
121 std::vector<double>& par);
131 std::vector<double>& parBx,
132 std::vector<double>& parBy,
133 std::vector<double>& parBz);
unsigned int fPolynomDegree
virtual double Calculate(double x, double y, double c[]) const =0
Returns calculated value.
CbmLitPolynom()
Constructor.
Approximated magnetic field slice in XY plane perpendicular to Z.
CbmLitFieldFitter(unsigned int polynomDegree)
Constructor.
const CbmLitPolynom * GetPolynom() const
Return polynomial which is used for approximation.
void SetNofBinsX(int nofBinsX)
void SetNofBinsY(int nofBinsY)
void FitSliceMy(double Z, std::vector< double > &parBx, std::vector< double > &parBy, std::vector< double > &parBz)
Fit (X, Y) slice of the magnetic field at Z position.
void SetUseEllipseAcc(bool useEllipseAcc)
void FitSliceScal(float Z, lit::parallel::LitFieldSlice< fscal > &slice)
FitSlice implementation using fscal data type.
virtual unsigned int GetNofCoefficients() const =0
Return number of coefficients for this polynomial function.
void SetXangle(double xangle)
Implementation of the polynomial field approximation.
void SetYangle(double yangle)
Abstract class for polynomial function.
virtual ~CbmLitFieldFitter()
Destructor.
void FitSliceVec(float Z, lit::parallel::LitFieldSlice< fvec > &slice)
FitSlice implementation using fvec data type.
virtual ~CbmLitPolynom()
Destructor.
void FitSlice(float Z, lit::parallel::LitFieldSlice< T > &slice)
Fits (X, Y) slice of the magnetic field at Z position.