17 float f_atan2f(
float y,
float x) {
return unsafe_atan2f<7>(
y,
x); }
18 template<
typename V>
inline float f_phi(V
v) {
return f_atan2f(v.y(),v.x());}
22 template <
class T>
inline T sqr(
T t) {
return t*
t;}
29 : theTolerance(tolerance)
47 pv = p1.
y()*p2.
x() - p2.
y()*p1.
x();
85 for (
int i=0;
i!=2; ++
i)
90 Scalar phi2 = phi1+(v[1]-v[0]);
126 for (
int i=0;
i<4; ++
i)
134 for (
int i=0; i<2; ++
i) {
135 auto x = xr[0]*u[
i] + yr[0]*v[
i];
136 auto y = xr[1]*u[
i] + yr[1]*v[
i];
137 phi1[
i] = f_atan2f(
y,
x);
138 phi2[
i] = phi1[
i]+(v[i+2]-v[
i]);
141 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)
T x() const
Cartesian x coordinate.
Range rangeRPhi(Scalar radius, int charge) const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Abs< T >::type abs(const T &t)
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
Square< F >::type sqr(const F &f)
BasicVector rotateBack(const BasicVector &v) const
T x() const
Cartesian x coordinate.