hep.lcd.util.swim
Class Helix
java.lang.Object
|
+--hep.lcd.util.swim.Helix
- public class Helix
- extends Object
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 and determines
its point of intersection (r_hit) with a cylinder centered at
the origin with axis parallel to the z-axis and with ends.
Trajectories are parameterized as fn of path length, s.
There are no approximations made.
Units are Tesla, cm, GeV/c
- Author:
- Ray Frey - Javaized by Tony Johnson
- Source Code:
- Helix.java
Constructor Summary |
Helix(double B,
double r_cyl,
double z_pl)
Create a Helix swimmer |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROBLEM
public static final int PROBLEM
PLANE_R
public static final int PLANE_R
PLANE_PLUSZ
public static final int PLANE_PLUSZ
PLANE_MINUSZ
public static final int PLANE_MINUSZ
Helix
public Helix(double B,
double r_cyl,
double z_pl)
- Create a Helix swimmer
- Parameters:
B
- field strength; uniform, solenoidal, directed along z-axisr_cyl
- radius of cylinderz_pl
- z-coordinate of planes at end of cylinder (assumes symmetric placement at +/- z )
getIntersect
public double[] getIntersect()
- Returns:
- position at point of intersection (x,y,z)
getPlane
public int getPlane()
- Returns:
- cyl/plane which is first hit
getCenter
public double[] getCenter()
getRadius
public double getRadius()
swim
public void swim(double[] p,
double[] r0_in,
int iq,
boolean isFlipped)
- Parameters:
p
- 3-momentum (px,py,pz)r0
- initial position (x0,y0,z0)iq
- charge iq = q/|e| = +/- 1isFlipped
- curvature flipping option- See Also:
setCurvatureFlip(boolean)
swim
public void swim(double[] p,
double[] r0_in,
int iq)
- Parameters:
p
- 3-momentum (px,py,pz)r0
- initial position (x0,y0,z0)iq
- charge iq = q/|e| = +/- 1
setCurvatureFlip
public void setCurvatureFlip(boolean isFlipped)
- Flag for flipped curvature.
This enables us to compare this Helix with GISMO hits
for example.
- Parameters:
isFlipped
- true if curvatures should be flipped
(default: with flipping)- See Also:
isFlipped()
isFlipped
public boolean isFlipped()
- Status of curvature flipping
- Returns:
- true if curvature flipping option is on
- See Also:
setCurvatureFlip(boolean)
The LCD Group