11 using namespace geant_units;
12 using namespace geant_units::operators;
15 double innerRadius,
double outerRadius,
double startPhi,
double deltaPhi,
double startTheta,
double deltaTheta)
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)
void stream(std::ostream &) const override
constexpr NumType convertRadToDeg(NumType radians)
Cos< T >::type cos(const T &t)
double volume() const override
constexpr double piRadians(M_PI)
constexpr NumType convertMmToCm(NumType millimeters)