CMS 3D CMS Logo

EllipticalTube.h
Go to the documentation of this file.
1 #ifndef DDI_EllipticalTube_h
2 #define DDI_EllipticalTube_h
3 
5 #include <iosfwd>
6 #include <vector>
7 
9 #include "Solid.h"
10 
11 namespace DDI {
12 
13  class EllipticalTube : public Solid
14  {
15  public:
16  EllipticalTube(double xSemiAxis, double ySemiAxis, double zHeight)
18  {
19  p_.emplace_back(xSemiAxis);
20  p_.emplace_back(ySemiAxis);
21  p_.emplace_back(zHeight);
22  }
23  ~EllipticalTube() override { }
24 
26  double volume() const override ;
27  void stream(std::ostream & os) const override;
28  };
29 
30 }
31 #endif // DDI_EllipticalTube_h
void stream(std::ostream &os) const override
DDSolidShape
Definition: DDSolidShapes.h:6
double volume() const override
Not as flexible and possibly less accurate than G4 volume.
std::vector< double > p_
Definition: Solid.h:32
EllipticalTube(double xSemiAxis, double ySemiAxis, double zHeight)
~EllipticalTube() override