7 const std::vector<VolumeSide>& faces,
9 :
MagVolume(
pos,
rot, mfp), theFaces(faces), theZmin(0.), theZmax(0.), theInnerR(0.), theOuterR(0.) {
13 for (std::vector<VolumeSide>::const_iterator
i =
faces.begin();
i !=
faces.end(); ++
i) {
33 throw MagGeometryError(
"MagCylinder constructed with wrong number/type of faces");
TkRotation< Scalar > RotationType
int def(FILE *, FILE *, int)
GloballyPositioned< float >::GlobalPoint GlobalPoint
LocalPoint toLocal(const GlobalPoint &gp) const
const std::vector< VolumeSide > & faces() const override
Access to volume faces.
Point3DBase< Scalar, GlobalTag > PositionType
GloballyPositioned< float >::LocalPoint LocalPoint
MagCylinder(const PositionType &pos, const RotationType &rot, const std::vector< VolumeSide > &faces, const MagneticFieldProvider< float > *mfp)
bool inside(const GlobalPoint &gp, double tolerance=0.) const override
Scalar radius() const
Radius of the cylinder.