#include <FitNode.h>
Inheritance diagram for FitNode:
Public Member Functions | |
FitNode () | |
Default constructor. | |
FitNode (Measurement *aHit) | |
Constructor from a Measurement. | |
virtual | ~FitNode () |
Destructor. | |
const HepMatrix & | transportMatrix () const |
retrieve transport matrix | |
const HepVector & | transportVector () const |
retrieve transport vector | |
const HepSymMatrix & | noiseMatrix () const |
retrieve noise matrix | |
void | setTransportMatrix (HepMatrix transportMatrix) |
set transport matrix | |
void | setTransportVector (const HepVector &transportVector) |
set transport vector | |
void | setNoiseMatrix (const HepSymMatrix &noiseMatrix) |
set noise matrix | |
State * | predictedState () const |
retrieved state predicted by the kalman filter step | |
void | setPredictedState (State *predictedState) |
set state predicted by the kalman filter | |
void | updatePredictedState (State *predictedState) |
Update the State predicted by the Kalman filter. | |
State * | filteredState () const |
get filtered state from the kalman filter step | |
void | setFilteredState (State *filteredState) |
set filtered state from the kalman filter step | |
void | updateFilteredState (State *filteredState) |
Update the filtered state from the Kalman filter step. | |
State * | bestState () const |
get best = smoothed state from node | |
void | setBestState (State *bestState) |
set best = smoothed state from node | |
void | updateBestState (State *state) |
update best = smoothed state from node | |
void | addNode (FitNode *node) |
add the transport transformation of prevNode to this node | |
double | z () const |
z position of Node | |
Private Attributes | |
HepMatrix | m_transportMatrix |
transport matrix | |
HepVector | m_transportVector |
transport vector | |
HepSymMatrix | m_noiseMatrix |
noise matrix | |
State * | m_predictedState |
predicted state from filter step | |
State * | m_filteredState |
filtered State at this Node |
Definition at line 30 of file FitNode.h.
|
Default constructor.
Definition at line 28 of file FitNode.cpp. References m_noiseMatrix, m_transportMatrix, and m_transportVector. 00028 : 00029 m_predictedState(0), 00030 m_filteredState(0) 00031 { 00032 // FitNode default constructer 00033 m_transportMatrix = HepMatrix(5, 5, 1); 00034 m_transportVector = HepVector(5, 0); 00035 m_noiseMatrix = HepSymMatrix(5, 0); 00036 m_state = 0; 00037 }
|
|
Constructor from a Measurement.
Definition at line 42 of file FitNode.cpp. References m_noiseMatrix, m_transportMatrix, and m_transportVector. 00042 : 00043 m_predictedState(0), 00044 m_filteredState(0) 00045 { 00046 //FitNode constructer 00047 m_transportMatrix = HepMatrix(5, 5, 1); 00048 m_transportVector = HepVector(5, 0); 00049 m_noiseMatrix = HepSymMatrix(5, 0); 00050 m_state = 0; 00051 m_measurement = aMeas; 00052 }
|
|
Destructor.
Definition at line 57 of file FitNode.cpp. References m_filteredState, and m_predictedState. 00058 { 00059 delete m_predictedState; 00060 delete m_filteredState; 00061 delete m_state; 00062 }
|
|
add the transport transformation of prevNode to this node
Definition at line 130 of file FitNode.cpp. References m_noiseMatrix, m_transportMatrix, and m_transportVector. 00131 { 00132 // add the transport transformation of prevNode to this node 00133 m_transportVector += m_transportMatrix * prevNode->transportVector() ; 00134 m_noiseMatrix += (prevNode->noiseMatrix()).similarity( m_transportMatrix ); 00135 m_transportMatrix = m_transportMatrix * prevNode->transportMatrix(); 00136 }
|
|
get best = smoothed state from node
Definition at line 92 of file FitNode.h. Referenced by setBestState(). 00092 { return m_state; }
|
|
get filtered state from the kalman filter step
Definition at line 80 of file FitNode.h. References m_filteredState. Referenced by setFilteredState(), and updateFilteredState(). 00080 { return m_filteredState; }
|
|
retrieve noise matrix
Definition at line 51 of file FitNode.h. References m_noiseMatrix. Referenced by setNoiseMatrix(). 00051 { return m_noiseMatrix; }
|
|
retrieved state predicted by the kalman filter step
Definition at line 69 of file FitNode.h. References m_predictedState. Referenced by setPredictedState(), and updatePredictedState(). 00069 { return m_predictedState; }
|
|
set best = smoothed state from node
Definition at line 95 of file FitNode.h. References bestState(). 00095 { m_state = bestState; }
|
|
set filtered state from the kalman filter step
Definition at line 84 of file FitNode.h. References filteredState(), and m_filteredState. 00084 { 00085 m_filteredState = filteredState; 00086 }
|
|
set noise matrix
Definition at line 64 of file FitNode.h. References m_noiseMatrix, and noiseMatrix(). 00064 { 00065 m_noiseMatrix = noiseMatrix; 00066 }
|
|
set state predicted by the kalman filter
Definition at line 72 of file FitNode.h. References m_predictedState, and predictedState(). 00072 { 00073 m_predictedState = predictedState; 00074 }
|
|
set transport matrix
Definition at line 54 of file FitNode.h. References m_transportMatrix. 00054 { 00055 m_transportMatrix = transportMatrix; 00056 }
|
|
set transport vector
Definition at line 59 of file FitNode.h. References m_transportVector, and transportVector(). 00059 { 00060 m_transportVector = transportVector; 00061 }
|
|
retrieve transport matrix
Definition at line 45 of file FitNode.h. References m_transportMatrix. 00045 { return m_transportMatrix; }
|
|
retrieve transport vector
Definition at line 48 of file FitNode.h. References m_transportVector. Referenced by setTransportVector(). 00048 { return m_transportVector; }
|
|
update best = smoothed state from node update the best state Definition at line 109 of file FitNode.cpp. References Node::clone(), and Node::state(). 00110 { 00112 //if pointer not set clone state - else copy (not great) 00113 if ( !m_state ) { 00114 m_state = state -> clone(); 00115 } 00116 else{ 00117 // get reference to the state vector and cov 00118 HepVector& tX = m_state -> state(); 00119 HepSymMatrix& tC = m_state -> covariance(); 00120 00121 //update 00122 tX = state -> state(); 00123 tC = state -> covariance(); 00124 } 00125 }
|
|
Update the filtered state from the Kalman filter step.
Definition at line 88 of file FitNode.cpp. References Node::clone(), filteredState(), m_filteredState, and Node::state(). 00089 { 00090 //if pointer not set clone state - else copy (not great) 00091 if ( !m_filteredState ) { 00092 m_filteredState = filteredState -> clone(); 00093 } 00094 else{ 00095 // get reference to the state vector and cov 00096 HepVector& tX = m_filteredState -> state(); 00097 HepSymMatrix& tC = m_filteredState -> covariance(); 00098 00099 //update 00100 tX = filteredState -> state(); 00101 tC = filteredState -> covariance(); 00102 00103 } 00104 }
|
|
Update the State predicted by the Kalman filter.
Definition at line 67 of file FitNode.cpp. References Node::clone(), m_predictedState, predictedState(), and Node::state(). 00068 { 00069 //if pointer not set clone state - else copy (not great) 00070 if ( !m_predictedState ) { 00071 m_predictedState = predictedState -> clone(); 00072 } 00073 else{ 00074 // get reference to the state vector and cov 00075 HepVector& tX = m_predictedState -> state(); 00076 HepSymMatrix& tC = m_predictedState -> covariance(); 00077 00078 //update 00079 tX = predictedState -> state(); 00080 tC = predictedState -> covariance(); 00081 00082 } 00083 }
|
|
z position of Node
Definition at line 104 of file FitNode.h. 00104 { return m_measurement -> z(); };
|
|
Definition at line 113 of file FitNode.h. Referenced by filteredState(), setFilteredState(), updateFilteredState(), and ~FitNode(). |
|
noise matrix
Definition at line 110 of file FitNode.h. Referenced by addNode(), FitNode(), noiseMatrix(), and setNoiseMatrix(). |
|
predicted state from filter step
Definition at line 112 of file FitNode.h. Referenced by predictedState(), setPredictedState(), updatePredictedState(), and ~FitNode(). |
|
transport matrix
Definition at line 104 of file FitNode.h. Referenced by addNode(), FitNode(), setTransportMatrix(), and transportMatrix(). |
|
transport vector
Definition at line 109 of file FitNode.h. Referenced by addNode(), FitNode(), setTransportVector(), and transportVector(). |