CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h

Go to the documentation of this file.
00001 #ifndef TkDetLayers_GeometricSearchTracker_h
00002 #define TkDetLayers_GeometricSearchTracker_h
00003 
00004 #include "TrackingTools/DetLayers/interface/BarrelDetLayer.h"
00005 #include "TrackingTools/DetLayers/interface/ForwardDetLayer.h"
00006 #include "TrackingTools/DetLayers/interface/DetLayerGeometry.h"
00007 
00008 
00013 class GeometricSearchTracker: public DetLayerGeometry {
00014  public:
00015 
00016   GeometricSearchTracker(const std::vector<BarrelDetLayer*>& pxlBar,
00017                          const std::vector<BarrelDetLayer*>& tib,
00018                          const std::vector<BarrelDetLayer*>& tob,
00019                          const std::vector<ForwardDetLayer*>& negPxlFwd,
00020                          const std::vector<ForwardDetLayer*>& negTid,
00021                          const std::vector<ForwardDetLayer*>& negTec,
00022                          const std::vector<ForwardDetLayer*>& posPxlFwd,
00023                          const std::vector<ForwardDetLayer*>& posTid,
00024                          const std::vector<ForwardDetLayer*>& posTec);
00025   
00026   virtual ~GeometricSearchTracker();
00027 
00028   std::vector<DetLayer*> const & allLayers()     const {return theAllLayers;}  
00029 
00030   std::vector<BarrelDetLayer*>  const &  barrelLayers()  const {return theBarrelLayers;}
00031 
00032   std::vector<ForwardDetLayer*> const & forwardLayers() const {return theForwardLayers;}
00033   std::vector<ForwardDetLayer*> const & negForwardLayers() const {return theNegForwardLayers;}
00034   std::vector<ForwardDetLayer*> const & posForwardLayers() const {return thePosForwardLayers;}
00035 
00036   std::vector<BarrelDetLayer*>  const & pixelBarrelLayers() const {return thePixelBarrelLayers;}
00037   std::vector<BarrelDetLayer*>  const & tibLayers() const {return theTibLayers;}
00038   std::vector<BarrelDetLayer*>  const & tobLayers() const {return theTobLayers;}
00039 
00040   std::vector<ForwardDetLayer*> const & negPixelForwardLayers() const {return theNegPixelForwardLayers;}
00041   std::vector<ForwardDetLayer*> const &  negTidLayers() const {return theNegTidLayers;}
00042   std::vector<ForwardDetLayer*> const &  negTecLayers() const {return theNegTecLayers;}
00043 
00044   std::vector<ForwardDetLayer*> const &  posPixelForwardLayers() const {return thePosPixelForwardLayers;}
00045   std::vector<ForwardDetLayer*> const &  posTidLayers() const {return thePosTidLayers;}
00046   std::vector<ForwardDetLayer*> const &  posTecLayers() const {return thePosTecLayers;}
00047 
00048   
00050   virtual const DetLayer* idToLayer(const DetId& detId) const;
00051 
00053   const DetLayer*   detLayer( const DetId& id) const {return idToLayer(id);};
00054 
00055  private:
00056   std::vector<DetLayer*>        theAllLayers;
00057   std::vector<BarrelDetLayer*>  theBarrelLayers;
00058   std::vector<ForwardDetLayer*> theForwardLayers;
00059   std::vector<ForwardDetLayer*> theNegForwardLayers;
00060   std::vector<ForwardDetLayer*> thePosForwardLayers;
00061 
00062   std::vector<BarrelDetLayer*>  thePixelBarrelLayers;
00063   std::vector<BarrelDetLayer*>  theTibLayers;
00064   std::vector<BarrelDetLayer*>  theTobLayers;
00065 
00066   std::vector<ForwardDetLayer*> theNegPixelForwardLayers;
00067   std::vector<ForwardDetLayer*> theNegTidLayers;
00068   std::vector<ForwardDetLayer*> theNegTecLayers;
00069   std::vector<ForwardDetLayer*> thePosPixelForwardLayers;
00070   std::vector<ForwardDetLayer*> thePosTidLayers;
00071   std::vector<ForwardDetLayer*> thePosTecLayers;
00072 };
00073 
00074 
00075 #endif