16 double halfXmaxR,
double minR,
17 double maxR,
double avgPhi,
18 double stereo) noexcept(
false)
19 : m_values({halfXminR, halfXmaxR, minR, maxR, avgPhi, stereo}) {
29 return {lposition[
eLOC_R] * std::sin(lposition[
eLOC_PHI] -
get(eAveragePhi)),
30 lposition[
eLOC_R] * std::cos(lposition[
eLOC_PHI] -
get(eAveragePhi))};
36 jacobian(0,
eLOC_R) = std::sin(lposition[
eLOC_PHI] -
get(eAveragePhi));
37 jacobian(1,
eLOC_R) = std::cos(lposition[
eLOC_PHI] -
get(eAveragePhi));
39 jacobian(1, eLOC_PHI) = lposition[
eLOC_R] * -std::sin(lposition[eLOC_PHI]);
45 Vector2D vertices[] = {{
get(eHalfLengthXminR),
get(eMinR)},
46 {
get(eHalfLengthXmaxR),
get(eMaxR)},
47 {-
get(eHalfLengthXmaxR),
get(eMaxR)},
48 {-
get(eHalfLengthXminR),
get(eMinR)}};
49 auto jacobian = jacobianToLocalCartesian(lposition);
56 Vector2D vertices[] = {{
get(eHalfLengthXminR),
get(eMinR)},
57 {
get(eHalfLengthXmaxR),
get(eMaxR)},
58 {-
get(eHalfLengthXmaxR),
get(eMaxR)},
59 {-
get(eHalfLengthXminR),
get(eMinR)}};
64 unsigned int )
const {
65 Vector2D cAxis(std::cos(
get(eAveragePhi)), std::sin(
get(eAveragePhi)));
66 Vector2D nAxis(cAxis.y(), -cAxis.x());
67 return {
get(eMinR) * cAxis -
get(eHalfLengthXminR) * nAxis,
68 get(eMinR) * cAxis +
get(eHalfLengthXminR) * nAxis,
69 get(eMaxR) * cAxis +
get(eHalfLengthXmaxR) * nAxis,
70 get(eMaxR) * cAxis -
get(eHalfLengthXmaxR) * nAxis};
75 sl << std::setiosflags(std::ios::fixed);
76 sl << std::setprecision(7);
77 sl <<
"Acts::DiscTrapezoidBounds: (innerRadius, outerRadius, "
79 "halfLengthXmaxR, halfLengthY, halfPhiSector, averagePhi, rCenter, "
81 sl <<
"(" <<
get(eMinR) <<
", " <<
get(eMaxR) <<
", " <<
get(eHalfLengthXminR)
82 <<
", " <<
get(eHalfLengthXmaxR) <<
", " << halfLengthY() <<
", "
83 << halfPhiSector() <<
", " <<
get(eAveragePhi) <<
", " << rCenter() <<
", "
85 sl << std::setprecision(-1);