#include <FPGATrackSimKeyLayerTool.h>
|
| | FPGATrackSimKeyLayerTool (double r1, double r2) |
| |
| | FPGATrackSimKeyLayerTool () |
| |
| std::pair< double, double > | getXY (double r, double phi) const |
| |
| std::pair< double, double > | getRotationAngles (const std::pair< double, double > &xy1, const std::pair< double, double > &xy2) const |
| |
| std::pair< double, double > | rotateXY (const std::pair< double, double > &xy, const std::pair< double, double > &ang) const |
| |
| rotatedConfig | getRotatedConfig (const KeyLyrPars &keypars) const |
| |
| std::pair< double, double > | getRotatedHit (const std::pair< double, double > &rotang, double rHit, double phiHit) const |
| |
| KeyLyrPars | trackParsToKeyPars (const FPGATrackSimTrackPars &pars) const |
| |
| FPGATrackSimTrackPars | keyParsToTrackPars (const KeyLyrPars &keypars) const |
| |
| double | zExpected (const KeyLyrPars &keypars, double r) const |
| |
| double | xExpected (const KeyLyrPars &keypars, double rHit, double phiHit) const |
| |
| double | xmForHit (const KeyLyrPars &keypars, double rHit, double phiHit) const |
| |
| double | deltaX (const KeyLyrPars &keypars, double rHit, double phiHit) const |
| |
| double | R1 () const |
| |
| double | R2 () const |
| |
| void | setR1 (const double r1) |
| |
| void | setR2 (const double r2) |
| |
Definition at line 41 of file FPGATrackSimKeyLayerTool.h.
◆ FPGATrackSimKeyLayerTool() [1/2]
| FPGATrackSimKeyLayerTool::FPGATrackSimKeyLayerTool |
( |
double |
r1, |
|
|
double |
r2 |
|
) |
| |
|
inline |
◆ FPGATrackSimKeyLayerTool() [2/2]
| FPGATrackSimKeyLayerTool::FPGATrackSimKeyLayerTool |
( |
| ) |
|
|
inline |
◆ deltaX()
| double FPGATrackSimKeyLayerTool::deltaX |
( |
const KeyLyrPars & |
keypars, |
|
|
double |
rHit, |
|
|
double |
phiHit |
|
) |
| const |
Definition at line 157 of file FPGATrackSimKeyLayerTool.cxx.
161 auto rotang = rotated_coords.rotang;
165 double xh = xyhp.first-rotated_coords.xy1p.first;
167 return xh -
xExpected(keypars,rHit, phiHit);
◆ getRotatedConfig()
◆ getRotatedHit()
| std::pair< double, double > FPGATrackSimKeyLayerTool::getRotatedHit |
( |
const std::pair< double, double > & |
rotang, |
|
|
double |
rHit, |
|
|
double |
phiHit |
|
) |
| const |
◆ getRotationAngles()
| std::pair< double, double > FPGATrackSimKeyLayerTool::getRotationAngles |
( |
const std::pair< double, double > & |
xy1, |
|
|
const std::pair< double, double > & |
xy2 |
|
) |
| const |
Definition at line 16 of file FPGATrackSimKeyLayerTool.cxx.
18 double dr12x = xy2.first - xy1.first;
19 double dr12y = xy2.second - xy1.second;
20 double dr12mag = std::hypot(dr12x, dr12y);
21 double cos_rot = dr12y / dr12mag;
22 double sin_rot = -dr12x / dr12mag;
23 return std::pair<double, double>(cos_rot, sin_rot);
◆ getXY()
| std::pair< double, double > FPGATrackSimKeyLayerTool::getXY |
( |
double |
r, |
|
|
double |
phi |
|
) |
| const |
◆ keyParsToTrackPars()
Definition at line 79 of file FPGATrackSimKeyLayerTool.cxx.
89 double xm = keypars.xm;
92 auto xy1p = rotated_coords.xy1p;
93 auto rotang = rotated_coords.rotang;
94 auto y = rotated_coords.y;
98 revang.second = -rotang.second;
102 double Rinv = 2 * xm / (xm * xm + (
y / 2) * (
y / 2));
103 double d = (
y *
y / 4.0 - xm * xm) / (2.0 * xm);
104 double sign = (xm > 0) - (xm < 0);
109 std::pair<double, double> xycp(-
d + xy1p.first,
y / 2.0 + xy1p.second);
◆ R1()
| double FPGATrackSimKeyLayerTool::R1 |
( |
| ) |
const |
|
inline |
◆ R2()
| double FPGATrackSimKeyLayerTool::R2 |
( |
| ) |
const |
|
inline |
◆ rotateXY()
| std::pair< double, double > FPGATrackSimKeyLayerTool::rotateXY |
( |
const std::pair< double, double > & |
xy, |
|
|
const std::pair< double, double > & |
ang |
|
) |
| const |
Definition at line 26 of file FPGATrackSimKeyLayerTool.cxx.
28 return std::pair<double, double>(xy.first * ang.first + xy.second * ang.second,
29 -xy.first * ang.second + xy.second * ang.first);
◆ setR1()
| void FPGATrackSimKeyLayerTool::setR1 |
( |
const double |
r1 | ) |
|
|
inline |
◆ setR2()
| void FPGATrackSimKeyLayerTool::setR2 |
( |
const double |
r2 | ) |
|
|
inline |
◆ trackParsToKeyPars()
Definition at line 53 of file FPGATrackSimKeyLayerTool.cxx.
67 double ysqr = (xy2.first - xy1.first) * (xy2.first - xy1.first) + (xy2.second - xy1.second) * (xy2.second - xy1.second);
68 double sign = (
R > 0) - (
R < 0);
69 retv.xm = -1 *
sign * (std::abs(
R) - sqrt(
R *
R - ysqr / 4.0));
◆ xExpected()
| double FPGATrackSimKeyLayerTool::xExpected |
( |
const KeyLyrPars & |
keypars, |
|
|
double |
rHit, |
|
|
double |
phiHit |
|
) |
| const |
Definition at line 171 of file FPGATrackSimKeyLayerTool.cxx.
175 auto rotang = rotated_coords.rotang;
176 auto y = rotated_coords.y;
180 double yh = xyhp.second-rotated_coords.xy1p.second;
182 return keypars.xm * (keypars.xm * keypars.xm + yh * (
y - yh)) / (keypars.xm * keypars.xm + (
y / 2) * (
y / 2));
◆ xmForHit()
| double FPGATrackSimKeyLayerTool::xmForHit |
( |
const KeyLyrPars & |
keypars, |
|
|
double |
rHit, |
|
|
double |
phiHit |
|
) |
| const |
Definition at line 133 of file FPGATrackSimKeyLayerTool.cxx.
136 auto xy1p = rotated_coords.xy1p;
137 auto rotang = rotated_coords.rotang;
138 auto y = rotated_coords.y;
141 double xh = xyhp.first - xy1p.first;
142 double yh = xyhp.second - xy1p.second;
145 double sign = ((yh > 0) && (yh <
y)) ? 1 : -1;
146 if ((std::abs(yh) < std::abs(xh)) || (std::abs(
y - yh) < std::abs(xh)))
148 return ((xh > 0) ? 1 : -1) * 100000;
151 double xm_taylor =
sign *
y *
y / (
y *
y - 4 * xh * xh - 4 * (yh -
y / 2.0) * (yh -
y / 2.0)) * xh;
◆ zExpected()
| double FPGATrackSimKeyLayerTool::zExpected |
( |
const KeyLyrPars & |
keypars, |
|
|
double |
r |
|
) |
| const |
◆ m_R1
| double FPGATrackSimKeyLayerTool::m_R1 {} |
|
private |
◆ m_R2
| double FPGATrackSimKeyLayerTool::m_R2 {} |
|
private |
The documentation for this class was generated from the following files: