13 LocalPoint lPos = toLocal.toLocal(startingPos);
19 float sinPhi = 0, cosPhi = 0;
38 pos =
Vector2D(lPos.
x() * cosPhi + lPos.
y() * sinPhi, -lPos.
x() * sinPhi + lPos.
y() * cosPhi);
39 dir =
Vector2D(lDir.
x() * cosPhi + lDir.
y() * sinPhi, -lDir.
x() * sinPhi + lDir.
y() * cosPhi);
44 float x = pos.x() + dir.x() / lDir.
z() * d - 0.5f * rho * d *
d;
45 float y = pos.y() + dir.y() / lDir.
z() *
d;
56 float px = dir.x() + rho *
d;
57 theDir =
LocalVector(px * cosPhi - dir.y() * sinPhi, px * sinPhi + dir.y() * cosPhi, lDir.
z());
69 LocalPoint lPos = toLocal.toLocal(startingPos);
75 float sinPhi = 0, cosPhi = 0;
94 pos =
Vector2D(lPos.
x() * cosPhi + lPos.
y() * sinPhi, -lPos.
x() * sinPhi + lPos.
y() * cosPhi);
95 dir =
Vector2D(lDir.
x() * cosPhi + lDir.
y() * sinPhi, -lDir.
x() * sinPhi + lDir.
y() * cosPhi);
100 float x = pos.x() + dir.x() / lDir.
z() * d - 0.5f * rho * d *
d;
101 float y = pos.y() + dir.y() / lDir.
z() *
d;
107 return (!rotated) ?
LocalPoint(x, y, 0) :
LocalPoint(x * cosPhi - y * sinPhi, x * sinPhi + y * cosPhi, 0);
static LocalPoint positionOnly(const GlobalPoint &startingPos, const GlobalVector &startingDir, float rho, const Plane &plane)
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
Surface::GlobalVector GlobalVector
Basic2DVector< double >::MathVector Vector2D
Abs< T >::type abs(const T &t)
Surface::LocalVector LocalVector
HelixBarrelPlaneCrossing2OrderLocal(const GlobalPoint &startingPos, const GlobalVector &startingDir, float rho, const Plane &plane)
Surface::LocalPoint LocalPoint