Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:31

0001 #ifndef MultiTrajectoryStateMerger_H
0002 #define MultiTrajectoryStateMerger_H
0003 
0004 #include "TrackingTools/GsfTools/interface/MultiGaussianStateMerger.h"
0005 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0006 
0007 class TrajectoryStateOnSurface;
0008 
0009 /** Merging of MultiTrajectoryStates - uses MultiGaussianStateMergers
0010  *  for the actual merging.
0011  */
0012 
0013 class MultiTrajectoryStateMerger {
0014 public:
0015   MultiTrajectoryStateMerger(const MultiGaussianStateMerger<5>& merger) : theMultiStateMerger(merger.clone()) {}
0016   TrajectoryStateOnSurface merge(const TrajectoryStateOnSurface& tsos) const;
0017   MultiTrajectoryStateMerger* clone() const { return new MultiTrajectoryStateMerger(*this); }
0018 
0019 private:
0020   const std::shared_ptr<const MultiGaussianStateMerger<5> > theMultiStateMerger;
0021 };
0022 
0023 #endif