CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/TrackPropagation/RungeKutta/interface/GlobalParametersWithPath.h

Go to the documentation of this file.
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