hep.lcd.recon.tracking
Class HelicalSwimmer
java.lang.Object
|
+--hep.lcd.recon.tracking.HelicalSwimmer
- public class HelicalSwimmer
- 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:
- Mike Ronan - generalized for track fitting
modified by Nick Sinev March 1999 to get path length (needed for mult. scattering calc.)
Nick's version of angles handling
Modified by Nick Sinev June 10 1999 - added second intersection point calculations
- Source Code:
- HelicalSwimmer.java
Constructor Summary |
HelicalSwimmer()
Create helical swimmer with some default parameters;
(essentually not usable set) |
HelicalSwimmer(double B,
double r_cyl,
double z_pl)
Create a Helix swimmer |
HelicalSwimmer(TrkParams params,
double r_cyl,
double z_pl)
Create a Helix swimmer for the given trajectory |
HelicalSwimmer(TrkParams params,
double B,
double r_cyl,
double z_pl)
Create a Helix swimmer for the given trajectory |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
trace
public boolean trace
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
B
public double B
HelicalSwimmer
public HelicalSwimmer()
- Create helical swimmer with some default parameters;
(essentually not usable set)
HelicalSwimmer
public HelicalSwimmer(TrkParams params,
double B,
double r_cyl,
double z_pl)
- Create a Helix swimmer for the given trajectory
- Parameters:
params
- - Track parametersB
- - 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 )
HelicalSwimmer
public HelicalSwimmer(TrkParams params,
double r_cyl,
double z_pl)
- Create a Helix swimmer for the given trajectory
- Parameters:
params
- - Track parametersr_cyl
- - radius of cylinder in cmz_pl
- - z-coordinate of planes at end of cylinder (assumes symmetric placement at +/- z )
HelicalSwimmer
public HelicalSwimmer(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 )
setBField
public void setBField(double BField)
getIntersect
public double[] getIntersect()
- Returns:
- position at point of intersection (x,y,z)
getIntersect2
public double[] getIntersect2()
getPlane
public int getPlane()
- Returns:
- cyl/plane which is first hit
getPlane2
public int getPlane2()
getCenter
public double[] getCenter()
getRadius
public double getRadius()
getLength
public double getLength()
- Returns:
- track length from initial point to intersection
getLength2
public double getLength2()
getSinXang
public double getSinXang()
swim
public void swim(double r_cyl)
- Parameters:
r_cyl
- cylinder to intercept
swim
public void swim(double r_cyl,
double z_pl)
swim
public void swim(TrkParams params)
swim
public void swim(TrkParams params,
double r,
double z)
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
The LCD Group