1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#ifndef DDI_EllipticalTube_h
#define DDI_EllipticalTube_h
#include <DataFormats/GeometryVector/interface/Pi.h>
#include <iosfwd>
#include <vector>
#include "DetectorDescription/Core/interface/DDSolidShapes.h"
#include "Solid.h"
namespace DDI {
class EllipticalTube : public Solid {
public:
EllipticalTube(double xSemiAxis, double ySemiAxis, double zHeight) : Solid(DDSolidShape::ddellipticaltube) {
p_.emplace_back(xSemiAxis);
p_.emplace_back(ySemiAxis);
p_.emplace_back(zHeight);
}
~EllipticalTube() override {}
/// Not as flexible and possibly less accurate than G4 volume.
double volume() const override;
void stream(std::ostream& os) const override;
};
} // namespace DDI
#endif // DDI_EllipticalTube_h
|