16 inline float f_atan2f(
float y,
float x) {
return unsafe_atan2f<7>(
y,
x); }
18 inline float f_phi(
V v) {
19 return f_atan2f(v.y(), v.x());
34 : theTolerance(tolerance) {
49 pv = p1.
y() * p2.
x() - p2.
y() * p1.
x();
72 bool pos = icharge > 0;
80 for (
int i = 0;
i != 2; ++
i)
85 Scalar phi2 = phi1 + (v[1] - v[0]);
116 for (
int i = 0;
i < 4; ++
i)
124 for (
int i = 0; i < 2; ++
i) {
125 auto x = xr[0] * u[
i] + yr[0] * v[
i];
126 auto y = xr[1] * u[
i] + yr[1] * v[
i];
127 phi1[
i] = f_atan2f(
y,
x);
128 phi2[
i] = phi1[
i] + (v[i + 2] - v[
i]);
131 return getRange(phi1[1], phi2[1],
emptyM).sum(getRange(phi1[0], phi2[0],
emptyP));
ThirdHitPredictionFromInvParabola()
PixelRecoRange< float > Range
TkRotation2D< Scalar > Rotation
Point2D transform(Point2D const &p) const
void init(const GlobalPoint &P1, const GlobalPoint &P2, Scalar ip, Scalar curv)
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
Range rangeRPhi(Scalar radius, int charge) const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Abs< T >::type abs(const T &t)
uint16_t const *__restrict__ x
T y() const
Cartesian y coordinate.
PixelRecoRange< Scalar > RangeD
Scalar ipFromCurvature(Scalar curvature, bool pos) const
void findPointAtCurve(Scalar radius, Scalar ip, Scalar &u, Scalar &v) const
PixelRecoRange< T > intersection(const PixelRecoRange< T > &r) const
BasicVector rotateBack(const BasicVector &v) const
T x() const
Cartesian x coordinate.