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}),
75 std::vector<
double>
values() const final;
108 std::ostream&
toStream(std::ostream& sl) const final;
124 std::vector<double> valvector;
132 throw std::invalid_argument(
"EllipseBounds: invalid along x axis");
134 if (
get(eInnerRy) >=
get(eOuterRy) or
get(eInnerRy) < 0. or
135 get(eOuterRy) <= 0.) {
136 throw std::invalid_argument(
"EllipseBounds: invalid along y axis.");
139 throw std::invalid_argument(
"EllipseBounds: invalid phi sector setup.");
142 throw std::invalid_argument(
"EllipseBounds: invalid phi positioning.");