File indexing completed on 2024-04-06 12:05:24
0001 #ifndef DDI_EllipticalTube_h
0002 #define DDI_EllipticalTube_h
0003
0004 #include <DataFormats/GeometryVector/interface/Pi.h>
0005 #include <iosfwd>
0006 #include <vector>
0007
0008 #include "DetectorDescription/Core/interface/DDSolidShapes.h"
0009 #include "Solid.h"
0010
0011 namespace DDI {
0012
0013 class EllipticalTube : public Solid {
0014 public:
0015 EllipticalTube(double xSemiAxis, double ySemiAxis, double zHeight) : Solid(DDSolidShape::ddellipticaltube) {
0016 p_.emplace_back(xSemiAxis);
0017 p_.emplace_back(ySemiAxis);
0018 p_.emplace_back(zHeight);
0019 }
0020 ~EllipticalTube() override {}
0021
0022
0023 double volume() const override;
0024 void stream(std::ostream& os) const override;
0025 };
0026
0027 }
0028 #endif