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