ATLAS Offline Software
Public Member Functions | Protected Attributes | List of all members
Trk::TrkFilteringNode2D Class Referenceabstract

#include <TrkFilteringNodes.h>

Inheritance diagram for Trk::TrkFilteringNode2D:
Collaboration diagram for Trk::TrkFilteringNode2D:

Public Member Functions

 TrkFilteringNode2D ()
 
virtual ~TrkFilteringNode2D ()
 
virtual int getKalmanGain (double[5][2])
 
virtual int getResiduals (double[2])
 
virtual int getInverseResidualVariance (double[2][2])
 
virtual int getMeasurementMatrix (double[2][5])
 
virtual void runKalmanFilter (TrkTrackState *)
 
virtual double calculateChi2 ()
 
virtual void validateMeasurement (TrkTrackState *)=0
 
virtual void updateTrackState (TrkTrackState *)=0
 
virtual void report ()=0
 
virtual bool isValidated ()
 
virtual void setNodeState (int)
 
virtual int getNodeState ()
 
virtual void setNodeType (char)
 
virtual char getNodeType ()
 
virtual void updateInternal ()
 
virtual void updateWithRIO (const RIO_OnTrack *)=0
 
TrkTrackStategetTrackState ()
 
virtual TrkPlanarSurfacegetSurface ()
 
virtual const PrepRawDatagetPrepRawData ()
 
virtual void serialize (char fileName[])=0
 
double getChi2 () const
 
virtual double getChi2Distance (TrkTrackState *)=0
 
int getNdof () const
 

Protected Attributes

double m_B [5][2]
 
double m_D [2][2]
 
double m_H [2][5]
 
double m_K [5][2]
 
double m_resid [2]
 
double m_m [2]
 
double m_V [2][2]
 
int m_nodeState
 
double m_chi2Cut
 
char m_nodeType
 
TrkPlanarSurfacem_pSurface
 
const PrepRawDatam_pPRD
 
double m_dChi2
 
int m_ndof
 
TrkTrackStatem_pTrackState
 

Detailed Description

Definition at line 49 of file Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h.

Constructor & Destructor Documentation

◆ TrkFilteringNode2D()

Trk::TrkFilteringNode2D::TrkFilteringNode2D ( )
inline

◆ ~TrkFilteringNode2D()

virtual Trk::TrkFilteringNode2D::~TrkFilteringNode2D ( )
inlinevirtual

Member Function Documentation

◆ calculateChi2()

double TrkFilteringNode2D::calculateChi2 ( )
virtual

Definition at line 75 of file TrkFilteringNodes.cxx.

75  {
76  double dchi2;
77 
78  dchi2 = m_resid[0] * m_resid[0] * m_D[0][0] + 2 * m_resid[0] * m_resid[1] * m_D[0][1] +
79  m_resid[1] * m_resid[1] * m_D[1][1];
80  return dchi2;
81  }

◆ getChi2()

double TrkBaseNode::getChi2 ( ) const
inherited

Definition at line 69 of file TrkBaseNode.cxx.

69  {
70  return m_dChi2;
71  }

◆ getChi2Distance()

virtual double Trk::TrkBaseNode::getChi2Distance ( TrkTrackState )
pure virtualinherited

◆ getInverseResidualVariance()

int TrkFilteringNode2D::getInverseResidualVariance ( double  V[2][2])
virtual

Implements Trk::TrkBaseNode.

Definition at line 113 of file TrkFilteringNodes.cxx.

113  {
114  int i, j;
115 
116  for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) V[i][j] = m_D[i][j];
117  return 2;
118  }

◆ getKalmanGain()

int TrkFilteringNode2D::getKalmanGain ( double  K[5][2])
virtual

Implements Trk::TrkBaseNode.

Definition at line 100 of file TrkFilteringNodes.cxx.

