CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PreshowerStrip.h
Go to the documentation of this file.
1 #ifndef PreshowerStrip_h
2 #define PreshowerStrip_h
3 
5 #include <CLHEP/Geometry/Point3D.h>
6 #include <CLHEP/Geometry/Plane3D.h>
7 #include <CLHEP/Geometry/Vector3D.h>
8 #include <CLHEP/Geometry/Transform3D.h>
9 #include <vector>
10 
11 
24 {
25 public:
26 
31 
32  PreshowerStrip() ;
33 
34  PreshowerStrip( const PreshowerStrip& tr ) ;
35 
37 
39  CornersMgr* mgr ,
40  const CCGFloat* parm ) :
41  CaloCellGeometry ( po , mgr, parm ) {initSpan();}
42 
43  virtual ~PreshowerStrip();
44 
45  CCGFloat dx() const { return param()[0] ; }
46  CCGFloat dy() const { return param()[1] ; }
47  CCGFloat dz() const { return param()[2] ; }
48  CCGFloat tilt() const { return param()[3] ; }
49 
50  virtual void vocalCorners( Pt3DVec& vec ,
51  const CCGFloat* pv ,
52  Pt3D& ref ) const override
53  { localCorners( vec, pv, ref ) ; }
54 
55  static void localCorners( Pt3DVec& vec ,
56  const CCGFloat* pv ,
57  Pt3D& ref ) ;
58 
59  virtual void getTransform( Tr3D& tr, Pt3DVec* /*lptr*/ ) const override
60  { }
61  private:
62  virtual void initCorners(CaloCellGeometry::CornersVec&) override;
63 };
64 
65 std::ostream& operator<<( std::ostream& s , const PreshowerStrip& cell) ;
66 
67 #endif
CaloCellGeometry::Pt3DVec Pt3DVec
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
CaloCellGeometry::Tr3D Tr3D
CaloCellGeometry::Pt3D Pt3D
CaloCellGeometry::CCGFloat CCGFloat
HepGeom::Transform3D Tr3D
std::vector< Pt3D > Pt3DVec
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:188
virtual void initCorners(CaloCellGeometry::CornersVec &) override
A base class to handle the shape of preshower strips.
const CCGFloat * param() const
CCGFloat dx() const
CaloCellGeometry::CCGFloat CCGFloat
CaloCellGeometry::Pt3D Pt3D
virtual void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
CCGFloat tilt() const
virtual ~PreshowerStrip()
CaloCellGeometry::Pt3DVec Pt3DVec
HepGeom::Point3D< CCGFloat > Pt3D
Definition: EZMgrFL.h:8
CCGFloat dy() const
CCGFloat dz() const
PreshowerStrip(const GlobalPoint &po, CornersMgr *mgr, const CCGFloat *parm)
PreshowerStrip & operator=(const PreshowerStrip &tr)
virtual void getTransform(Tr3D &tr, Pt3DVec *) const override
--------— only needed by specific utility; overloaded when needed -—