50 double maxR,
double avgPhi = M_PI_2,
80 std::ostream&
toStream(std::ostream& sl) const final;
87 double rMin() const final;
90 double rMax() const final;
163 return std::max(minHalfPhi, maxHalfPhi);
167 double rmin =
get(
eMinR);
171 auto hmin = std::sqrt(rmin * rmin - hxmin * hxmin);
172 auto hmax = std::sqrt(rmax * rmax - hxmax * hxmax);
173 return 0.5 * (hmin + hmax);
177 double rmin =
get(
eMinR);
181 auto hmin = std::sqrt(rmin * rmin - hxmin * hxmin);
182 auto hmax = std::sqrt(rmax * rmax - hxmax * hxmax);
183 return 0.5 * (hmax - hmin);
192 return (R + tolerance >
get(
eMinR) and R - tolerance <
get(
eMaxR));
204 std::vector<double> valvector;
211 throw std::invalid_argument(
"DiscTrapezoidBounds: invalid radial setup.");
214 throw std::invalid_argument(
"DiscTrapezoidBounds: negative length given.");
217 throw std::invalid_argument(
218 "DiscTrapezoidBounds: invalid phi positioning.");