12#ifndef ITS3_DEFORMATIONS_H_
13#define ITS3_DEFORMATIONS_H_
27 void init(
const std::filesystem::path&);
29 double getDeformationX(
unsigned int id,
double u,
double v)
const {
return getDeformation<0>(
id, u,
v); }
30 double getDeformationY(
unsigned int id,
double u,
double v)
const {
return getDeformation<1>(
id, u,
v); }
31 double getDeformationZ(
unsigned int id,
double u,
double v)
const {
return getDeformation<2>(
id, u,
v); }
32 double getDeformation(
unsigned int id,
unsigned int axis,
double u,
double v)
const
35 return mLegX[
id](u,
v);
36 }
else if (axis == 1) {
37 return mLegY[
id](u,
v);
39 return mLegZ[
id](u,
v);
44 return {getDeformation<0>(
id, u,
v),
45 getDeformation<1>(
id, u,
v),
46 getDeformation<2>(
id, u,
v)};
48 std::array<unsigned int, 3>
getOrders(
unsigned int id)
const
50 return {mLegX[
id].NOrder(), mLegY[
id].NOrder(), mLegZ[
id].NOrder()};
56 }
else if (axis == 1) {
67 if constexpr (axis == 0) {
68 return mLegX[
id](u,
v);
69 }
else if constexpr (axis == 1) {
70 return mLegY[
id](u,
v);
72 return mLegZ[
id](u,
v);
77 std::array<o2::math_utils::Legendre2DPolynominal, 6> mLegX;
78 std::array<o2::math_utils::Legendre2DPolynominal, 6> mLegY;
79 std::array<o2::math_utils::Legendre2DPolynominal, 6> mLegZ;
Definition of the NDim Legendre Polynominals.
Definition of the MisalignmentParameters class.