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 &meas)
 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 (const HepMatrix &transportMatrix)
 set transport matrix
void setTransportVector (const HepVector &transportVector)
 set transport vector
void setNoiseMatrix (const HepSymMatrix &noiseMatrix)
 set noise matrix
StatepredictedState ()
 retrieve state predicted by the kalman filter step
const StatepredictedState () const
 retrieve state predicted by the kalman filter step
void setPredictedState (const State &predictedState)
 set state predicted by the kalman filter
StatefilteredState ()
 retrieve filtered state from the kalman filter step
const StatefilteredState () const
 retrieve filtered state from the kalman filter step
void setFilteredState (const State &filteredState)
 set filtered state from the kalman filter step
void addNode (const 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 }

FitNode::FitNode Measurement meas  ) 
 

Constructor from a Measurement.

Definition at line 41 of file FitNode.cpp.

References m_noiseMatrix, m_transportMatrix, and m_transportVector.

00041                                   :
00042   m_predictedState(0),
00043   m_filteredState(0)
00044 {
00045   //FitNode constructer
00046   m_transportMatrix = HepMatrix(5, 5, 1);
00047   m_transportVector = HepVector(5, 0);
00048   m_noiseMatrix     = HepSymMatrix(5, 0);
00049   m_measurement     = &aMeas;
00050 }

FitNode::~FitNode  )  [virtual]
 

Destructor.

Definition at line 55 of file FitNode.cpp.

References m_filteredState, and m_predictedState.

00056 {
00057   if (m_predictedState) delete m_predictedState;
00058   if (m_filteredState) delete m_filteredState;
00059 }


Member Function Documentation

void FitNode::addNode const FitNode node  ) 
 

add the transport transformation of prevNode to this node

Definition at line 88 of file FitNode.cpp.

References m_noiseMatrix, m_transportMatrix, and m_transportVector.

00089 {
00090   // add the transport transformation of prevNode to this node
00091   m_transportVector += m_transportMatrix * prevNode.transportVector() ;
00092   m_noiseMatrix += (prevNode.noiseMatrix()).similarity( m_transportMatrix );
00093   m_transportMatrix = m_transportMatrix * prevNode.transportMatrix();  
00094 }

const State& FitNode::filteredState  )  const [inline]
 

retrieve filtered state from the kalman filter step

Definition at line 81 of file FitNode.h.

References m_filteredState.

00082   {return *m_filteredState; }

State& FitNode::filteredState  )  [inline]
 

retrieve filtered state from the kalman filter step

Definition at line 77 of file FitNode.h.

References m_filteredState.

Referenced by setFilteredState().

00078   {return *m_filteredState; }

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

retrieve noise matrix

Definition at line 48 of file FitNode.h.

References m_noiseMatrix.

Referenced by setNoiseMatrix().

00048 { return m_noiseMatrix; }

const State& FitNode::predictedState  )  const [inline]
 

retrieve state predicted by the kalman filter step

Definition at line 70 of file FitNode.h.

References m_predictedState.

00071   { return *m_predictedState; }

State& FitNode::predictedState  )  [inline]
 

retrieve state predicted by the kalman filter step

Definition at line 66 of file FitNode.h.

References m_predictedState.

Referenced by setPredictedState().

00067   { return *m_predictedState; }

void FitNode::setFilteredState const State filteredState  ) 
 

set filtered state from the kalman filter step

Definition at line 75 of file FitNode.cpp.

References State::clone(), filteredState(), and m_filteredState.

00076 {  
00077   //if pointer not set clone state - else copy (not great)
00078   if ( m_filteredState ) delete m_filteredState;
00079   m_filteredState = filteredState.clone();
00080   
00081   //setState(filteredState);
00082   m_state = filteredState.clone();
00083 }

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

set noise matrix

Definition at line 61 of file FitNode.h.

References m_noiseMatrix, and noiseMatrix().

00061                                                          {
00062     m_noiseMatrix = noiseMatrix;
00063   }  

void FitNode::setPredictedState const State predictedState  ) 
 

set state predicted by the kalman filter

Definition at line 64 of file FitNode.cpp.

References State::clone(), m_predictedState, predictedState(), and Node::setState().

00065 {  
00066   //if pointer not set clone state - else copy (not great)
00067   if (m_predictedState) delete m_predictedState;
00068   m_predictedState = predictedState.clone();
00069   setState(predictedState);
00070 }

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

set transport matrix

Definition at line 51 of file FitNode.h.

References m_transportMatrix, and transportMatrix().

00051                                                               {
00052     m_transportMatrix = transportMatrix;
00053   }

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

set transport vector

Definition at line 56 of file FitNode.h.

References m_transportVector, and transportVector().

00056                                                               {
00057     m_transportVector = transportVector;
00058   }

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

retrieve transport matrix

Definition at line 42 of file FitNode.h.

References m_transportMatrix.

Referenced by setTransportMatrix().

00042 { return m_transportMatrix; }

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

retrieve transport vector

Definition at line 45 of file FitNode.h.

References m_transportVector.

Referenced by setTransportVector().

00045 { return m_transportVector; }

double FitNode::z  )  const [inline]
 

z position of Node

Definition at line 91 of file FitNode.h.

References Measurement::z().

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


Member Data Documentation

State* FitNode::m_filteredState [private]
 

filtered State at this Node

Definition at line 99 of file FitNode.h.

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

HepSymMatrix FitNode::m_noiseMatrix [private]
 

noise matrix

Definition at line 97 of file FitNode.h.

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

State* FitNode::m_predictedState [private]
 

predicted state from filter step

Definition at line 98 of file FitNode.h.

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

HepMatrix FitNode::m_transportMatrix [private]
 

transport matrix

Definition at line 91 of file FitNode.h.

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

HepVector FitNode::m_transportVector [private]
 

transport vector

Definition at line 96 of file FitNode.h.

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


The documentation for this class was generated from the following files:
Generated on Mon Jul 4 13:54:38 2005 for New Track Event Model by doxygen 1.4.1