public class CoordinateMap
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected AcceleratorNode |
NODE_A
first reference node
|
protected AcceleratorNode |
NODE_B
second reference node
|
protected AcceleratorSeq |
SEQUENCE
Accelerator sequence
|
protected AcceleratorNode |
TARGET_NODE
the element to which to transfer coordinate information
|
protected double[] |
X_TRANSFER_MAP
horizontal transfer map
|
protected double[] |
XP_TRANSFER_MAP
horizontal angle transfer map
|
protected double[] |
Y_TRANSFER_MAP
vertical transfer map
|
protected double[] |
YP_TRANSFER_MAP
vertical angle transfer map
|
Constructor and Description |
---|
CoordinateMap(AcceleratorNode targetNode,
AcceleratorNode nodeA,
AcceleratorNode nodeB,
Trajectory<TransferMapState> trajectory)
Constructor suitable for a linear sequence
|
CoordinateMap(AcceleratorNode targetNode,
AcceleratorNode nodeA,
AcceleratorNode nodeB,
Trajectory<TransferMapState> trajectory,
AcceleratorSeq sequence)
Primary Constructor
|
Modifier and Type | Method and Description |
---|---|
static CoordinateMap |
getInstance(AcceleratorNode targetNode,
AcceleratorNode nodeA,
AcceleratorNode nodeB,
AcceleratorSeq sequence)
Get a new instance of this class without setting the trajectory
|
double |
getX(double x1,
double x2)
get the horizontal coordinate in millimeters at the target node based on coordinates at the two reference nodes
|
double |
getXAngle(double x1,
double x2)
get the horizontal angle in millimeters at the target node based on coordinates at the two reference nodes
|
double |
getY(double y1,
double y2)
get the vertical coordinate in millimeters at the target node based on coordinates at the two reference nodes
|
double |
getYAngle(double y1,
double y2)
get the vertical angle in millimeters at the target node based on coordinates at the two reference nodes
|
void |
setTrajectory(Trajectory<TransferMapState> trajectory)
set the trajectory
|
protected final AcceleratorSeq SEQUENCE
protected final AcceleratorNode NODE_A
protected final AcceleratorNode NODE_B
protected final AcceleratorNode TARGET_NODE
protected final double[] X_TRANSFER_MAP
protected final double[] Y_TRANSFER_MAP
protected final double[] XP_TRANSFER_MAP
protected final double[] YP_TRANSFER_MAP
public CoordinateMap(AcceleratorNode targetNode, AcceleratorNode nodeA, AcceleratorNode nodeB, Trajectory<TransferMapState> trajectory, AcceleratorSeq sequence)
targetNode
- accelerator node for which we wish to get the coordinatesnodeA
- first accelerator node for which we have a positionnodeB
- second accelerator node for which we have a positiontrajectory
- initial online model trajectory to use for generating the maps to the target nodesequence
- accelerator sequence which is necessary to handle the ring correctlypublic CoordinateMap(AcceleratorNode targetNode, AcceleratorNode nodeA, AcceleratorNode nodeB, Trajectory<TransferMapState> trajectory)
targetNode
- accelerator node for which we wish to get the coordinatesnodeA
- first accelerator node for which we have a positionnodeB
- second accelerator node for which we have a positiontrajectory
- online model trajectory to use for generating the maps to the target nodepublic static CoordinateMap getInstance(AcceleratorNode targetNode, AcceleratorNode nodeA, AcceleratorNode nodeB, AcceleratorSeq sequence)
targetNode
- accelerator node for which we wish to get the coordinatesnodeA
- first accelerator node for which we have a positionnodeB
- second accelerator node for which we have a positionsequence
- accelerator sequence which is necessary to handle the ring correctlypublic double getX(double x1, double x2)
x1
- horizontal coordinate at node A in millimetersx2
- horizontal coordinate at node B in millimeterspublic double getY(double y1, double y2)
y1
- vertical coordinate at node A in millimetersy2
- vertical coordinate at node B in millimeterspublic double getXAngle(double x1, double x2)
x1
- horizontal coordinate at node A in millimetersx2
- horizontal coordinate at node B in millimeterspublic double getYAngle(double y1, double y2)
y1
- vertical coordinate at node A in millimetersy2
- vertical coordinate at node B in millimeterspublic void setTrajectory(Trajectory<TransferMapState> trajectory)