19 double halfXmaxR,
double minR,
20 double maxR,
double avgPhi,
21 double stereo) noexcept(
false)
22 : m_values({halfXminR, halfXmaxR,
minR,
maxR, avgPhi, stereo}) {
24 m_ymax = std::sqrt(
get(eMaxR) *
get(eMaxR) -
25 get(eHalfLengthXmaxR) *
get(eHalfLengthXmaxR));
35 std::sin(lposition[
eBoundLoc1] -
get(eAveragePhi)),
37 std::cos(lposition[
eBoundLoc1] -
get(eAveragePhi))};
47 jacobian(1, eBoundLoc1) =
48 lposition[
eBoundLoc0] * -std::sin(lposition[eBoundLoc1]);
55 {
get(eHalfLengthXmaxR),
m_ymax},
56 {-
get(eHalfLengthXmaxR),
m_ymax},
57 {-
get(eHalfLengthXminR),
get(eMinR)}};
58 auto jacobian = jacobianToLocalCartesian(lposition);
64 unsigned int )
const {
65 Vector2 cAxis(std::cos(
get(eAveragePhi)), std::sin(
get(eAveragePhi)));
66 Vector2 nAxis(cAxis.y(), -cAxis.x());
67 auto ymin = std::sqrt(
get(eMinR) *
get(eMinR) -
68 get(eHalfLengthXminR) *
get(eHalfLengthXminR));
70 return {-
halfY * cAxis -
get(eHalfLengthXminR) * nAxis,
71 -
halfY * cAxis +
get(eHalfLengthXminR) * nAxis,
72 halfY * cAxis +
get(eHalfLengthXmaxR) * nAxis,
73 halfY * cAxis -
get(eHalfLengthXmaxR) * nAxis};
78 sl << std::setiosflags(std::ios::fixed);
79 sl << std::setprecision(7);
80 sl <<
"Acts::DiscTrapezoidBounds: (innerRadius, outerRadius, "
82 "halfLengthXmaxR, halfLengthY, halfPhiSector, averagePhi, rCenter, "
84 sl <<
"(" <<
get(eMinR) <<
", " <<
get(eMaxR) <<
", " <<
get(eHalfLengthXminR)
85 <<
", " <<
get(eHalfLengthXmaxR) <<
", " << halfLengthY() <<
", "
86 << halfPhiSector() <<
", " <<
get(eAveragePhi) <<
", " << rCenter() <<
", "
88 sl << std::setprecision(-1);