17 p_.emplace_back(innerRadius);
18 p_.emplace_back(outerRadius);
19 p_.emplace_back(startPhi);
20 p_.emplace_back(deltaPhi);
21 p_.emplace_back(startTheta);
22 p_.emplace_back(deltaTheta);
33 if (std::fabs(
p_[3]) <= 2._pi && std::fabs(
p_[5]) <=
piRadians) {
34 volume = std::fabs((
p_[1] *
p_[1] *
p_[1] -
p_[0] *
p_[0] *
p_[0]) / 3. *
36 }
else if (std::fabs(
p_[3]) <= 2._pi && std::fabs(
p_[5]) >
piRadians) {
37 volume = std::fabs((
p_[1] *
p_[1] *
p_[1] -
p_[0] *
p_[0] *
p_[0]) / 3. *
39 }
else if (std::fabs(
p_[3]) > 2._pi && std::fabs(
p_[5]) <=
piRadians) {
40 volume = std::fabs((
p_[1] *
p_[1] *
p_[1] -
p_[0] *
p_[0] *
p_[0]) / 3. *
Sphere(double innerRadius, double outerRadius, double startPhi, double deltaPhi, double startZ, double deltaZ)
constexpr NumType convertRadToDeg(NumType radians)
constexpr long double piRadians(M_PIl)
Cos< T >::type cos(const T &t)
void stream(std::ostream &) const override
double volume() const override
constexpr NumType convertMmToCm(NumType millimeters)