CMS 3D CMS Logo

HICMuonPropagator.h

Go to the documentation of this file.
00001 #ifndef _TRACKER_MU_HIC_PROPAGATOR_H_
00002 #define _TRACKER_MU_HIC_PROPAGATOR_H_
00003 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
00004 #include "TrackingTools/GeomPropagators/interface/Propagator.h"
00005 #include "RecoHIMuon/HiMuSeed/interface/HICConst.h"
00006 #include "TrackingTools/MaterialEffects/interface/MaterialEffectsUpdator.h"
00007 #include "MagneticField/Engine/interface/MagneticField.h"
00008 
00009 #include <string>
00010 #include <iostream>
00011 namespace cms {
00012 class HICMuonPropagator:public Propagator{
00013 public:
00014   HICMuonPropagator(const MagneticField * mf){field = mf;}
00015   virtual  ~HICMuonPropagator(){}
00016   TrajectoryStateOnSurface propagate(const FreeTrajectoryState& fts,
00017                                      const Cylinder& cylin) const;
00018 
00019   TrajectoryStateOnSurface propagate(const FreeTrajectoryState& fts,
00020                                      const Plane& plane) const;
00021 
00022   void setHICConst(HICConst* hh) {theHICConst = hh;}
00023  
00024   virtual HICMuonPropagator * clone() const 
00025   {
00026     return new HICMuonPropagator(field);
00027   }
00028 
00029   TrajectoryStateOnSurface propagate (const FreeTrajectoryState& fts,
00030                                       const Surface& surface) const{
00031     return Propagator::propagate( fts, surface);
00032   }
00033   
00034   virtual std::pair< TrajectoryStateOnSurface, double> 
00035   propagateWithPath (const FreeTrajectoryState& state, const Plane& bc) const {
00036   std::pair<TrajectoryStateOnSurface,double> tp;
00037     return tp;
00038   }
00039   virtual std::pair< TrajectoryStateOnSurface, double> 
00040   propagateWithPath (const FreeTrajectoryState& state, const Cylinder& bc) const{
00041   std::pair<TrajectoryStateOnSurface,double> tp;
00042     return tp;
00043   }  
00044   
00045   virtual const MagneticField* magneticField() const {return field;}
00046 private:
00047   HICConst*             theHICConst;  
00048   const MagneticField * field;
00049 };
00050 }
00051 #endif
00052 
00053 
00054 

Generated on Tue Jun 9 17:43:35 2009 for CMSSW by  doxygen 1.5.4