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

TrackProjector.h

Go to the documentation of this file.
00001 // $Id: TrackProjector.h,v 1.1 2005/05/25 15:51:47 cattanem Exp $
00002 #ifndef TRACKPROJECTORS_TRACKPROJECTOR_H 
00003 #define TRACKPROJECTORS_TRACKPROJECTOR_H 1
00004 
00005 // Include files
00006 // from Gaudi
00007 #include "GaudiAlg/GaudiTool.h"
00008 
00009 // from TrackInterfaces
00010 #include "TrackInterfaces/ITrackProjector.h"            // Interface
00011 
00012 // from TrackEvent
00013 #include "Event/State.h"
00014 #include "Event/Measurement.h"
00015 
00025 class TrackProjector : public GaudiTool,
00026                        virtual public ITrackProjector {
00027 public:
00028 
00031   virtual StatusCode project( const State& state,
00032                               Measurement& meas );
00033   
00034 
00036   virtual const HepVector& projectionMatrix() const;
00037 
00039   double chi2() const;
00040 
00042   double residual() const;
00043 
00045   double errResidual() const;
00046 
00048   TrackProjector( const std::string& type, 
00049                   const std::string& name,
00050                   const IInterface* parent );
00051 
00052   virtual ~TrackProjector( ); 
00053 
00054 protected:
00055 
00056   void computeResidual(const State& state, const Measurement& meas);
00057   void computeErrorResidual(const State& state, const Measurement& meas);
00058 
00059 protected:
00060   double    m_residual;
00061   double    m_errResidual;
00062   HepVector m_H;
00063 
00064 private:
00065 
00066 };
00067 #endif // TRACKPROJECTORS_TRACKPROJECTOR_H

Generated on Fri May 27 13:59:37 2005 for New Track Event Model by doxygen 1.4.1