CMS 3D CMS Logo

ZdcGeometry.h
Go to the documentation of this file.
1 #ifndef Geometry_ForwardGeometry_ZdcGeometry_h
2 #define Geometry_ForwardGeometry_ZdcGeometry_h
3 
11 
13 public:
14  typedef std::vector<IdealZDCTrapezoid> CellVec;
15 
20 
25 
28 
29  static constexpr int k_NumberOfShapes = 3;
30 
32 
33  static std::string dbString() { return "PZdcRcd"; }
34 
35  unsigned int numberOfShapes() const override { return k_NumberOfShapes; }
36  unsigned int numberOfParametersPerShape() const override { return k_NumberOfParametersPerShape; }
37 
38  ZdcGeometry();
39 
40  explicit ZdcGeometry(const ZdcTopology* topology);
41  ~ZdcGeometry() override;
42 
43  // virtual DetId getClosestCell(const GlobalPoint& r) const ;
44 
45  static std::string producerTag() { return "ZDC"; }
46 
47  static unsigned int numberOfAlignments() { return 2; }
48 
49  static unsigned int alignmentTransformIndexLocal(const DetId& id);
50 
51  static unsigned int alignmentTransformIndexGlobal(const DetId& id);
52 
53  static void localCorners(Pt3DVec& lc, const CCGFloat* pv, unsigned int i, Pt3D& ref);
54 
55  void newCell(const GlobalPoint& f1,
56  const GlobalPoint& f2,
57  const GlobalPoint& f3,
58  const CCGFloat* parm,
59  const DetId& detId) override;
60 
64  CaloSubdetectorGeometry::IVec& dins) const override;
65 
66 protected:
67  unsigned int indexFor(const DetId& id) const override { return theTopology->detId2DenseIndex(id); }
68 
69  // Modify the RawPtr class
70  CaloCellGeometryPtr getGeometryRawPtr(uint32_t index) const override;
71 
72 private:
75  mutable int lastReqSubdet_;
77 
79 };
80 
81 #endif // Geometry_ForwardGeometry_ZdcGeometry_h
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
Definition: ZdcGeometry.cc:76
static unsigned int alignmentTransformIndexLocal(const DetId &id)
Definition: ZdcGeometry.cc:63
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
Definition: ZdcGeometry.cc:72
CaloCellGeometry::CCGFloat CCGFloat
Definition: ZdcGeometry.h:16
CellVec m_cellVec
Definition: ZdcGeometry.h:78
std::vector< CCGFloat > DimVec
std::vector< IdealZDCTrapezoid > CellVec
Definition: ZdcGeometry.h:14
CaloCellGeometry::Pt3D Pt3D
Definition: ZdcGeometry.h:17
static std::string producerTag()
Definition: ZdcGeometry.h:45
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
Definition: ZdcGeometry.cc:70
std::vector< unsigned int > IVec
static constexpr int k_NumberOfParametersPerShape
Definition: ZdcGeometry.h:31
std::vector< CCGFloat > TrVec
void getSummary(CaloSubdetectorGeometry::TrVec &tVec, CaloSubdetectorGeometry::IVec &iVec, CaloSubdetectorGeometry::DimVec &dVec, CaloSubdetectorGeometry::IVec &dins) const override
Definition: ZdcGeometry.cc:102
HepGeom::Transform3D Tr3D
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: ZdcGeometry.h:18
static unsigned int numberOfAlignments()
Definition: ZdcGeometry.h:47
std::vector< Pt3D > Pt3DVec
PZdcRcd PGeometryRecord
Definition: ZdcGeometry.h:23
CaloCellGeometry::Tr3D Tr3D
Definition: ZdcGeometry.h:19
static constexpr int k_NumberOfCellsForCorners
Definition: ZdcGeometry.h:26
uint32_t detId2DenseIndex(const DetId &id) const
Definition: ZdcTopology.cc:396
static constexpr int k_NumberOfShapes
Definition: ZdcGeometry.h:29
bool m_ownsTopology
Definition: ZdcGeometry.h:76
CaloCellGeometry::CCGFloat CCGFloat
DetId::Detector lastReqDet_
Definition: ZdcGeometry.h:74
const ZdcTopology * theTopology
Definition: ZdcGeometry.h:73
~ZdcGeometry() override
Definition: ZdcGeometry.cc:40
CaloCellGeometry::Pt3D Pt3D
ZDCAlignmentRcd AlignmentRecord
Definition: ZdcGeometry.h:21
Definition: DetId.h:17
uint32_t k_NumberOfCellsForCornersN
Definition: ZdcGeometry.h:27
static constexpr int32_t kSizeForDenseIndexing
Definition: HcalZDCDetId.h:203
Detector
Definition: DetId.h:24
CaloCellGeometryPtr getGeometryRawPtr(uint32_t index) const override
Definition: ZdcGeometry.cc:94
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
int lastReqSubdet_
Definition: ZdcGeometry.h:75
ZDCGeometryRecord AlignedRecord
Definition: ZdcGeometry.h:22
unsigned int indexFor(const DetId &id) const override
Definition: ZdcGeometry.h:67
HcalZDCDetId DetIdType
Definition: ZdcGeometry.h:24
Definition: PZdcRcd.h:5
static std::string dbString()
Definition: ZdcGeometry.h:33
unsigned int numberOfParametersPerShape() const override
Definition: ZdcGeometry.h:36
unsigned int numberOfShapes() const override
Definition: ZdcGeometry.h:35