CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/TrackingTools/DetLayers/interface/BarrelDetLayer.h

Go to the documentation of this file.
00001 #ifndef DetLayers_BarrelDetLayer_H
00002 #define DetLayers_BarrelDetLayer_H
00003 
00016 #include "TrackingTools/DetLayers/interface/DetLayer.h"
00017 
00018 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
00019 #include "DataFormats/GeometrySurface/interface/BoundCylinder.h"
00020 
00021 #include <vector>
00022 #include <algorithm>
00023 
00024 
00025 class BarrelDetLayer : public DetLayer {
00026  public:
00027 
00028   BarrelDetLayer() : 
00029     theCylinder(0){}
00030   
00031   virtual ~BarrelDetLayer();
00032 
00034   virtual const BoundSurface&  surface() const { return *theCylinder;}
00035 
00036   virtual std::pair<bool, TrajectoryStateOnSurface>
00037   compatible( const TrajectoryStateOnSurface& ts, const Propagator&, 
00038               const MeasurementEstimator&) const;
00039 
00041   virtual Location location()   const {return GeomDetEnumerators::barrel;}
00042 
00043 
00045   virtual const BoundCylinder&  specificSurface() const { return *theCylinder;}
00046 
00047   bool contains( const Local3DPoint& p) const;
00048 
00049 
00050 
00051 protected:
00052   void setSurface( BoundCylinder* cp);
00053 
00054   virtual void initialize();
00055 
00056   virtual BoundCylinder* computeSurface();
00057 
00058 
00059 private:
00060   //float theRmin, theRmax, theZmin, theZmax;
00061   ReferenceCountingPointer<BoundCylinder>  theCylinder;
00062 
00063 };
00064 
00065 #endif