4 #include "CLHEP/Units/GlobalSystemOfUnits.h"
5 #include "CLHEP/Units/GlobalPhysicalConstants.h"
18 p_.push_back(innerRadius);
19 p_.push_back(outerRadius);
20 p_.push_back(startPhi);
21 p_.push_back(deltaPhi);
22 p_.push_back(startTheta);
23 p_.push_back(deltaTheta);
29 os <<
" innerRadius=" << p_[0]/cm
30 <<
" outerRadius=" << p_[1]/cm
31 <<
" startPhi=" << p_[2]/deg
32 <<
" deltaPhi=" << p_[3]/deg
33 <<
" startTheta=" << p_[4]/deg
34 <<
" deltaTheta=" << p_[5]/deg;
41 volume = std::fabs((p_[1]*p_[1]*p_[1] - p_[0]*p_[0]*p_[0])/3. * (
std::cos(p_[4]+p_[5]) -
std::cos(p_[4]))*p_[3]);
42 }
else if (std::fabs(p_[3]) <= 2.*
Geom::pi() && std::fabs(p_[5]) >
Geom::pi() ) {
43 volume = std::fabs((p_[1]*p_[1]*p_[1] - p_[0]*p_[0]*p_[0])/3. * (
std::cos(p_[4]+p_[5]-180.*deg) -
std::cos(p_[4]))*p_[3]);
44 }
else if (std::fabs(p_[3]) > 2.*
Geom::pi() && std::fabs(p_[5]) <=
Geom::pi() ) {
45 volume = std::fabs((p_[1]*p_[1]*p_[1] - p_[0]*p_[0]*p_[0])/3. * (
std::cos(p_[4]+p_[5]) -
std::cos(p_[4]))*(p_[3]-p_[2]));
Sphere(double innerRadius, double outerRadius, double startPhi, double deltaPhi, double startZ, double deltaZ)
double deltaPhi(float phi1, float phi2)
Cos< T >::type cos(const T &t)
void stream(std::ostream &) const