|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--hep.lcd.util.swim.HelixSwim
Given a particle of initial momentum, position and charge
(p, r0 and iq), calculates its trajectory in a uniform magnetic
field in the z-direction. The trajectory is parametrized as function
of the path length alpha.
This implementation works for charged and neutral particles alike.
Note: This class has been specifically adapted to the unique LCD
tracking coordinate system. (Inverted sign of curvatures.)
Field Summary | |
static double |
PTINY
public static constants |
Constructor Summary | |
HelixSwim(double B)
Create a helix swimmmer. |
|
HelixSwim(double B,
double[] p,
double[] r0,
int iq)
Create and initialize a helix swimmmer. |
|
HelixSwim(double B,
double rhoMin,
double rhoMax,
double zMax)
Create a helix swimmmer set B field and cylindrical geometry parallel to z-axis. |
Method Summary | |
Vector |
asPoints(double alphaMax)
Provide points along the particle's track within cylindrical volume. |
double |
getCosL()
report cos lambda |
double |
getRc()
report the circle's radius in the rho-phi plane |
double |
getSinL()
report sin lambda |
double |
getTanL()
report tan lambda |
void |
setCurvatureFlip(boolean isFlipped)
Flag for flipped curvature. |
void |
setCylinderGeometry(double rhoMin,
double rhoMax,
double zMax)
Set cylindrical geometry parallel to z-axis. |
void |
setPointDensity(int nPoints)
Set minimum point number on a full circle. |
void |
setPointDistance(double ptDist)
Set point distance along trajectory: |
void |
setTrack(double[] p,
double[] r0,
int iq)
Set track for helix swimmmer. |
double[] |
swimBy(double alpha)
swim along this track to point at distance alpha from it's origin (in positive track direction) |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final double PTINY
Constructor Detail |
public HelixSwim(double B)
B
- field strength; uniform, solenoidal, directed along z-axispublic HelixSwim(double B, double rhoMin, double rhoMax, double zMax)
B
- field strength; uniform, solenoidal, directed along z-axisrhoMin
- minimum radiusrhoMax
- maximum radiuszMax
- maximum extend in +/-zsetCylinderGeometry(double, double, double)
public HelixSwim(double B, double[] p, double[] r0, int iq)
B
- field strength; uniform, solenoidal, directed along z-axisp
- 3-momentum (px,py,pz)r0
- initial position(x0,y0,z0)iq
- charge iq = q/|e| = +/-1Method Detail |
public void setTrack(double[] p, double[] r0, int iq)
B
- field strength; uniform, solenoidal, directed along z-axisp
- 3-momentum (px,py,pz)r0
- initial position(x0,y0,z0)iq
- charge iq = q/|e| = +/-1public double[] swimBy(double alpha)
public double getRc()
public double getTanL()
public double getSinL()
public double getCosL()
public void setPointDensity(int nPoints)
nPoints
- number of points on a full circleasPoints(double)
public void setPointDistance(double ptDist)
ptDist
- distance between two pointsasPoints(double)
public void setCylinderGeometry(double rhoMin, double rhoMax, double zMax)
rhoMin
- minimum radiusrhoMax
- maximum radiuszMax
- maximum extend in +/-zasPoints(double)
public Vector asPoints(double alphaMax)
alphaMax
- : maximum path length along trajectory,
alphaMax < 0 : alphaMax is automatically
set according to the cylinders extensions.setCylinderGeometry(double, double, double)
,
setPointDistance(double)
,
setPointDensity(int)
public void setCurvatureFlip(boolean isFlipped)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |