CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDDDGeometry.h
Go to the documentation of this file.
1 #ifndef Geometry_HcalTowerAlgo_HcalDDDGeometry_h
2 #define Geometry_HcalTowerAlgo_HcalDDDGeometry_h
3 
7 
15 
16 #include <vector>
17 
19 
20 public:
21 
22  typedef std::vector<IdealObliquePrism> HBCellVec ;
23  typedef std::vector<IdealObliquePrism> HECellVec ;
24  typedef std::vector<IdealObliquePrism> HOCellVec ;
25  typedef std::vector<IdealZPrism> HFCellVec ;
26 
27  explicit HcalDDDGeometry(const HcalTopology& theTopo);
29  virtual ~HcalDDDGeometry();
30 
31  virtual const std::vector<DetId>& getValidDetIds( DetId::Detector det = DetId::Detector ( 0 ) ,
32  int subdet = 0 ) const;
33 
34  virtual DetId getClosestCell(const GlobalPoint& r) const ;
35 
36  int insertCell (std::vector<HcalCellType> const & );
37 
38  virtual void newCell( const GlobalPoint& f1 ,
39  const GlobalPoint& f2 ,
40  const GlobalPoint& f3 ,
41  const CCGFloat* parm,
42  const DetId& detId ) ;
43 
44  protected:
45 
46  virtual const CaloCellGeometry* cellGeomPtr( uint32_t index ) const ;
47 
48 private:
49 
50  mutable std::vector<DetId> m_validIds ;
51 
52  std::vector<HcalCellType> hcalCells_;
53 
56  mutable int lastReqSubdet_;
57 
58  double twopi, deg;
60 
65 };
66 
67 
68 #endif
69 
std::vector< IdealObliquePrism > HBCellVec
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const
std::vector< IdealObliquePrism > HOCellVec
std::vector< IdealZPrism > HFCellVec
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
CaloCellGeometry::CCGFloat CCGFloat
virtual ~HcalDDDGeometry()
The HcalDDDGeometry will delete all its cell geometries at destruction time.
std::vector< IdealObliquePrism > HECellVec
const HcalTopology & topo_
int insertCell(std::vector< HcalCellType > const &)
HcalDDDGeometry(const HcalTopology &theTopo)
std::vector< HcalCellType > hcalCells_
HBCellVec m_hbCellVec
Definition: DetId.h:20
HECellVec m_heCellVec
Detector
Definition: DetId.h:26
std::vector< DetId > m_validIds
HFCellVec m_hfCellVec
virtual const std::vector< DetId > & getValidDetIds(DetId::Detector det=DetId::Detector(0), int subdet=0) const
Get a list of valid detector ids (for the given subdetector)
DetId::Detector lastReqDet_
HOCellVec m_hoCellVec
virtual DetId getClosestCell(const GlobalPoint &r) const