CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/TrackPropagation/RungeKutta/src/GlobalParametersWithPath.h

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