100  {
101  int i, j;
102 
103  for (i = 0; i < 5; i++) for (j = 0; j < 2; j++) K[i][j] = m_K[i][j];
104  return 2;
105  }

◆ getMeasurementMatrix()

int TrkFilteringNode2D::getMeasurementMatrix ( double  H[2][5])
virtual

Implements Trk::TrkBaseNode.

Definition at line 120 of file TrkFilteringNodes.cxx.

120  {
121  int i, j;
122 
123  for (j = 0; j < 2; j++) for (i = 0; i < 5; i++) H[j][i] = m_H[j][i];
124  return 2;
125  }

◆ getNdof()

int TrkBaseNode::getNdof ( ) const
inherited

Definition at line 65 of file TrkBaseNode.cxx.

65  {
66  return m_ndof;
67  }

◆ getNodeState()

int TrkBaseNode::getNodeState ( )
virtualinherited

Definition at line 53 of file TrkBaseNode.cxx.

53  {
54  return m_nodeState;
55  }

◆ getNodeType()

char TrkBaseNode::getNodeType ( )
virtualinherited

Definition at line 61 of file TrkBaseNode.cxx.

61  {
62  return m_nodeType;
63  }

◆ getPrepRawData()

const PrepRawData * TrkBaseNode::getPrepRawData ( )
virtualinherited

Definition at line 39 of file TrkBaseNode.cxx.

39  {
40  return m_pPRD;
41  }

◆ getResiduals()

int TrkFilteringNode2D::getResiduals ( double  r[2])
virtual

Implements Trk::TrkBaseNode.

Definition at line 107 of file TrkFilteringNodes.cxx.

107  {
108  r[0] = m_resid[0];
109  r[1] = m_resid[1];
110  return 2;
111  }

◆ getSurface()

TrkPlanarSurface * TrkBaseNode::getSurface ( )
virtualinherited

Definition at line 35 of file TrkBaseNode.cxx.

35  {
36  return m_pSurface;
37  }

◆ getTrackState()

TrkTrackState * TrkBaseNode::getTrackState ( )
inherited

Definition at line 43 of file TrkBaseNode.cxx.

43  {
44  return m_pTrackState;
45  }

◆ isValidated()

bool TrkBaseNode::isValidated ( )
virtualinherited

Definition at line 31 of file TrkBaseNode.cxx.

31  {
32  return (m_nodeState != 0);
33  }

◆ report()

virtual void Trk::TrkBaseNode::report ( )
pure virtualinherited

◆ runKalmanFilter()

void TrkFilteringNode2D::runKalmanFilter ( TrkTrackState pTS)
virtual

Definition at line 83 of file TrkFilteringNodes.cxx.

83  {
84  int i, j, idx = 0;
85  double updState[5], updCov[15];
86 
87  for (i = 0; i < 5; i++)
88  for (j = 0; j < 2; j++)
89  m_K[i][j] = m_B[i][0] * m_D[0][j] + m_B[i][1] * m_D[1][j];
90  for (i = 0; i < 5; i++)
91  updState[i] = m_K[i][0] * m_resid[0] + m_K[i][1] * m_resid[1];
92  pTS->updateTrackState(updState);
93  for (i = 0; i < 5; i++) for (j = i; j < 5; j++) {
94  updCov[idx] = -m_K[i][0] * m_B[j][0] - m_K[i][1] * m_B[j][1];
95  idx++;
96  }
97  pTS->updateTrackCovariance(updCov);
98  }

◆ serialize()

virtual void Trk::TrkBaseNode::serialize ( char  fileName[])
pure virtualinherited

◆ setNodeState()

void TrkBaseNode::setNodeState ( int  s)
virtualinherited

Definition at line 49 of file TrkBaseNode.cxx.

49  {
50  m_nodeState = s;
51  }

◆ setNodeType()

void TrkBaseNode::setNodeType ( char  s)
virtualinherited

Definition at line 57 of file TrkBaseNode.cxx.

