00001 #ifndef GlobalParametersWithPath_H 00002 #define GlobalParametersWithPath_H 00003 00004 #include "TrackingTools/TrajectoryParametrization/interface/GlobalTrajectoryParameters.h" 00005 00006 class GlobalParametersWithPath { 00007 public: 00008 GlobalParametersWithPath() : gtp_(), s_(0), valid_(false) {} 00009 GlobalParametersWithPath( const GlobalTrajectoryParameters& gtp, double s) : 00010 gtp_(gtp), s_(s), valid_(true) {} 00011 GlobalParametersWithPath( const GlobalTrajectoryParameters& gtp, 00012 double s, bool valid) : gtp_(gtp), s_(s), valid_(valid) {} 00013 00014 const GlobalTrajectoryParameters& parameters() const {return gtp_;} 00015 00016 double pathLength() const {return s_;} 00017 double s() const {return pathLength();} 00018 00019 bool isValid() const {return valid_;} 00020 operator bool() const {return valid_;} 00021 00022 private: 00023 GlobalTrajectoryParameters gtp_; 00024 double s_; 00025 bool valid_; 00026 }; 00027 00028 #endif