Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef _COMMONRECO_PropagationDirectionChooser_H_
0002 #define _COMMONRECO_PropagationDirectionChooser_H_
0003 
0004 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h"
0005 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
0006 
0007 class FreeTrajectoryState;
0008 class Surface;
0009 class Cylinder;
0010 class Plane;
0011 
0012 /** Determination of propagation direction towards a surface.
0013  * Uses code from the old BidirectionalPropagator. */
0014 
0015 class PropagationDirectionChooser {
0016 public:
0017   PropagationDirectionChooser() {}
0018 
0019   ~PropagationDirectionChooser() {}
0020 
0021   PropagationDirection operator()(const FreeTrajectoryState&, const Surface&) const;
0022 
0023   PropagationDirection operator()(const FreeTrajectoryState&, const Plane&) const;
0024 
0025   PropagationDirection operator()(const FreeTrajectoryState&, const Cylinder&) const;
0026 };
0027 
0028 #endif