CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/RecoTracker/TkDetLayers/src/SubLayerCrossings.h

Go to the documentation of this file.
00001 #ifndef TkDetLayers_SubLayerCrossings_h
00002 #define TkDetLayers_SubLayerCrossings_h
00003 
00004 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00005 
00006 #pragma GCC visibility push(hidden)
00007 class SubLayerCrossing {
00008 public:
00009   SubLayerCrossing(){}
00010   SubLayerCrossing( int sli, int cdi, const GlobalPoint& pos) : 
00011     subLayerIndex_(sli), closestDetIndex_(cdi), pos_(pos) {}
00012 
00013   int subLayerIndex()   const {return subLayerIndex_;}
00014   int closestDetIndex() const {return closestDetIndex_;}
00015   const GlobalPoint& position() const { return pos_;}
00016 
00017 private:
00018   int subLayerIndex_;
00019   int closestDetIndex_;
00020   GlobalPoint pos_;
00021 };
00022 
00023 class SubLayerCrossings {
00024 public:
00025   SubLayerCrossings(): isValid_(false){}
00026   SubLayerCrossings( const SubLayerCrossing& c, const SubLayerCrossing& o, int ci) :
00027     isValid_(true),closest_(c), other_(o), closestIndex_(ci) {}
00028 
00029   bool isValid() {return isValid_ ;}
00030   const SubLayerCrossing& closest() const {return closest_;}
00031   const SubLayerCrossing& other() const {return other_;}
00032   int closestIndex() const {return closestIndex_;}
00033 
00034 private:
00035   bool isValid_;
00036   SubLayerCrossing closest_;
00037   SubLayerCrossing other_;
00038   int closestIndex_;
00039 
00040 };
00041 
00042 #pragma GCC visibility pop
00043 #endif