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

FitNode.h

Go to the documentation of this file.
00001 #ifndef TRACKFITEVENT_FITNODE_H
00002 #define TRACKFITEVENT_FITNODE_H 1
00003 
00004 // from CLHEP
00005 #include "CLHEP/Matrix/Matrix.h"
00006 
00007 // from TrackEvent
00008 #include "Event/Node.h"
00009 #include "Event/Measurement.h"
00010 
00030 class FitNode: public Node {
00031 public:
00033   FitNode();
00034 
00036   FitNode( Measurement* aHit );
00037 
00039   virtual ~FitNode();
00040 
00041 //  /// retrieve pointer to Node Measurement
00042 //  Measurement* measurementOnTrack() const { return m_meas; }
00043 
00045   const HepMatrix& transportMatrix() const  { return m_transportMatrix; }
00046 
00048   const HepVector& transportVector() const { return m_transportVector; }
00049 
00051   const HepSymMatrix& noiseMatrix() const { return m_noiseMatrix; }
00052 
00054   void setTransportMatrix( HepMatrix transportMatrix ) {
00055     m_transportMatrix = transportMatrix;
00056   }
00057   
00059   void setTransportVector( const HepVector& transportVector ) {
00060     m_transportVector = transportVector;
00061   }
00062   
00064   void setNoiseMatrix( const HepSymMatrix& noiseMatrix ) {
00065     m_noiseMatrix = noiseMatrix;
00066   }  
00067 
00069   State* predictedState() const             { return m_predictedState; }
00070 
00072   void setPredictedState( State* predictedState ) {
00073     m_predictedState = predictedState; 
00074   }
00075 
00077   void updatePredictedState( State* predictedState );
00078 
00080   State* filteredState() const              { return m_filteredState; }
00081   
00082 
00084   void setFilteredState( State* filteredState ) {
00085     m_filteredState = filteredState;
00086   }
00087 
00089   void updateFilteredState( State* filteredState );
00090 
00092 State* bestState() const                 {  return m_state;  }
00093 
00095   void setBestState( State* bestState )      {  m_state = bestState; }
00096   
00098   void updateBestState( State* state );
00099 
00101   void addNode( FitNode* node );
00102 
00104   double z() const   { return m_measurement -> z(); };
00105 
00106 private:
00107 
00108   HepMatrix      m_transportMatrix;  
00109   HepVector      m_transportVector;  
00110   HepSymMatrix   m_noiseMatrix;      
00111 //  Measurement*   m_meas;             ///< measurement
00112   State*         m_predictedState;   
00113   State*         m_filteredState;    
00114 //  State*         m_bestState;        ///< best state at this node
00115 
00116 };
00117 
00118 
00119 #endif // TRACKFITEVENT_FITNODE_H

Generated on Wed May 4 11:52:34 2005 for New Track Event Model by doxygen 1.4.1