57 EllipseBounds(
double innerRx,
double innerRy,
double outerRx,
double outerRy,
58 double halfPhi = M_PI,
double averagePhi = 0.) noexcept(
false)
59 :
m_values({innerRx, innerRy, outerRx, outerRy, halfPhi, averagePhi}),
79 std::vector<
double>
values() const final;
106 std::ostream&
toStream(std::ostream& sl) const final;
122 std::vector<double> valvector;
130 throw std::invalid_argument(
"EllipseBounds: invalid along x axis");
132 if (
get(eInnerRy) >=
get(eOuterRy) or
get(eInnerRy) < 0. or
133 get(eOuterRy) <= 0.) {
134 throw std::invalid_argument(
"EllipseBounds: invalid along y axis.");
137 throw std::invalid_argument(
"EllipseBounds: invalid phi sector setup.");
140 throw std::invalid_argument(
"EllipseBounds: invalid phi positioning.");