ATLAS Offline Software
Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // TrkPlanarSurface.h
7 // Header file for class TrkPlanarSurface
9 // (c) ATLAS Detector software
11 // Author: Dmitry Emeliyanov, RAL
12 // D.Emeliyanov@rl.ac.uk
14 
15 #ifndef TRKDISTRIBUTEDKALMANFILTER_TRK_PLANAR_SURFACE_H
16 #define TRKDISTRIBUTEDKALMANFILTER_TRK_PLANAR_SURFACE_H
17 
18 namespace Trk {
19  class Surface;
20 }
21 
22 namespace Trk
23 {
25  {
26  public:
27  TrkPlanarSurface(const double Center[3],
28  const double Normal[3], double Transform[3][3], double, const Surface* pS = 0);
29  ~TrkPlanarSurface() = default;
30  const double* getParameters();
31  double getPar(int);
32  double radiusVector() const;
33  const double* getCenter();
34  const double* getNormal();
35  double getRotMatrix(int,int);
36  double getInvRotMatrix(int,int);
37  double getRadLength() const;
39  void rotateVectorToLocal(const double*,double*);
40  void rotateVectorToGlobal(const double*,double*);
41  void transformPointToLocal(const double*,double*);
42  void transformPointToGlobal(const double*,double*);
43  void setBreakPoint(double);
45  bool isBreakPoint() const;
46  double getInput() const;
47  void report();
48  const Surface* getTrkSurface();
49  private:
51  double m_Params[4]{};
52  double m_Center[3]{};
53  double m_Normal[3]{};
54  double m_M[3][3]{};
55  double m_L[3][3]{};
56  double m_Rc;
57  double m_radLength;
58  double m_input;
61  };
62 }
63 
64 
65 #endif
Trk::TrkPlanarSurface::m_Center
double m_Center[3]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:52
Trk::TrkPlanarSurface::transformPointToLocal
void transformPointToLocal(const double *, double *)
Definition: TrkPlanarSurface.cxx:113
Trk::TrkPlanarSurface::transformPointToGlobal
void transformPointToGlobal(const double *, double *)
Definition: TrkPlanarSurface.cxx:122
Trk::TrkPlanarSurface::calculateCombinedMatrix
double calculateCombinedMatrix(int, int, TrkPlanarSurface *)
Definition: TrkPlanarSurface.cxx:92
Trk::TrkPlanarSurface::getRotMatrix
double getRotMatrix(int, int)
Definition: TrkPlanarSurface.cxx:84
Trk::TrkPlanarSurface
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:25
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:7
Trk::TrkPlanarSurface::getTrkSurface
const Surface * getTrkSurface()
Definition: TrkPlanarSurface.cxx:46
ORAlgo::Normal
@ Normal
Trk::TrkPlanarSurface::getCenter
const double * getCenter()
Definition: TrkPlanarSurface.cxx:64
Trk::TrkPlanarSurface::getInput
double getInput() const
Definition: TrkPlanarSurface.cxx:143
Trk::TrkPlanarSurface::~TrkPlanarSurface
~TrkPlanarSurface()=default
Transform
Transform(const Vector3d &rotationMatrixCol0, const Vector3d &rotationMatrixCol1, const Vector3d &rotationMatrixCol2)
Definition: AmgTransformPlugin.h:12
Trk::TrkPlanarSurface::m_trkSurface
const Surface * m_trkSurface
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:60
Trk::TrkPlanarSurface::rotateVectorToLocal
void rotateVectorToLocal(const double *, double *)
Definition: TrkPlanarSurface.cxx:99
Trk::TrkPlanarSurface::m_Rc
double m_Rc
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:56
Trk::TrkPlanarSurface::getParameters
const double * getParameters()
Definition: TrkPlanarSurface.cxx:76
Trk::TrkPlanarSurface::m_Params
double m_Params[4]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:51
Trk::TrkPlanarSurface::TrkPlanarSurface
TrkPlanarSurface(const double Center[3], const double Normal[3], double Transform[3][3], double, const Surface *pS=0)
Definition: TrkPlanarSurface.cxx:23
Trk::TrkPlanarSurface::unsetBreakPoint
void unsetBreakPoint()
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:44
Trk::TrkPlanarSurface::getPar
double getPar(int)
Definition: TrkPlanarSurface.cxx:80
Trk::TrkPlanarSurface::getInvRotMatrix
double getInvRotMatrix(int, int)
Definition: TrkPlanarSurface.cxx:88
Trk::TrkPlanarSurface::radiusVector
double radiusVector() const
Definition: TrkPlanarSurface.cxx:68
Trk::TrkPlanarSurface::report
void report()
Definition: TrkPlanarSurface.cxx:147
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrkPlanarSurface::getRadLength
double getRadLength() const
Definition: TrkPlanarSurface.cxx:129
Trk::TrkPlanarSurface::getNormal
const double * getNormal()
Definition: TrkPlanarSurface.cxx:72
Trk::TrkPlanarSurface::m_radLength
double m_radLength
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:57
JetVoronoiDiagramHelpers::Center
Point Center(const Point &a, const Point &b)
Definition: JetVoronoiDiagramHelpers.cxx:75
Trk::TrkPlanarSurface::calculateInverseTransform
void calculateInverseTransform()
Definition: TrkPlanarSurface.cxx:50
Trk::TrkPlanarSurface::m_breakPoint
bool m_breakPoint
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:59
Trk::TrkPlanarSurface::setBreakPoint
void setBreakPoint(double)
Definition: TrkPlanarSurface.cxx:134
Trk::TrkPlanarSurface::isBreakPoint
bool isBreakPoint() const
Definition: TrkPlanarSurface.cxx:139
Trk::TrkPlanarSurface::m_M
double m_M[3][3]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:54
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
Trk::TrkPlanarSurface::m_input
double m_input
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:58
Trk::TrkPlanarSurface::rotateVectorToGlobal
void rotateVectorToGlobal(const double *, double *)
Definition: TrkPlanarSurface.cxx:106
Trk::TrkPlanarSurface::m_L
double m_L[3][3]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:55
Trk::TrkPlanarSurface::m_Normal
double m_Normal[3]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:53