CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/TrackingTools/GsfTracking/interface/MultiTrajectoryStateMerger.h

Go to the documentation of this file.
00001 #ifndef MultiTrajectoryStateMerger_H
00002 #define MultiTrajectoryStateMerger_H
00003 
00004 #include "TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h"
00005 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00006 
00007 #include "boost/shared_ptr.hpp"
00008 
00009 class TrajectoryStateOnSurface;
00010 
00015 class MultiTrajectoryStateMerger {
00016 public:
00017   MultiTrajectoryStateMerger ( const MultiGaussianStateMerger<5>& merger ) :
00018     theMultiStateMerger(merger.clone()) {}
00019   TrajectoryStateOnSurface merge(const TrajectoryStateOnSurface& tsos) const;
00020   MultiTrajectoryStateMerger* clone() const {
00021     return new MultiTrajectoryStateMerger(*this);
00022   }
00023 
00024  private:
00025   const boost::shared_ptr< const MultiGaussianStateMerger<5> > theMultiStateMerger;
00026 };  
00027 
00028 #endif