00001 #ifndef TRACKINTERFACES_ITRACKPROJECTOR_H
00002 #define TRACKINTERFACES_ITRACKPROJECTOR_H 1
00003
00004
00005
00006
00007 #include "GaudiKernel/IAlgTool.h"
00008
00009
00010 #include "CLHEP/Matrix/Matrix.h"
00011
00012 class State;
00013 class Measurement;
00014
00015 static const InterfaceID IID_ITrackProjector ( "ITrackProjector", 1, 0 );
00016
00025 class ITrackProjector : virtual public IAlgTool {
00026 public:
00027
00028 static const InterfaceID& interfaceID() { return IID_ITrackProjector; }
00029
00032 virtual StatusCode project( const State& state,
00033 Measurement& meas ) = 0;
00034
00036 virtual const HepVector& projectionMatrix() const = 0;
00037
00039 virtual double chi2() const = 0;
00040
00042 virtual double residual() const = 0;
00043
00045 virtual double errResidual() const = 0;
00046
00047 };
00048
00049
00050
00051
00052
00053 #endif // TRACKINTERFACES_ITRACKPROJECTOR_H