ATLAS Offline Software
Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.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 // TrkTrackState.h
7 // Header file for class TrkTrackState
9 // (c) ATLAS Detector software
11 // Author: Dmitry Emeliyanov, RAL
12 // D.Emeliyanov@rl.ac.uk
14 
15 #ifndef TRKDISTRIBUTEDKALMANFILTER_TRK_TRACKSTATE_H
16 #define TRKDISTRIBUTEDKALMANFILTER_TRK_TRACKSTATE_H
17 
18 
19 namespace Trk {
20  class TrkBaseNode;
21  class TrkPlanarSurface;
22  class MeasuredPerigee;
24  {
25  public:
26  TrkTrackState();
27  TrkTrackState(const double[5]);
30  void report();
31  void resetCovariance();
32  void serialize(char fileName[]);
35  void setScatteringMode(int);
36  int getScatteringMode() const;
37  void applyMaterialEffects();
38  void updateTrackState(const double*);
39  void updateTrackCovariance(const double*);
40  void setTrackCovariance(double A[5][5]);
41  void setTrackState(const double A[5]);
42  void setSmootherGain(double A[5][5]);
44  void runSmoother();
46  void applyEnergyLoss(int);
47  inline double getTrackState(int i)
48  {
49  return m_Rk[i];
50  }
51  inline double getTrackCovariance(int i, int j)
52  {
53  return m_Gk[i][j];
54  }
55  inline int getStateSize()
56  {
57  return 5;
58  }
59  protected:
60  double m_Rk[5]{},m_Re[5]{};
61  double m_Gk[5][5]{},m_Ge[5][5]{};
66  double m_A[5][5]{};
67  };
68 }
69 
70 #endif
Trk::TrkTrackState::getSurface
TrkPlanarSurface * getSurface()
Definition: TrkTrackState.cxx:106
Trk::TrkTrackState::applyMultipleScattering
void applyMultipleScattering()
Definition: TrkTrackState.cxx:158
Trk::TrkTrackState::TrkTrackState
TrkTrackState()
Definition: TrkTrackState.cxx:28
Trk::TrkTrackState::updateTrackCovariance
void updateTrackCovariance(const double *)
Definition: TrkTrackState.cxx:118
Trk::TrkTrackState::m_isScattered
bool m_isScattered
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:63
Trk::TrkTrackState::getStateSize
int getStateSize()
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:55
Trk::TrkTrackState
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:24
Trk::TrkPlanarSurface
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkPlanarSurface.h:25
Trk::TrkTrackState::m_pSurface
TrkPlanarSurface * m_pSurface
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:64
Trk::TrkTrackState::applyMaterialEffects
void applyMaterialEffects()
Definition: TrkTrackState.cxx:209
Trk::TrkTrackState::m_scattMode
int m_scattMode
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:62
Trk::TrkTrackState::runSmoother
void runSmoother()
Definition: TrkTrackState.cxx:218
Trk::TrkTrackState::report
void report()
Definition: TrkTrackState.cxx:89
TrkPlanarSurface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkPlanarSurface.h:15
Trk::TrkTrackState::getScatteringMode
int getScatteringMode() const
Definition: TrkTrackState.cxx:134
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
lumiFormat.i
int i
Definition: lumiFormat.py:92
Trk::TrkTrackState::setScatteringMode
void setScatteringMode(int)
Definition: TrkTrackState.cxx:130
Trk::TrkTrackState::serialize
void serialize(char fileName[])
Definition: TrkTrackState.cxx:73
Trk::TrkTrackState::attachToSurface
void attachToSurface(TrkPlanarSurface *)
Definition: TrkTrackState.cxx:101
Trk::TrkTrackState::applyEnergyLoss
void applyEnergyLoss(int)
Definition: TrkTrackState.cxx:184
Trk::TrkTrackState::setPreviousState
void setPreviousState(TrkTrackState *)
Definition: TrkTrackState.cxx:148
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrkTrackState::m_Gk
double m_Gk[5][5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:61
TrkBaseNode
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkBaseNode.h:18
Trk::TrkTrackState::setSmootherGain
void setSmootherGain(double A[5][5])
Definition: TrkTrackState.cxx:152
Trk::TrkTrackState::updateTrackState
void updateTrackState(const double *)
Definition: TrkTrackState.cxx:110
Trk::TrkTrackState::setTrackCovariance
void setTrackCovariance(double A[5][5])
Definition: TrkTrackState.cxx:142
Trk::TrkTrackState::m_Ge
double m_Ge[5][5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:61
Trk::TrkTrackState::setTrackState
void setTrackState(const double A[5])
Definition: TrkTrackState.cxx:138
Trk::TrkTrackState::m_pPrevState
TrkTrackState * m_pPrevState
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:65
Trk::TrkTrackState::getTrackState
double getTrackState(int i)
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:47
Trk::TrkTrackState::m_Re
double m_Re[5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:60
Trk::TrkTrackState::m_Rk
double m_Rk[5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:60
Trk::MeasuredPerigee
Perigee MeasuredPerigee
Definition: MeasuredPerigeeCnv_p1.h:23
Trk::TrkTrackState::resetCovariance
void resetCovariance()
Definition: TrkTrackState.cxx:52
Trk::TrkTrackState::m_A
double m_A[5][5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:66
Trk::TrkTrackState::getTrackCovariance
double getTrackCovariance(int i, int j)
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:51
Trk::TrkTrackState::~TrkTrackState
~TrkTrackState()
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkTrackState.h:29