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.3 2005/04/18 09:12:05 hernando 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 #include "Tools/ITrackProjector.h"            // Interface
00010 
00011 #include "Event/State.h"
00012 #include "Event/Measurement.h"
00013 
00023 class TrackProjector : public GaudiTool,
00024                        virtual public ITrackProjector {
00025 public:
00026 
00029   virtual StatusCode project( const State& state,
00030                               Measurement& meas );
00031   
00032 
00034   virtual const HepVector& projectionMatrix() const;
00035 
00037   double chi2() const;
00038 
00040   double residual() const;
00041 
00043   double errResidual() const;
00044 
00046   TrackProjector( const std::string& type, 
00047                   const std::string& name,
00048                   const IInterface* parent );
00049 
00050   virtual ~TrackProjector( ); 
00051 
00052 protected:
00053 
00054   void computeResidual(const State& state, const Measurement& meas);
00055   void computeErrorResidual(const State& state, const Measurement& meas);
00056 
00057 protected:
00058   double    m_residual;
00059   double    m_errResidual;
00060   HepVector m_H;
00061 
00062 private:
00063 
00064 };
00065 #endif // TRACKPROJECTORS_TRACKPROJECTOR_H

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