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 
29 {
30 public:
31 
35 
37  IdealObliquePrism( const IdealObliquePrism& idop ) ;
38 
40 
41  IdealObliquePrism( const GlobalPoint& faceCenter,
42  CornersMgr* mgr ,
43  const CCGFloat* parm ) ;
44 
45  virtual ~IdealObliquePrism() ;
46 
47  CCGFloat dEta() const ;
48  CCGFloat dPhi() const ;
49  CCGFloat dz() const ;
50  CCGFloat eta() const ;
51  CCGFloat z() const ;
52 
53  static void localCorners( Pt3DVec& vec ,
54  const CCGFloat* pv ,
55  Pt3D& ref ) ;
56 
57  virtual void vocalCorners( Pt3DVec& vec ,
58  const CCGFloat* pv ,
59  Pt3D& ref ) const override;
60 
61 private:
62  virtual void initCorners(CornersVec&) override;
63 
64  static GlobalPoint etaPhiPerp( float eta, float phi, float perp ) ;
65  static GlobalPoint etaPhiZ(float eta, float phi, float z) ;
66 };
67 
68 std::ostream& operator<<( std::ostream& s , const IdealObliquePrism& cell ) ;
69 
70 #endif
static GlobalPoint etaPhiZ(float eta, float phi, float z)
CCGFloat dEta() const
std::vector< Pt3D > Pt3DVec
CCGFloat eta() const
CaloCellGeometry::Pt3D Pt3D
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
std::ostream & operator<<(std::ostream &s, const IdealObliquePrism &cell)
virtual ~IdealObliquePrism()
CaloCellGeometry::CCGFloat CCGFloat
def pv(vc)
Definition: MetAnalyzer.py:6
virtual void initCorners(CornersVec &) override
static GlobalPoint etaPhiPerp(float eta, float phi, float perp)
CCGFloat dPhi() const
CCGFloat z() const
HepGeom::Point3D< CCGFloat > Pt3D
Definition: EZMgrFL.h:8
T perp() const
Magnitude of transverse component.
virtual void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
IdealObliquePrism & operator=(const IdealObliquePrism &idop)
CCGFloat dz() const
CaloCellGeometry::Pt3DVec Pt3DVec