Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

FitNode Class Reference

#include <FitNode.h>

Inheritance diagram for FitNode:

Node List of all members.

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
StatepredictedState () 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.
StatefilteredState () 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.
StatebestState () 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
Statem_predictedState
 predicted state from filter step
Statem_filteredState
 filtered State at this Node

Detailed Description

This File contains the declaration of the FitNode. A FitNode is a basket of objects at a given z position. The information inside the FitNode has to be sufficient to allow smoothing and refitting. At the moment a FitNode contains or allows you to access info on the the (kth) measurement, transport from k --> k + 1 , predicted state at k+1 (predicted from filter step) and the best state at k (notation note filter procedes from k -> k + 1 -> k + 2 ......)

Author:
Eduardo Rodrigues (adaptations to the new track event model)
Date:
2005-04-15
Author:
Matthew Needham
Date:
19-08-1999

Definition at line 30 of file FitNode.h.


Constructor & Destructor Documentation

FitNode::FitNode  ) 
 

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 }

FitNode::FitNode Measurement aHit  ) 
 

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 }

FitNode::~FitNode  )  [virtual]
 

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 }


Member Function Documentation

void FitNode::addNode FitNode node  ) 
 

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 }

State* FitNode::bestState  )  const [inline]
 

get best = smoothed state from node

Definition at line 92 of file FitNode.h.

Referenced by setBestState().

00092 {  return m_state;  }

State* FitNode::filteredState  )  const [inline]
 

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; }

const HepSymMatrix& FitNode::noiseMatrix  )  const [inline]
 

retrieve noise matrix

Definition at line 51 of file FitNode.h.

References m_noiseMatrix.

Referenced by setNoiseMatrix().

00051 { return m_noiseMatrix; }

State* FitNode::predictedState  )  const [inline]
 

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; }

void FitNode::setBestState State bestState  )  [inline]
 

set best = smoothed state from node

Definition at line 95 of file FitNode.h.

References bestState().

00095 {  m_state = bestState; }

void FitNode::setFilteredState State filteredState  )  [inline]
 

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   }

void FitNode::setNoiseMatrix const HepSymMatrix &  noiseMatrix  )  [inline]
 

set noise matrix

Definition at line 64 of file FitNode.h.

References m_noiseMatrix, and noiseMatrix().

00064                                                          {
00065     m_noiseMatrix = noiseMatrix;
00066   }  

void FitNode::setPredictedState State predictedState  )  [inline]
 

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   }

void FitNode::setTransportMatrix HepMatrix  transportMatrix  )  [inline]
 

set transport matrix

Definition at line 54 of file FitNode.h.

References m_transportMatrix.

00054                                                        {
00055     m_transportMatrix = transportMatrix;
00056   }

void FitNode::setTransportVector const HepVector &  transportVector  )  [inline]
 

set transport vector

Definition at line 59 of file FitNode.h.

References m_transportVector, and transportVector().

00059                                                               {
00060     m_transportVector = transportVector;
00061   }

const HepMatrix& FitNode::transportMatrix  )  const [inline]
 

retrieve transport matrix

Definition at line 45 of file FitNode.h.

References m_transportMatrix.

00045 { return m_transportMatrix; }

const HepVector& FitNode::transportVector  )  const [inline]
 

retrieve transport vector

Definition at line 48 of file FitNode.h.

References m_transportVector.

Referenced by setTransportVector().

00048 { return m_transportVector; }

void FitNode::updateBestState State state  ) 
 

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 }

void FitNode::updateFilteredState State filteredState  ) 
 

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 }

void FitNode::updatePredictedState State predictedState  ) 
 

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 }

double FitNode::z  )  const [inline]
 

z position of Node

Definition at line 104 of file FitNode.h.

00104 { return m_measurement -> z(); };


Member Data Documentation

State* FitNode::m_filteredState [private]
 

filtered State at this Node

Definition at line 113 of file FitNode.h.

Referenced by filteredState(), setFilteredState(), updateFilteredState(), and ~FitNode().

HepSymMatrix FitNode::m_noiseMatrix [private]
 

noise matrix

Definition at line 110 of file FitNode.h.

Referenced by addNode(), FitNode(), noiseMatrix(), and setNoiseMatrix().

State* FitNode::m_predictedState [private]
 

predicted state from filter step

Definition at line 112 of file FitNode.h.

Referenced by predictedState(), setPredictedState(), updatePredictedState(), and ~FitNode().

HepMatrix FitNode::m_transportMatrix [private]
 

transport matrix

Definition at line 104 of file FitNode.h.

Referenced by addNode(), FitNode(), setTransportMatrix(), and transportMatrix().

HepVector FitNode::m_transportVector [private]
 

transport vector

Definition at line 109 of file FitNode.h.

Referenced by addNode(), FitNode(), setTransportVector(), and transportVector().


The documentation for this class was generated from the following files:
Generated on Thu May 12 12:28:06 2005 for New Track Event Model by doxygen 1.4.1