CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Geometry/HcalTowerAlgo/interface/HcalDDDGeometry.h

Go to the documentation of this file.
00001 #ifndef Geometry_HcalTowerAlgo_HcalDDDGeometry_h
00002 #define Geometry_HcalTowerAlgo_HcalDDDGeometry_h
00003 
00004 #include "DataFormats/DetId/interface/DetId.h"
00005 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h"
00006 #include "Geometry/HcalCommonData/interface/HcalCellType.h"
00007 
00008 #include <vector>
00009 
00010 class HcalDDDGeometry : public CaloSubdetectorGeometry {
00011 
00012 public:
00013 
00014   explicit HcalDDDGeometry();
00016   virtual ~HcalDDDGeometry();
00017   
00018   virtual const std::vector<DetId>& getValidDetIds( DetId::Detector det    = DetId::Detector ( 0 ) , 
00019                                                     int             subdet = 0   ) const;
00020 
00021   virtual DetId getClosestCell(const GlobalPoint& r) const ;
00022 
00023   int insertCell (std::vector<HcalCellType> const & );
00024 
00025 private:
00026 
00027   mutable std::vector<DetId> m_validIds ;
00028 
00029   std::vector<HcalCellType> hcalCells_;
00030   mutable DetId::Detector                 lastReqDet_;
00031   mutable int                             lastReqSubdet_;
00032 
00033   double                                  twopi, deg;
00034   double                                  etaMax_, firstHFQuadRing_;
00035 };
00036 
00037 
00038 #endif
00039