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