CMS 3D CMS Logo

IdealObliquePrism.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_CALOGEOMETRY_IDEALOBLIQUEPRISM_H
2 #define GEOMETRY_CALOGEOMETRY_IDEALOBLIQUEPRISM_H 1
3 
5 #include <cstdint>
6 
30 public:
34 
35  static constexpr uint32_t k_dEta = 0; //Eta-width
36  static constexpr uint32_t k_dPhi = 1; //Phi-width
37  static constexpr uint32_t k_dZ = 2; //Signed thickness
38  static constexpr uint32_t k_Eta = 3; //Eta of the reference point
39  static constexpr uint32_t k_Z = 4; //Z of the reference point
40 
43 
45 
46  IdealObliquePrism(const GlobalPoint& faceCenter, CornersMgr* mgr, const CCGFloat* parm);
47 
48  ~IdealObliquePrism() override;
49 
50  CCGFloat dEta() const;
51  CCGFloat dPhi() const;
52  CCGFloat dz() const;
53  CCGFloat eta() const;
54  CCGFloat z() const;
55 
56  static void localCorners(Pt3DVec& vec, const CCGFloat* pv, Pt3D& ref);
57 
58  void vocalCorners(Pt3DVec& vec, const CCGFloat* pv, Pt3D& ref) const override;
59 
60 private:
61  void initCorners(CornersVec&) override;
62 
63  static GlobalPoint etaPhiPerp(float eta, float phi, float perp);
64  static GlobalPoint etaPhiZ(float eta, float phi, float z);
65 };
66 
67 std::ostream& operator<<(std::ostream& s, const IdealObliquePrism& cell);
68 
69 #endif
static GlobalPoint etaPhiZ(float eta, float phi, float z)
CCGFloat dz() const
static constexpr uint32_t k_Eta
CCGFloat dEta() const
std::vector< Pt3D > Pt3DVec
CCGFloat dPhi() const
CCGFloat eta() const
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
static constexpr uint32_t k_dPhi
std::ostream & operator<<(std::ostream &s, const IdealObliquePrism &cell)
CaloCellGeometry::CCGFloat CCGFloat
static constexpr uint32_t k_Z
void initCorners(CornersVec &) override
T perp() const
Magnitude of transverse component.
~IdealObliquePrism() override
CCGFloat z() const
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
HepGeom::Point3D< CCGFloat > Pt3D
Definition: EZMgrFL.h:8
static constexpr uint32_t k_dEta
IdealObliquePrism & operator=(const IdealObliquePrism &idop)
static constexpr uint32_t k_dZ
CaloCellGeometry::Pt3DVec Pt3DVec