00001
00002 #ifndef LHCBINTERFACES_ITRACKPROJECTOR_H
00003 #define LHCBINTERFACES_ITRACKPROJECTOR_H 1
00004
00005
00006 #include "GaudiKernel/IAlgTool.h"
00007
00008 #include "CLHEP/Matrix/Matrix.h"
00009
00010 class State;
00011 class Measurement;
00012 class Node;
00013
00014 static const InterfaceID IID_ITrackProjector ( "ITrackProjector", 1, 0 );
00015
00024 class ITrackProjector : virtual public IAlgTool {
00025 public:
00026
00027 static const InterfaceID& interfaceID() { return IID_ITrackProjector; }
00028
00031 virtual double project( const State& state,
00032 const Measurement& meas ) const = 0;
00033
00035 virtual Node& node() const = 0;
00036
00038 virtual double chi2() const = 0;
00039
00041 virtual double residual() const = 0;
00042
00044 virtual double errResidual() const = 0;
00045
00046 };
00047
00048
00049
00050
00051
00052 #endif // LHCBINTERFACES_ITRACKPROJECTOR_H