gov.sns.xal.model.elem
Class ThinLens

java.lang.Object
  |
  +--gov.sns.xal.model.elem.Element
        |
        +--gov.sns.xal.model.elem.ThinElement
              |
              +--gov.sns.xal.model.elem.ThinLens
All Implemented Interfaces:
IComponent, IElement

public class ThinLens
extends ThinElement

Represents a thin lens abstract modeling element in a particle beam transport/accelerator system.

A zero value for focal length indicates zero focusing strength, or infinite focal length. Positive focal lengths imply focusing while negative values imply defocusing.


Field Summary
static java.lang.String s_strType
          string type identifier for all ThinLens objects
 
Fields inherited from interface gov.sns.xal.model.IElement
LightSpeed, Permeability, Permittivity, UnitCharge
 
Constructor Summary
ThinLens()
          JavaBean Constructor - creates a new unitialized instance of ThinLens BE CAREFUL
ThinLens(java.lang.String strId, double dblFx, double dblFy, double dblFz)
          Creates a new instance of ThinLens A zero value for focal length indicates zero focusing strength, or infinite focal length.
 
Method Summary
 double elapsedTime(IProbe probe)
          Returns the time taken for the probe to propagate through element.
 double energyGain(IProbe probe)
          Returns zero for the energy gain imparted to any probe by a thin lens.
 void print(java.io.PrintWriter os)
          Dump current state and content to output stream.
 void setFocalLengthX(double dblFx)
          Set the focal length in the x direction.
 void setFocalLengthY(double dblFy)
          Set the focal length in the y direction.
 void setFocalLengthZ(double dblFz)
          Set the focal length in the z direction.
protected  PhaseMap transferMap(IProbe probe)
          Compute and return the block-diagonal transfer matrix representing a thin lens in each phase plane.
 
Methods inherited from class gov.sns.xal.model.elem.ThinElement
elapsedTime, energyGain, getLength, transferMap
 
Methods inherited from class gov.sns.xal.model.elem.Element
compDriftingTime, getId, getType, getUID, initializeFrom, propagate, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s_strType

public static final java.lang.String s_strType
string type identifier for all ThinLens objects

See Also:
Constant Field Values
Constructor Detail

ThinLens

public ThinLens(java.lang.String strId,
                double dblFx,
                double dblFy,
                double dblFz)
Creates a new instance of ThinLens A zero value for focal length indicates zero focusing strength, or infinite focal length. Positive focal lengths imply focusing while negative values imply defocusing.

Parameters:
strId - string identifier of element
dblFx - focal length in the x phase plane (in meters)
dblFy - focal length in the y phase plane (in meters)
dblFz - focal length in the z phase plane (in meters)

ThinLens

public ThinLens()
JavaBean Constructor - creates a new unitialized instance of ThinLens BE CAREFUL

Method Detail

setFocalLengthX

public void setFocalLengthX(double dblFx)
Set the focal length in the x direction.

Parameters:
dblFx - focal length in the x phase plane (in meters)

setFocalLengthY

public void setFocalLengthY(double dblFy)
Set the focal length in the y direction.

Parameters:
dblFy - focal length in the y phase plane (in meters)

setFocalLengthZ

public void setFocalLengthZ(double dblFz)
Set the focal length in the z direction.

Parameters:
dblFz - focal length in the z phase plane (in meters)

elapsedTime

public double elapsedTime(IProbe probe)
Returns the time taken for the probe to propagate through element.

Specified by:
elapsedTime in class ThinElement
Parameters:
probe - propagating probe
Returns:
the value zero

energyGain

public double energyGain(IProbe probe)
Returns zero for the energy gain imparted to any probe by a thin lens.

Specified by:
energyGain in class ThinElement
Parameters:
probe - dummy argument
Returns:
a value of zero

transferMap

protected PhaseMap transferMap(IProbe probe)
                        throws ModelException
Compute and return the block-diagonal transfer matrix representing a thin lens in each phase plane.

Specified by:
transferMap in class ThinElement
Parameters:
probe - dummy argument, no probe parameters are used
Returns:
the block diagonal transfer matrix
Throws:
ModelException - this should not occur

print

public void print(java.io.PrintWriter os)
Dump current state and content to output stream.

Overrides:
print in class Element
Parameters:
os - output stream object