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 // from Gaudi
00006 #include "GaudiAlg/GaudiTool.h"
00007 
00008 #include "Tools/ITrackProjector.h"            // Interface
00009 
00010 #include "Event/State.h"
00011 #include "Event/Measurement.h"
00012 
00022 class TrackMasterProjector : public GaudiTool,
00023                              virtual public ITrackProjector {
00024 public:
00027   StatusCode project( const State& state,
00028                       Measurement& meas );
00029   
00031   const HepVector& projectionMatrix() const;
00032 
00034   double chi2() const;
00035 
00037   double residual() const;
00038 
00040   double errResidual() const;
00041 
00043   TrackMasterProjector( const std::string& type, 
00044                         const std::string& name,
00045                         const IInterface* parent );
00046 
00047   virtual ~TrackMasterProjector( ); 
00048 
00049   StatusCode initialize();
00050 
00051 protected:
00052 
00053   StatusCode selectProjector( const Measurement::Type& type );
00054 
00055 private:
00056 
00057   std::string m_OTProjName;
00058   std::string m_ITProjName;
00059   std::string m_VeloRProjName;
00060   std::string m_VeloPhiProjName;
00061 
00062   std::map<Measurement::Type,ITrackProjector*> m_projectors;
00063 
00064   Measurement::Type m_selectedMeasType;
00065 
00066   ITrackProjector*  m_selectedProjector;
00067 };
00068 #endif // TRACKPROJECTORS_TRACKMASTERPROJECTOR_H

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