00001 #ifndef Geometry_ForwardGeometry_ZdcGeometry_h 00002 #define Geometry_ForwardGeometry_ZDcGeometry_h 00003 00004 #include "DataFormats/DetId/interface/DetId.h" 00005 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00006 #include "Geometry/ForwardGeometry/interface/ZdcTopology.h" 00007 00008 class ZdcGeometry : public CaloSubdetectorGeometry { 00009 public: 00010 00011 explicit ZdcGeometry(const ZdcTopology * topology); 00012 virtual ~ZdcGeometry(); 00013 00014 virtual std::vector<DetId> const & getValidDetIds(DetId::Detector det, int subdet) const; 00015 virtual DetId getClosestCell(const GlobalPoint& r) const ; 00016 00017 private: 00018 const ZdcTopology * theTopology; 00019 mutable DetId::Detector lastReqDet_; 00020 mutable int lastReqSubdet_; 00021 }; 00022 00023 00024 #endif 00025