ATLAS Offline Software
Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h
Go to the documentation of this file.
1 // TrkFilteringNodes.h
3 // Header file for classes representing filtering nodes
5 // (c) ATLAS Detector software
7 // Author: Dmitry Emeliyanov, RAL
8 // D.Emeliyanov@rl.ac.uk
10 
11 #ifndef __TRK_FILTERING_NODES_H__
12 #define __TRK_FILTERING_NODES_H__
13 
14 class TrkBaseNode;
15 class TrkTrackState;
16 class TrkPlanarSurface;
17 
19 {
20  public:
22  virtual ~TrkFilteringNode1D(){};
23 
24  virtual int getKalmanGain(double[5][2]);
25  virtual int getResiduals(double[2]);
26  virtual int getInverseResidualVariance(double[2][2]);
27  virtual int getMeasurementMatrix(double[2][5]);
28 
29  protected:
31  double calculateChi2();
32 
33  double m_B[5]{};
34  double m_D{};
35  double m_H[5]{};
36  double m_K[5]{};
37  double m_resid{};
38  double m_m{};
39  double m_V{};
40 };
41 
43 {
44  public:
46  virtual ~TrkFilteringNode2D(){};
47 
48  virtual int getKalmanGain(double[5][2]);
49  virtual int getResiduals(double[2]);
50  virtual int getInverseResidualVariance(double[2][2]);
51  virtual int getMeasurementMatrix(double[2][5]);
52 
53  protected:
55  double calculateChi2();
56 
57  double m_B[5][2]{};
58  double m_D[2][2]{};
59  double m_H[2][5]{};
60  double m_K[5][2]{};
61  double m_resid[2]{};
62  double m_m[2]{};
63  double m_V[2][2]{};
64 };
65 
67 {
68  public:
69  TrkClusterNode(TrkPlanarSurface*,double,double,double);
70  virtual ~TrkClusterNode(){};
71 
75  void serialize(char fileName[]);
76  void report(){};
77 };
78 
80 {
81  public:
82  TrkEndCapClusterNode(TrkPlanarSurface*,double,double,double,double);
83  virtual ~TrkEndCapClusterNode(){};
84 
88  void serialize(char fileName[]);
89  void report(){};
90 
91  private:
92  double m_Rc;
93 };
94 
96 {
97  public:
98  TrkPixelNode(TrkPlanarSurface*,double,double[2],double[4]);
99  virtual ~TrkPixelNode(){};
100 
104  void serialize(char fileName[]);
105  void report();
106 };
107 
108 #endif
TrkClusterNode::serialize
void serialize(char fileName[])
TrkEndCapClusterNode::updateTrackState
void updateTrackState(TrkTrackState *)
TrkFilteringNode2D
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:43
TrkEndCapClusterNode::~TrkEndCapClusterNode
virtual ~TrkEndCapClusterNode()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:83
TrkFilteringNode2D::m_B
double m_B[5][2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:57
TrkPixelNode::~TrkPixelNode
virtual ~TrkPixelNode()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:99
TrkTrackState
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkTrackState.h:17
TrkClusterNode::validateMeasurement
void validateMeasurement(TrkTrackState *)
TrkFilteringNode1D::m_B
double m_B[5]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:33
TrkFilteringNode2D::m_resid
double m_resid[2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:61
TrkFilteringNode2D::runKalmanFilter
void runKalmanFilter(TrkTrackState *)
TrkEndCapClusterNode::report
void report()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:89
TrkFilteringNode2D::m_D
double m_D[2][2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:58
TrkFilteringNode2D::getResiduals
virtual int getResiduals(double[2])
TrkFilteringNode1D::getResiduals
virtual int getResiduals(double[2])
TrkFilteringNode1D::m_resid
double m_resid
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:37
TrkFilteringNode1D::m_H
double m_H[5]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:35
TrkFilteringNode1D::TrkFilteringNode1D
TrkFilteringNode1D()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:21
TrkClusterNode
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:67
TrkFilteringNode2D::m_V
double m_V[2][2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:63
TrkFilteringNode2D::TrkFilteringNode2D
TrkFilteringNode2D()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:45
TrkFilteringNode2D::getMeasurementMatrix
virtual int getMeasurementMatrix(double[2][5])
TrkFilteringNode1D::m_m
double m_m
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:38
TrkPlanarSurface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkPlanarSurface.h:15
TrkEndCapClusterNode::m_Rc
double m_Rc
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:89
TrkEndCapClusterNode::serialize
void serialize(char fileName[])
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
TrkEndCapClusterNode::validateMeasurement
void validateMeasurement(TrkTrackState *)
TrkFilteringNode2D::~TrkFilteringNode2D
virtual ~TrkFilteringNode2D()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:46
TrkEndCapClusterNode::TrkEndCapClusterNode
TrkEndCapClusterNode(TrkPlanarSurface *, double, double, double, double)
TrkFilteringNode1D::m_K
double m_K[5]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:36
TrkPixelNode::updateTrackState
void updateTrackState(TrkTrackState *)
TrkFilteringNode2D::getInverseResidualVariance
virtual int getInverseResidualVariance(double[2][2])
TrkPixelNode::validateMeasurement
void validateMeasurement(TrkTrackState *)
TrkFilteringNode1D::getMeasurementMatrix
virtual int getMeasurementMatrix(double[2][5])
TrkFilteringNode2D::m_m
double m_m[2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:62
TrkFilteringNode2D::m_K
double m_K[5][2]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:60
TrkPixelNode::serialize
void serialize(char fileName[])
TrkPixelNode
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:96
TrkEndCapClusterNode::getChi2Distance
double getChi2Distance(TrkTrackState *)
TrkFilteringNode1D::~TrkFilteringNode1D
virtual ~TrkFilteringNode1D()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:22
TrkFilteringNode1D::getInverseResidualVariance
virtual int getInverseResidualVariance(double[2][2])
TrkFilteringNode1D::m_D
double m_D
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:34
TrkFilteringNode1D
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:19
TrkBaseNode
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkBaseNode.h:18
TrkClusterNode::getChi2Distance
double getChi2Distance(TrkTrackState *)
TrkFilteringNode1D::calculateChi2
double calculateChi2()
TrkPixelNode::report
void report()
TrkFilteringNode2D::getKalmanGain
virtual int getKalmanGain(double[5][2])
TrkFilteringNode2D::m_H
double m_H[2][5]
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:59
TrkPixelNode::getChi2Distance
double getChi2Distance(TrkTrackState *)
TrkClusterNode::~TrkClusterNode
virtual ~TrkClusterNode()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:70
TrkPixelNode::TrkPixelNode
TrkPixelNode(TrkPlanarSurface *, double, double[2], double[4])
TrkFilteringNode1D::getKalmanGain
virtual int getKalmanGain(double[5][2])
TrkEndCapClusterNode
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:80
TrkClusterNode::TrkClusterNode
TrkClusterNode(TrkPlanarSurface *, double, double, double)
TrkFilteringNode1D::runKalmanFilter
void runKalmanFilter(TrkTrackState *)
TrkFilteringNode1D::m_V
double m_V
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:39
TrkClusterNode::updateTrackState
void updateTrackState(TrkTrackState *)
TrkFilteringNode2D::calculateChi2
double calculateChi2()
TrkClusterNode::report
void report()
Definition: Trigger/TrigAccel/TrigCudaFitter/src/TrkFilteringNodes.h:76