ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimBinUtil::GeomHelpers Class Reference

#include <FPGATrackSimBinUtil.h>

Collaboration diagram for FPGATrackSimBinUtil::GeomHelpers:

Static Public Member Functions

static double ThetaFromEta (double eta)
static double EtaFromTheta (double theta)
static double zFromPars (double r, const FPGATrackSimTrackPars &pars)
static double phiFromPars (double r, const FPGATrackSimTrackPars &pars)
static double parsToTrkPhi (const FPGATrackSimTrackPars &pars, FPGATrackSimHit const *hit)
static double dPhiHitTrkFromPars (double r, const FPGATrackSimTrackPars &pars)
static double dZdEta (double eta)
static double dPhidQOverPt (double hitr)

Static Public Attributes

static constexpr double CurvatureConstant = fpgatracksim::A

Detailed Description

Definition at line 118 of file FPGATrackSimBinUtil.h.

Member Function Documentation

◆ dPhidQOverPt()

double FPGATrackSimBinUtil::GeomHelpers::dPhidQOverPt ( double hitr)
static

Definition at line 185 of file FPGATrackSimBinUtil.cxx.

186{
187 // full answer = rA/cos(dphi)
188 // approx answer = rA b/c dphi is small (~0.4 max)
189 return hitr*CurvatureConstant;
190}
static constexpr double CurvatureConstant

◆ dPhiHitTrkFromPars()

double FPGATrackSimBinUtil::GeomHelpers::dPhiHitTrkFromPars ( double r,
const FPGATrackSimTrackPars & pars )
static

Definition at line 162 of file FPGATrackSimBinUtil.cxx.

162 {
163 return asin(r * CurvatureConstant * pars.qOverPt - pars.d0 / r);
164}
int r
Definition globals.cxx:22

◆ dZdEta()

double FPGATrackSimBinUtil::GeomHelpers::dZdEta ( double eta)
static

Definition at line 179 of file FPGATrackSimBinUtil.cxx.

180{
181 // dtheta/deta = -sin(theta)
182 return -1.0/std::sin(ThetaFromEta(eta));
183}
Scalar eta() const
pseudorapidity method
static double ThetaFromEta(double eta)

◆ EtaFromTheta()

double FPGATrackSimBinUtil::GeomHelpers::EtaFromTheta ( double theta)
static

Definition at line 143 of file FPGATrackSimBinUtil.cxx.

144{
145 return -log(tan(theta / 2.0));
146}
Scalar theta() const
theta method

◆ parsToTrkPhi()

double FPGATrackSimBinUtil::GeomHelpers::parsToTrkPhi ( const FPGATrackSimTrackPars & pars,
FPGATrackSimHit const * hit )
static

Definition at line 171 of file FPGATrackSimBinUtil.cxx.

172{
173 double r = hit->getR(); // mm
174 double phi_hit = hit->getGPhi(); // radians
175 double phi_trk = xAOD::P4Helpers::deltaPhi(phi_hit,dPhiHitTrkFromPars(r,pars));
176 return phi_trk;
177}
static double dPhiHitTrkFromPars(double r, const FPGATrackSimTrackPars &pars)
double deltaPhi(double phiA, double phiB)
delta Phi in range [-pi,pi[

◆ phiFromPars()

double FPGATrackSimBinUtil::GeomHelpers::phiFromPars ( double r,
const FPGATrackSimTrackPars & pars )
static

Definition at line 166 of file FPGATrackSimBinUtil.cxx.

166 {
167 double phi_hit = xAOD::P4Helpers::deltaPhi(pars.phi,dPhiHitTrkFromPars(r,pars));
168 return phi_hit;
169}

◆ ThetaFromEta()

double FPGATrackSimBinUtil::GeomHelpers::ThetaFromEta ( double eta)
static

Definition at line 138 of file FPGATrackSimBinUtil.cxx.

139{
140 return 2.0 * atan(exp(-1.0 * eta));
141}

◆ zFromPars()

double FPGATrackSimBinUtil::GeomHelpers::zFromPars ( double r,
const FPGATrackSimTrackPars & pars )
static

Definition at line 151 of file FPGATrackSimBinUtil.cxx.

152{
153 double theta = ThetaFromEta(pars.eta);
154 double zhit = pars.z0 + r / tan(theta);
155 if (std::abs(pars.qOverPt) > 0)
156 {
157 zhit = pars.z0 + 1.0 / tan(theta) * asin(r * CurvatureConstant * pars.qOverPt) / (CurvatureConstant * pars.qOverPt);
158 }
159 return zhit;
160}

Member Data Documentation

◆ CurvatureConstant

double FPGATrackSimBinUtil::GeomHelpers::CurvatureConstant = fpgatracksim::A
staticconstexpr

Definition at line 122 of file FPGATrackSimBinUtil.h.


The documentation for this class was generated from the following files: