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 () const
 retrieved state predicted by the kalman filter step
void setPredictedState (const State &predictedState)
 set state predicted by the kalman filter
const StatefilteredState () const
 get 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 86 of file FitNode.cpp.

References m_noiseMatrix, m_transportMatrix, and m_transportVector.

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

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

get filtered state from the kalman filter step

Definition at line 73 of file FitNode.h.

References m_filteredState.

Referenced by setFilteredState().

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

State& FitNode::predictedState  )  const [inline]
 

retrieved 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(), m_filteredState, and Node::setState().

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   setState(filteredState);
00081 }

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 83 of file FitNode.h.

References Measurement::z().

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


Member Data Documentation

State* FitNode::m_filteredState [private]
 

filtered State at this Node

Definition at line 91 of file FitNode.h.

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

HepSymMatrix FitNode::m_noiseMatrix [private]
 

noise matrix

Definition at line 89 of file FitNode.h.

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

State* FitNode::m_predictedState [private]
 

predicted state from filter step

Definition at line 90 of file FitNode.h.

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

HepMatrix FitNode::m_transportMatrix [private]
 

transport matrix

Definition at line 83 of file FitNode.h.

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

HepVector FitNode::m_transportVector [private]
 

transport vector

Definition at line 88 of file FitNode.h.

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


The documentation for this class was generated from the following files:
Generated on Fri May 27 13:59:40 2005 for New Track Event Model by doxygen 1.4.1