00001 #ifndef _COMMONRECO_PropagationDirectionChooser_H_ 00002 #define _COMMONRECO_PropagationDirectionChooser_H_ 00003 00004 #include "DataFormats/TrajectorySeed/interface/PropagationDirection.h" 00005 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h" 00006 00007 class FreeTrajectoryState; 00008 class Surface; 00009 class Cylinder; 00010 class Plane; 00011 00015 class PropagationDirectionChooser { 00016 public: 00017 00018 PropagationDirectionChooser() {} 00019 00020 ~PropagationDirectionChooser() {} 00021 00022 PropagationDirection operator() (const FreeTrajectoryState&, 00023 const Surface&) const; 00024 00025 PropagationDirection operator() (const FreeTrajectoryState&, 00026 const Plane&) const; 00027 00028 PropagationDirection operator() (const FreeTrajectoryState&, 00029 const Cylinder&) const; 00030 00031 }; 00032 00033 #endif 00034 00035