57  {
58  m_nodeType = s;
59  }

◆ updateInternal()

void TrkBaseNode::updateInternal ( )
virtualinherited

Reimplemented in Trk::TrkTrtNode.

Definition at line 73 of file TrkBaseNode.cxx.

73  {
74  }

◆ updateTrackState()

virtual void Trk::TrkBaseNode::updateTrackState ( TrkTrackState )
pure virtualinherited

◆ updateWithRIO()

virtual void Trk::TrkBaseNode::updateWithRIO ( const RIO_OnTrack )
pure virtualinherited

◆ validateMeasurement()

virtual void Trk::TrkBaseNode::validateMeasurement ( TrkTrackState )
pure virtualinherited

Member Data Documentation

◆ m_B

double Trk::TrkFilteringNode2D::m_B[5][2]
protected

◆ m_chi2Cut

double Trk::TrkBaseNode::m_chi2Cut
protectedinherited

◆ m_D

double Trk::TrkFilteringNode2D::m_D[2][2]
protected

◆ m_dChi2

double Trk::TrkBaseNode::m_dChi2
protectedinherited

◆ m_H

double Trk::TrkFilteringNode2D::m_H[2][5]
protected

◆ m_K

double Trk::TrkFilteringNode2D::m_K[5][2]
protected

◆ m_m

double Trk::TrkFilteringNode2D::m_m[2]
protected

◆ m_ndof

int Trk::TrkBaseNode::m_ndof
protectedinherited

◆ m_nodeState

int Trk::TrkBaseNode::m_nodeState
protectedinherited

◆ m_nodeType

char Trk::TrkBaseNode::m_nodeType
protectedinherited

◆ m_pPRD

const PrepRawData* Trk::TrkBaseNode::m_pPRD
protectedinherited

◆ m_pSurface

TrkPlanarSurface* Trk::TrkBaseNode::m_pSurface
protectedinherited

◆ m_pTrackState

TrkTrackState* Trk::TrkBaseNode::m_pTrackState
protectedinherited

◆ m_resid

double Trk::TrkFilteringNode2D::m_resid[2]
protected

◆ m_V

double Trk::TrkFilteringNode2D::m_V[2][2]
protected

The documentation for this class was generated from the following files:
Trk::TrkBaseNode::m_pSurface
TrkPlanarSurface * m_pSurface
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:54
beamspotman.r
def r
Definition: beamspotman.py:676
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TrkTrackState::updateTrackState
void updateTrackState(double *)
Trk::TrkFilteringNode2D::m_D
double m_D[2][2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:61
Trk::TrkBaseNode::m_pTrackState
TrkTrackState * m_pTrackState
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:58
Trk::TrkFilteringNode2D::m_m
double m_m[2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:63
lumiFormat.i
int i
Definition: lumiFormat.py:92
Trk::TrkBaseNode::m_dChi2
double m_dChi2
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:56
Trk::TrkBaseNode::m_nodeType
char m_nodeType
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:53
Trk::TrkFilteringNode2D::m_V
double m_V[2][2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:64
Trk::TrkBaseNode::m_ndof
int m_ndof
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:57
Trk::TrkFilteringNode2D::m_B
double m_B[5][2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:61
Trk::TrkFilteringNode2D::m_resid
double m_resid[2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:62
Trk::TrkBaseNode::m_nodeState
int m_nodeState
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:51
Trk::TrkBaseNode::m_pPRD
const PrepRawData * m_pPRD
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkBaseNode.h:55
Trk::TrkFilteringNode2D::m_H
double m_H[2][5]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:61
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
Trk::TrkFilteringNode2D::m_K
double m_K[5][2]
Definition: Tracking/TrkFitter/TrkDistributedKalmanFilter/TrkDistributedKalmanFilter/TrkFilteringNodes.h:61
TrkTrackState::updateTrackCovariance
void updateTrackCovariance(double *)