#include <FPGATrackSimGenScanBinning.h>
|
| FPGATrackSimGenScanKeyLyrHelper (double r1, double r2) |
|
| FPGATrackSimGenScanKeyLyrHelper () |
|
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, const FPGATrackSimHit *hit) 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, const FPGATrackSimHit *hit) const |
|
double | xmForHit (const KeyLyrPars &keypars, const FPGATrackSimHit *hit) const |
|
double | deltaX (const KeyLyrPars &keypars, const FPGATrackSimHit *hit) const |
|
double | R1 () const |
|
double | R2 () const |
|
void | setR1 (const double r1) |
|
void | setR2 (const double r2) |
|
◆ FPGATrackSimGenScanKeyLyrHelper() [1/2]
FPGATrackSimGenScanKeyLyrHelper::FPGATrackSimGenScanKeyLyrHelper |
( |
double |
r1, |
|
|
double |
r2 |
|
) |
| |
|
inline |
◆ FPGATrackSimGenScanKeyLyrHelper() [2/2]
FPGATrackSimGenScanKeyLyrHelper::FPGATrackSimGenScanKeyLyrHelper |
( |
| ) |
|
|
inline |
◆ deltaX()
◆ getRotatedConfig()
◆ getRotatedHit()
std::pair< double, double > FPGATrackSimGenScanKeyLyrHelper::getRotatedHit |
( |
const std::pair< double, double > & |
rotang, |
|
|
const FPGATrackSimHit * |
hit |
|
) |
| const |
◆ getRotationAngles()
std::pair< double, double > FPGATrackSimGenScanKeyLyrHelper::getRotationAngles |
( |
const std::pair< double, double > & |
xy1, |
|
|
const std::pair< double, double > & |
xy2 |
|
) |
| const |
Definition at line 223 of file FPGATrackSimGenScanBinning.cxx.
225 double dr12x = xy2.first - xy1.first;
226 double dr12y = xy2.second - xy1.second;
227 double dr12mag = std::hypot(dr12x, dr12y);
228 double cos_rot = dr12y / dr12mag;
229 double sin_rot = -dr12x / dr12mag;
230 return std::pair<double, double>(cos_rot, sin_rot);
◆ getXY()
std::pair< double, double > FPGATrackSimGenScanKeyLyrHelper::getXY |
( |
double |
r, |
|
|
double |
phi |
|
) |
| const |
◆ keyParsToTrackPars()
Definition at line 286 of file FPGATrackSimGenScanBinning.cxx.
296 double xm = keypars.xm;
299 auto xy1p = rotated_coords.xy1p;
300 auto rotang = rotated_coords.rotang;
301 auto y = rotated_coords.y;
304 auto revang = rotang;
305 revang.second = -rotang.second;
309 double Rinv = 2 * xm / (xm * xm + (
y / 2) * (
y / 2));
310 double d = (
y *
y / 4.0 - xm * xm) / (2.0 * xm);
311 double sign = (xm > 0) - (xm < 0);
315 std::pair<double, double> xycp(-
d + xy1p.first,
y / 2.0 + xy1p.second);
◆ R1()
double FPGATrackSimGenScanKeyLyrHelper::R1 |
( |
| ) |
const |
|
inline |
◆ R2()
double FPGATrackSimGenScanKeyLyrHelper::R2 |
( |
| ) |
const |
|
inline |
◆ rotateXY()
std::pair< double, double > FPGATrackSimGenScanKeyLyrHelper::rotateXY |
( |
const std::pair< double, double > & |
xy, |
|
|
const std::pair< double, double > & |
ang |
|
) |
| const |
Definition at line 233 of file FPGATrackSimGenScanBinning.cxx.
235 return std::pair<double, double>(xy.first * ang.first + xy.second * ang.second,
236 -xy.first * ang.second + xy.second * ang.first);
◆ setR1()
void FPGATrackSimGenScanKeyLyrHelper::setR1 |
( |
const double |
r1 | ) |
|
|
inline |
◆ setR2()
void FPGATrackSimGenScanKeyLyrHelper::setR2 |
( |
const double |
r2 | ) |
|
|
inline |
◆ trackParsToKeyPars()
Definition at line 260 of file FPGATrackSimGenScanBinning.cxx.
274 double ysqr = (xy2.first - xy1.first) * (xy2.first - xy1.first) + (xy2.second - xy1.second) * (xy2.second - xy1.second);
275 double sign = (
R > 0) - (
R < 0);
276 retv.xm = -1 *
sign * (std::abs(
R) - sqrt(
R *
R - ysqr / 4.0));
◆ xExpected()
Definition at line 377 of file FPGATrackSimGenScanBinning.cxx.
381 auto rotang = rotated_coords.rotang;
382 auto y = rotated_coords.y;
386 double yh = xyhp.second-rotated_coords.xy1p.second;
388 return keypars.xm * (keypars.xm * keypars.xm + yh * (
y - yh)) / (keypars.xm * keypars.xm + (
y / 2) * (
y / 2));
◆ xmForHit()
Definition at line 339 of file FPGATrackSimGenScanBinning.cxx.
342 auto xy1p = rotated_coords.xy1p;
343 auto rotang = rotated_coords.rotang;
344 auto y = rotated_coords.y;
347 double xh = xyhp.first - xy1p.first;
348 double yh = xyhp.second - xy1p.second;
351 double sign = ((yh > 0) && (yh <
y)) ? 1 : -1;
352 if ((std::abs(yh) < std::abs(xh)) || (std::abs(
y - yh) < std::abs(xh)))
354 return ((xh > 0) ? 1 : -1) * 100000;
357 double xm_taylor =
sign *
y *
y / (
y *
y - 4 * xh * xh - 4 * (yh -
y / 2.0) * (yh -
y / 2.0)) * xh;
◆ zExpected()
double FPGATrackSimGenScanKeyLyrHelper::zExpected |
( |
const KeyLyrPars & |
keypars, |
|
|
double |
r |
|
) |
| const |
◆ m_R1
double FPGATrackSimGenScanKeyLyrHelper::m_R1 |
|
private |
◆ m_R2
double FPGATrackSimGenScanKeyLyrHelper::m_R2 |
|
private |
The documentation for this class was generated from the following files: