27 out << polyhedraSolid;
47 double phiTotal = DeltaPhi() / 180. *
M_PI;
48 if ((phiTotal <= 0) || (phiTotal >= 2 *
M_PI * (1 - 1e-16)))
51 return cos(0.5 * phiTotal / NofSides());
57 out <<
" sphi = " << StartPhi() <<
"deg"
58 <<
" dphi = " << DeltaPhi() <<
"deg"
59 <<
" nsides = " << NofSides() <<
" nz = " << NofZPlanes() << std::endl;
61 double* zvalues = ZValues();
62 double* rinvalues = InnerRadiusValues();
63 double* routvalues = OuterRadiusValues();
65 for (
int i = 0; i < NofZPlanes(); i++) {
66 out <<
" " << i <<
"th plane: "
67 <<
" z = " << zvalues[i] <<
"mm"
68 <<
" rin = " << rinvalues[i] <<
"mm"
69 <<
" rout = " << routvalues[i] <<
"mm";
71 if (i < NofZPlanes() - 1) out << std::endl;
std::ostream & operator<<(std::ostream &out, const VGM::IPolyhedra &polyhedra)
double ConvertRadiusFactor() const
virtual std::ostream & Put(std::ostream &out) const
Put the printing of the solid parameters in the out stream.
The VGM interface to polyhedra solids.
The VGM interface to solids.
#define M_PI
Definition of math constant M_PI not available on Win32.