public class HelixSwimmer extends Object
For more info on swimming see this paper by Paul Avery.
Modifier and Type | Field and Description |
---|---|
protected double |
_charge |
protected SpaceVector |
_momentum |
protected Trajectory |
_trajectory |
protected double |
field |
Constructor and Description |
---|
HelixSwimmer(double B)
Creates a new instance of HelixSwimmer
|
Modifier and Type | Method and Description |
---|---|
double |
getDistanceToCylinder(double r,
double z) |
double |
getDistanceToPoint(Hep3Vector point) |
double |
getDistanceToPolyhedra(double r,
int nsides) |
double |
getDistanceToRadius(double r) |
double |
getDistanceToZ(double z) |
SpaceVector |
getMomentumAtLength(double alpha)
Returns the momentum on a point on the track at a distance from the
origin
|
SpacePoint |
getPointAtDistance(double alpha)
Deprecated.
in favor of
getPointAtLength |
SpacePoint |
getPointAtLength(double alpha)
Returns a SpacePoint at the length alpha from the origin along the track
|
double |
getTrackLengthToPoint(Hep3Vector point)
Returns the distance along the trajectory to get to the point of closest
approach
|
Trajectory |
getTrajectory() |
void |
setTrack(Hep3Vector p,
Hep3Vector r0,
int iq)
Deprecated.
in favor of
setTrack(SpaceVector p, SpacePoint r0, int iq)
because this method has an ambiguous signature |
void |
setTrack(Hep3Vector p0,
SpacePoint r0,
double q)
Sets parameters for helix swimmmer.
|
void |
setTrack(Hep3Vector p0,
SpacePoint r0,
int iq)
Sets parameters for helix swimmmer.
|
void |
setTrack(Track t)
Sets the parameters for the helix swimmer.
|
protected double field
protected Trajectory _trajectory
protected SpaceVector _momentum
protected double _charge
public HelixSwimmer(double B)
B
- field strength in Tesla; uniform, solenoidal, directed
along z-axispublic void setTrack(Hep3Vector p0, SpacePoint r0, int iq)
p
- 3-momentum (px,py,pz)r0
- initial position(x0,y0,z0)iq
- charge iq = q/|e| = +1/0/-1public void setTrack(Hep3Vector p0, SpacePoint r0, double q)
p
- 3-momentum (px,py,pz)r0
- initial position(x0,y0,z0)q
- charge q = q/|e| = +1/0/-1@Deprecated public void setTrack(Hep3Vector p, Hep3Vector r0, int iq)
setTrack(SpaceVector p, SpacePoint r0, int iq)
because this method has an ambiguous signaturep
- 3-momentum (px,py,pz)r0
- initial position(x0,y0,z0)iq
- charge iq = q/|e| = +1/0/-1public void setTrack(Track t)
t
- The track to approximate with a helix@Deprecated public SpacePoint getPointAtDistance(double alpha)
getPointAtLength
alpha
- SpacePoint
at the length alpha from the origin along
the trackpublic SpacePoint getPointAtLength(double alpha)
alpha
- SpacePoint
at the length alpha from the origin along
the trackpublic double getDistanceToRadius(double r)
public double getDistanceToPolyhedra(double r, int nsides)
public double getDistanceToZ(double z)
public double getDistanceToCylinder(double r, double z)
public double getTrackLengthToPoint(Hep3Vector point)
point
- The point to swim as close as possible topublic double getDistanceToPoint(Hep3Vector point)
public SpaceVector getMomentumAtLength(double alpha)
alpha
- The 2D distance from the origin along the trackpublic Trajectory getTrajectory()
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.