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

TrackMasterProjector.h

Go to the documentation of this file.
00001 #ifndef TRACKPROJECTORS_TRACKMASTERPROJECTOR_H 
00002 #define TRACKPROJECTORS_TRACKMASTERPROJECTOR_H 1
00003 
00004 // Include files
00005 // -------------
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 TrackMasterProjector : public GaudiTool,
00026                              virtual public ITrackProjector {
00027 public:
00030   StatusCode project( const State& state,
00031                       Measurement& meas );
00032   
00034   const HepVector& projectionMatrix() const;
00035 
00037   double chi2() const;
00038 
00040   double residual() const;
00041 
00043   double errResidual() const;
00044 
00046   TrackMasterProjector( const std::string& type, 
00047                         const std::string& name,
00048                         const IInterface* parent );
00049 
00050   virtual ~TrackMasterProjector( ); 
00051 
00052   StatusCode initialize();
00053 
00054 protected:
00055 
00056   StatusCode selectProjector( const Measurement::Type& type );
00057 
00058 private:
00059 
00060   std::string m_OTProjName;
00061   std::string m_ITProjName;
00062   std::string m_VeloRProjName;
00063   std::string m_VeloPhiProjName;
00064 
00065   std::map<Measurement::Type,ITrackProjector*> m_projectors;
00066 
00067   Measurement::Type m_selectedMeasType;
00068 
00069   ITrackProjector*  m_selectedProjector;
00070 };
00071 #endif // TRACKPROJECTORS_TRACKMASTERPROJECTOR_H

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