CMS 3D CMS Logo

KFSwitching1DUpdator.h

Go to the documentation of this file.
00001 #ifndef KFSwitching1DUpdator_H_
00002 #define KFSwitching1DUpdator_H_
00003 
00013 #include "TrackingTools/PatternTools/interface/TrajectoryStateUpdator.h"
00014 #include "TrackingTools/KalmanUpdators/interface/KFUpdator.h"
00015 #include "TrackingTools/KalmanUpdators/interface/KFStrip1DUpdator.h"
00016 #include "DataFormats/GeometryCommonDetAlgo/interface/DeepCopyPointerByClone.h"
00017 
00018 class KFSwitching1DUpdator : public TrajectoryStateUpdator {
00019 
00020 private:
00021   typedef TrajectoryStateOnSurface TSOS;
00022   
00023 public:
00024 
00025   KFSwitching1DUpdator() : theLocalUpdator(new KFUpdator()),
00026                            theStripUpdator(new KFStrip1DUpdator()) {}
00027 
00028   ~KFSwitching1DUpdator() {}
00029 
00031   virtual TSOS update(const TSOS& aTsos, const TransientTrackingRecHit& aHit) const;
00032 
00033   virtual KFSwitching1DUpdator * clone() const 
00034   {
00035     return new KFSwitching1DUpdator(*this);
00036   }
00037 
00038 private:
00040   const KFUpdator& localUpdator() const {return *theLocalUpdator;}
00042   const KFStrip1DUpdator& stripUpdator() const {return *theStripUpdator;}
00043 
00044 private:
00045   DeepCopyPointerByClone<const KFUpdator> theLocalUpdator;
00046   DeepCopyPointerByClone<const KFStrip1DUpdator> theStripUpdator;
00047 
00048 };
00049 
00050 #endif// KFSwitching1DUpdator_H_

Generated on Tue Jun 9 17:48:22 2009 for CMSSW by  doxygen 1.5.4