CMS 3D CMS Logo

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 
22 public:
27 
29 
30  PreshowerStrip(const PreshowerStrip& tr);
31 
33 
34  PreshowerStrip(const GlobalPoint& po, CornersMgr* mgr, const CCGFloat* parm) : CaloCellGeometry(po, mgr, parm) {
35  initSpan();
36  }
37 
38  ~PreshowerStrip() override;
39 
40  CCGFloat dx() const { return param()[0]; }
41  CCGFloat dy() const { return param()[1]; }
42  CCGFloat dz() const { return param()[2]; }
43  CCGFloat tilt() const { return param()[3]; }
44 
45  void vocalCorners(Pt3DVec& vec, const CCGFloat* pv, Pt3D& ref) const override { localCorners(vec, pv, ref); }
46 
47  static void localCorners(Pt3DVec& vec, const CCGFloat* pv, Pt3D& ref);
48 
49  void getTransform(Tr3D& tr, Pt3DVec* /*lptr*/) const override {}
50 
51 private:
53 };
54 
55 std::ostream& operator<<(std::ostream& s, const PreshowerStrip& cell);
56 
57 #endif
CaloCellGeometry::Tr3D
HepGeom::Transform3D Tr3D
Definition: CaloCellGeometry.h:53
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition: CaloCellGeometry.h:55
PreshowerStrip::dz
CCGFloat dz() const
Definition: PreshowerStrip.h:42
PreshowerStrip::~PreshowerStrip
~PreshowerStrip() override
Definition: PreshowerStrip.cc:13
CaloCellGeometry::CCGFloat
float CCGFloat
Definition: CaloCellGeometry.h:52
PreshowerStrip::getTransform
void getTransform(Tr3D &tr, Pt3DVec *) const override
--------— only needed by specific utility; overloaded when needed -—
Definition: PreshowerStrip.h:49
PreshowerStrip::vocalCorners
void vocalCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref) const override
Definition: PreshowerStrip.h:45
PreshowerStrip::dx
CCGFloat dx() const
Definition: PreshowerStrip.h:40
CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: CaloCellGeometry.cc:4
EZArrayFL< GlobalPoint >
PreshowerStrip::Tr3D
CaloCellGeometry::Tr3D Tr3D
Definition: PreshowerStrip.h:26
PreshowerStrip::tilt
CCGFloat tilt() const
Definition: PreshowerStrip.h:43
PreshowerStrip::initCorners
void initCorners(CaloCellGeometry::CornersVec &) override
Definition: PreshowerStrip.cc:22
PreshowerStrip::operator=
PreshowerStrip & operator=(const PreshowerStrip &tr)
Definition: PreshowerStrip.cc:15
Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: CaloCellGeometry.cc:5
alignCSCRings.s
s
Definition: alignCSCRings.py:92
PreshowerStrip::Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: PreshowerStrip.h:25
PreshowerStrip::CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: PreshowerStrip.h:23
PreshowerStrip::PreshowerStrip
PreshowerStrip()
Definition: PreshowerStrip.cc:9
Point3DBase< float, GlobalTag >
CaloCellGeometry::Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
Definition: CaloCellGeometry.h:54
CaloCellGeometry::initSpan
void initSpan()
Definition: CaloCellGeometry.h:120
CaloCellGeometry
Definition: CaloCellGeometry.h:50
CaloCellGeometry::param
const CCGFloat * param() const
Definition: CaloCellGeometry.h:99
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
operator<<
std::ostream & operator<<(std::ostream &s, const PreshowerStrip &cell)
Definition: PreshowerStrip.cc:50
CaloCellGeometry.h
PreshowerStrip::dy
CCGFloat dy() const
Definition: PreshowerStrip.h:41
PreshowerStrip::PreshowerStrip
PreshowerStrip(const GlobalPoint &po, CornersMgr *mgr, const CCGFloat *parm)
Definition: PreshowerStrip.h:34
Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: CaloCellGeometry.cc:6
EZMgrFL
Definition: EZMgrFL.h:8
PreshowerStrip
A base class to handle the shape of preshower strips.
Definition: PreshowerStrip.h:21
PreshowerStrip::localCorners
static void localCorners(Pt3DVec &vec, const CCGFloat *pv, Pt3D &ref)
Definition: PreshowerStrip.cc:66
PreshowerStrip::Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: PreshowerStrip.h:24