CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZdcGeometry.h
Go to the documentation of this file.
1 #ifndef Geometry_ForwardGeometry_ZdcGeometry_h
2 #define Geometry_ForwardGeometry_ZDcGeometry_h
3 
11 
13 {
14  public:
15 
16  typedef std::vector<IdealZDCTrapezoid> CellVec ;
17 
22 
27 
29 
30  enum { k_NumberOfShapes = 3 } ;
31 
33 
34  static std::string dbString() { return "PZdcRcd" ; }
35 
36  virtual unsigned int numberOfShapes() const { return k_NumberOfShapes ; }
37  virtual unsigned int numberOfParametersPerShape() const { return k_NumberOfParametersPerShape ; }
38 
39  ZdcGeometry() ;
40 
41  explicit ZdcGeometry(const ZdcTopology * topology);
42  virtual ~ZdcGeometry();
43 
44 // virtual DetId getClosestCell(const GlobalPoint& r) const ;
45 
46  static std::string producerTag() { return "ZDC" ; }
47 
48  static unsigned int numberOfAlignments() { return 2 ; }
49 
50  static unsigned int alignmentTransformIndexLocal( const DetId& id ) ;
51 
52  static unsigned int alignmentTransformIndexGlobal( const DetId& id ) ;
53 
54  static void localCorners( Pt3DVec& lc ,
55  const CCGFloat* pv ,
56  unsigned int i ,
57  Pt3D& ref ) ;
58 
59  virtual void newCell( const GlobalPoint& f1 ,
60  const GlobalPoint& f2 ,
61  const GlobalPoint& f3 ,
62  const CCGFloat* parm,
63  const DetId& detId ) ;
64 
65  protected:
66 
67  virtual const CaloCellGeometry* cellGeomPtr( uint32_t index ) const ;
68 
69  private:
70 
73  mutable int lastReqSubdet_;
75 
77 };
78 
79 
80 #endif
81 
static unsigned int alignmentTransformIndexLocal(const DetId &id)
Definition: ZdcGeometry.cc:52
int i
Definition: DBlmapReader.cc:9
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
Definition: ZdcGeometry.cc:68
CaloCellGeometry::CCGFloat CCGFloat
Definition: ZdcGeometry.h:18
CellVec m_cellVec
Definition: ZdcGeometry.h:76
std::vector< IdealZDCTrapezoid > CellVec
Definition: ZdcGeometry.h:16
CaloCellGeometry::Pt3D Pt3D
Definition: ZdcGeometry.h:19
virtual ~ZdcGeometry()
Definition: ZdcGeometry.cc:28
static std::string producerTag()
Definition: ZdcGeometry.h:46
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
Definition: ZdcGeometry.cc:62
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId)
Definition: ZdcGeometry.cc:77
HepGeom::Transform3D Tr3D
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: ZdcGeometry.h:20
static unsigned int numberOfAlignments()
Definition: ZdcGeometry.h:48
std::vector< Pt3D > Pt3DVec
PZdcRcd PGeometryRecord
Definition: ZdcGeometry.h:25
CaloCellGeometry::Tr3D Tr3D
Definition: ZdcGeometry.h:21
virtual unsigned int numberOfParametersPerShape() const
Definition: ZdcGeometry.h:37
virtual const CaloCellGeometry * cellGeomPtr(uint32_t index) const
Definition: ZdcGeometry.cc:94
bool m_ownsTopology
Definition: ZdcGeometry.h:74
CaloCellGeometry::CCGFloat CCGFloat
DetId::Detector lastReqDet_
Definition: ZdcGeometry.h:72
const ZdcTopology * theTopology
Definition: ZdcGeometry.h:71
CaloCellGeometry::Pt3D Pt3D
ZDCAlignmentRcd AlignmentRecord
Definition: ZdcGeometry.h:23
Definition: DetId.h:20
Detector
Definition: DetId.h:26
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
int lastReqSubdet_
Definition: ZdcGeometry.h:73
ZDCGeometryRecord AlignedRecord
Definition: ZdcGeometry.h:24
HcalZDCDetId DetIdType
Definition: ZdcGeometry.h:26
Definition: PZdcRcd.h:5
static std::string dbString()
Definition: ZdcGeometry.h:34
virtual unsigned int numberOfShapes() const
Definition: ZdcGeometry.h:36