24 double m[3][3],
double rl,
const Surface* pS)
30 for (i = 0; i < 3; i++) {
37 for (i = 0; i < 3; i++) {
38 for (j = 0; j < 3; j++)
95 for (
int m = 0; m < 3; m++)
rc += pS->
m_M[i][m] *
m_L[m][j];
102 for (i = 0; i < 3; i++)
103 Y[i] =
m_M[i][0] * X[0] +
m_M[i][1] * X[1] +
m_M[i][2] * X[2];
109 for (i = 0; i < 3; i++)
110 Y[i] =
m_L[i][0] * X[0] +
m_L[i][1] * X[1] +
m_L[i][2] * X[2];
116 for (i = 0; i < 3; i++)
125 for (i = 0; i < 3; i++)
151 for (
auto & i :
m_M) {
152 for (
double j : i) printf(
"%f ", j);
Abstract Base Class for tracking surfaces.
const double * getNormal()
void transformPointToLocal(const double *, double *)
void calculateInverseTransform()
const Surface * m_trkSurface
double getRadLength() const
void rotateVectorToLocal(const double *, double *)
double radiusVector() const
double calculateCombinedMatrix(int, int, TrkPlanarSurface *)
void rotateVectorToGlobal(const double *, double *)
void transformPointToGlobal(const double *, double *)
double getInvRotMatrix(int, int)
const double * getParameters()
void setBreakPoint(double)
const double * getCenter()
double getRotMatrix(int, int)
const Surface * getTrkSurface()
bool isBreakPoint() const
TrkPlanarSurface(const double Center[3], const double Normal[3], double Transform[3][3], double, const Surface *pS=0)
Ensure that the ATLAS eigen extensions are properly loaded.
@ u
Enums for curvilinear frames.