53 EllipseBounds(
double innerRx,
double innerRy,
double outerRx,
double outerRy,
54 double halfPhi =
M_PI,
double averagePhi = 0.) noexcept(
false)
55 :
m_values({innerRx, innerRy, outerRx, outerRy, halfPhi, averagePhi}),
102 std::ostream&
toStream(std::ostream& sl) const final;
118 std::vector<double> valvector;
126 throw std::invalid_argument(
"EllipseBounds: invalid along x axis");
128 if (
get(eInnerRy) >=
get(eOuterRy) or
get(eInnerRy) < 0. or
129 get(eOuterRy) <= 0.) {
130 throw std::invalid_argument(
"EllipseBounds: invalid along y axis.");
133 throw std::invalid_argument(
"EllipseBounds: invalid phi sector setup.");
136 throw std::invalid_argument(
"EllipseBounds: invalid phi positioning.");