CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/TrackingTools/RecoGeometry/interface/GlobalDetLayerGeometry.h

Go to the documentation of this file.
00001 #ifndef TT_RecoGeometry_GlobalDetLayerGeometry_h
00002 #define TT_RecoGeometry_GlobalDetLayerGeometry_h
00003 
00010 #include "DataFormats/DetId/interface/DetId.h"
00011 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
00012 #include "RecoMuon/DetLayers/interface/MuonDetLayerGeometry.h"
00013 #include "TrackingTools/DetLayers/interface/DetLayerGeometry.h"
00014 
00015 #include <vector>
00016 
00017 class DetLayer;
00018 
00019 class GlobalDetLayerGeometry: public DetLayerGeometry {
00020  public:
00021  GlobalDetLayerGeometry(const GeometricSearchTracker* tracker,
00022                         const MuonDetLayerGeometry* muon):
00023   tracker_(tracker),muon_(muon){};
00024         
00025         virtual ~GlobalDetLayerGeometry() {}
00026   
00027   /*
00028   const std::vector<DetLayer*>& allLayers() const =0;
00029   const std::vector<DetLayer*>& barrelLayers() const =0;
00030   const std::vector<DetLayer*>& negForwardLayers() const =0;
00031   const std::vector<DetLayer*>& posForwardLayers() const =0;
00032   */
00033 
00034 
00036   virtual const DetLayer* idToLayer(const DetId& detId) const;
00037  
00038  private:
00039   const GeometricSearchTracker* tracker_;
00040   const MuonDetLayerGeometry* muon_;
00041 };
00042 
00043 
00044 #endif