orbit.py_linac#

Classes#

AccErrorNode([name, type_in])

This is an abstract base class for Error nodes hierarchy.

ErrorLongitudinalDisplacementNode([name])

The subclass of AccErrorNode.

ErrorCoordDisplacementNode([name])

The subclass of AccErrorNode.

ErrorBendFieldNode([name])

The subclass of AccErrorNode.

ErrorStraightRotationZNode([name])

The subclass of AccErrorNode.

ErrorStraightRotationXNode([name])

The subclass of AccErrorNode.

ErrorStraightRotationYNode([name])

The subclass of AccErrorNode.

BaseErrorController([name, type_in])

The base class for Error Controllers.

ErrorCntrlLongitudinalDisplacement([name])

Subclass of BaseErrorController.

ErrorCntrlCoordDisplacement([name])

Subclass of BaseErrorController.

ErrorCntrlBendField([name])

Subclass of BaseErrorController.

ErrorCntrlStraightRotationZ([name])

Subclass of BaseErrorController.

ErrorCntrlStraightRotationX([name])

Subclass of BaseErrorController.

ErrorCntrlStraightRotationY([name])

Subclass of BaseErrorController.

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.errors.ErrorNodesAndControllersLib.AccErrorNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorLongitudinalDisplacementNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCoordDisplacementNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorBendFieldNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorStraightRotationZNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorStraightRotationXNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorStraightRotationYNode, orbit.py_linac.errors.ErrorNodesAndControllersLib.BaseErrorController, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlLongitudinalDisplacement, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlCoordDisplacement, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlBendField, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlStraightRotationZ, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlStraightRotationX, orbit.py_linac.errors.ErrorNodesAndControllersLib.ErrorCntrlStraightRotationY

Functions#

GetGlobalQuadGradient(accLattice, z)

The service function for the overlapping fields package.

GetGlobalQuadGradientDerivative(accLattice, z)

The service function for the overlapping fields package.

GetGlobalRF_AxisField(accLattice, z)

The service function for the overlapping RF fields package.

getNodeForNameFromWholeLattice(accLattice, name)

Returns the accelerator node or an array of nodes with the same name.

getNodePosDictForWholeLattice(accLattice)

Returns the dict[node] = (posStart,posEnd) for all nodes (not only for the firts level).

getAllNodesInLattice(accLattice)

Returns the array with all nodes on all levels (even sub-child).

getAllMagnetsInLattice(accLattice)

Returns the array with all magnets including magnets on all levels (e.g correctors)

Classes#

LinacAccLattice([name])

The subclass of the AccLattice class.

BaseLinacNode([name])

The base abstract class of the linac accelerator elements hierarchy.

LinacNode([name])

The abstract class of the linac accelerator elements hierarchy that can be tilted.

LinacMagnetNode([name])

The abstract class of the linac magnet.

MarkerLinacNode([name])

This is a marker.

Drift([name])

Drift element.

Quad([name])

Quad Combined Function TEAPOT element.

AbstractRF_Gap([name])

This is an abstarct class for all RF Gap classes.

DCorrectorH([name])

The Horizontal Dipole Corrector.

DCorrectorV([name])

The Vertical Dipole Corrector.

ThickKick([name])

Thick kiker linac node.

Bend([name])

Bend Combined Functions TEAPOT element.

Solenoid([name])

Solenoid TEAPOT based element.

LinacApertureNode(shape, a, b[, pos, c, d, name])

The aperture classes removes particles from bunch and places them in the lostbunch if their coordinates are not inside the aperture: The shape variable could be: 1 is circle (a is a radius) 2 is elipse (a and b are a half-axises) 3 is rectangle (a and b are a half-horizontal and vertical sizes) c and d parameters are x and y offsets of the center

CircleLinacApertureNode(radius[, pos, c, d, ...])

The curcular aperture shape = 1

EllipseLinacApertureNode(a, b[, pos, c, d, name])

The ellipse aperture shape = 2

RectangleLinacApertureNode(a, b[, pos, c, ...])

The rectangle aperture shape = 3

LinacPhaseApertureNode([frequency, name])

The phase aperture classes removes particles from bunch and places them in the lostbunch if their phases are not inside the min-max phases.

LinacEnergyApertureNode([name])

The phase aperture classes removes particles from bunch and places them in the lostbunch if their phases are not inside the min-max energy.

RF_Cavity([name])

This is the class to keep refernces to the RF Gaps which are BaseLinacNode subclasses.

Sequence([name])

This is the class to keep refernces to AccNodes that constitute the accelerator sequence.

BaseRF_Gap([name])

The simplest RF gap representation.

AxisFieldRF_Gap(baserf_gap)

The RF gap representation that uses the RF axis field.

RF_AxisFieldsStore()

The dictionary with the axis field Functions with the input file names as keys.

AxisField_and_Quad_RF_Gap(axis_field_rf_gap)

The class represents the part of the RF gap.

OverlappingQuadsNode([name])

The class represent the set of quads with the overlapping fields.

LinacTrMatrixGenNode(trMatricesController[, ...])

Linac Accelerator Nodes for Transport Matrices generation.

LinacTrMatricesController()

LinacTrMatricesController keeps the references to the LinacTrMatrixGenNode instances.

LinacBPM([frequency, name])

The linac BPM representation.

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.lattice.LinacAccLatticeLib.LinacAccLattice, orbit.py_linac.lattice.LinacAccNodes.BaseLinacNode, orbit.py_linac.lattice.LinacAccNodes.LinacNode, orbit.py_linac.lattice.LinacAccNodes.LinacMagnetNode, orbit.py_linac.lattice.LinacAccNodes.MarkerLinacNode, orbit.py_linac.lattice.LinacAccNodes.Drift, orbit.py_linac.lattice.LinacAccNodes.Quad, orbit.py_linac.lattice.LinacAccNodes.AbstractRF_Gap, orbit.py_linac.lattice.LinacAccNodes.DCorrectorH, orbit.py_linac.lattice.LinacAccNodes.DCorrectorV, orbit.py_linac.lattice.LinacAccNodes.ThickKick, orbit.py_linac.lattice.LinacAccNodes.Bend, orbit.py_linac.lattice.LinacAccNodes.Solenoid, orbit.py_linac.lattice.LinacApertureNodes.LinacApertureNode, orbit.py_linac.lattice.LinacApertureNodes.CircleLinacApertureNode, orbit.py_linac.lattice.LinacApertureNodes.EllipseLinacApertureNode, orbit.py_linac.lattice.LinacApertureNodes.RectangleLinacApertureNode, orbit.py_linac.lattice.LinacApertureNodes.LinacPhaseApertureNode, orbit.py_linac.lattice.LinacApertureNodes.LinacEnergyApertureNode, orbit.py_linac.lattice.LinacAccLatticeLib.RF_Cavity, orbit.py_linac.lattice.LinacAccLatticeLib.Sequence, orbit.py_linac.lattice.LinacRfGapNodes.BaseRF_Gap, orbit.py_linac.lattice.LinacRfGapNodes.AxisFieldRF_Gap, orbit.py_linac.lattice.LinacRfGapNodes.RF_AxisFieldsStore, orbit.py_linac.lattice.LinacFieldOverlappingNodes.AxisField_and_Quad_RF_Gap, orbit.py_linac.lattice.LinacFieldOverlappingNodes.OverlappingQuadsNode, orbit.py_linac.lattice.LinacTransportMatrixGenNodes.LinacTrMatrixGenNode, orbit.py_linac.lattice.LinacTransportMatrixGenNodes.LinacTrMatricesController, orbit.py_linac.lattice.LinacDiagnosticsNodes.LinacBPM

Functions#

Add_quad_apertures_to_lattice(accLattice[, ...])

Function will add Aperture nodes at the entrance and exit of quads.

Add_bend_apertures_to_lattice(accLattice[, ...])

Function will add Aperture nodes at the bend nodes of the lattice if they have aperture parameters.

Add_rfgap_apertures_to_lattice(accLattice[, ...])

Function will add Aperture nodes at the entrance and exit of RF gap.

GetLostDistributionArr(aprtNodes, bunch_lost)

Function returns the array with [aptrNode,sum_of_losses] The sum_of_losses is a number of particles or the sum of macro sizes if the particle attribute "macrosize" is defined.

AddScrapersAperturesToLattice(accLattice, ...)

Function will add the rectangular Aperture node (shape=3) at the node with a particular name.

Add_drift_apertures_to_lattice(accLattice, ...)

Function will add Aperture nodes at the drift nodes of the lattice between positions pos_start and pos_end with the minimal distance of 'step' between aperture nodes.

AddMEBTChopperPlatesAperturesToSNS_Lattice(...)

Function will add two Aperture nodes at the entrance and exit of MEBT chopper plates.

Replace_BaseRF_Gap_to_AxisField_Nodes(...[, ...])

Function will replace BaseRF_Gap nodes by AxisFieldRF_Gap.

Replace_BaseRF_Gap_and_Quads_to_Overlapping_Nodes(...)

Function will replace BaseRF_Gap nodes by AxisField_and_Quad_RF_Gap.

Replace_Quads_to_OverlappingQuads_Nodes(...)

Function will replace Quad nodes by OverlappingQuadsNode nodes.

Classes#

ErrorForNodesModification([name, type_in])

The base abstract class for set of separate nodes modification with two error nodes: one at the entrance and one at the exit of the lattice node.

CoordinateDisplacementNodesModification([name])

This class applies the coordinate displacement errors to the set of nodes.

BendFieldNodesModification([name])

This class will apply the errors to the fields of the bends using energy shift

LongitudinalDisplacementNodesModification([name])

This class shifts lattice nodes in longitudinal directions.

StraightRotationZ_NodesModification([name])

This class rotate lattice nodes around z-axis directions.

StraightRotationX_NodesModification([name])

This class rotate lattice nodes around x-axis directions.

StraightRotationY_NodesModification([name])

This class rotate lattice nodes around y-axis directions.

QuadFieldsErrorsDeployment([name, type_in])

Class will apply the errors to the fields of the quads

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.lattice_modifications.errors_modifications_lib.ErrorForNodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.CoordinateDisplacementNodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.BendFieldNodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.LongitudinalDisplacementNodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.StraightRotationZ_NodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.StraightRotationX_NodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.StraightRotationY_NodesModification, orbit.py_linac.lattice_modifications.errors_modifications_lib.QuadFieldsErrorsDeployment

Classes#

SNS_LinacLatticeFactory()

The SNS Linac Lattice Factory generates the Linac Accelerator Lattice from the XML file of the specific structure.

JPARC_LinacLatticeFactory()

The JPARC Linac Lattice Factory generates the Linac Accelerator Lattice from the XML file of the specific structure.

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.linac_parsers.sns_linac_lattice_factory.SNS_LinacLatticeFactory, orbit.py_linac.linac_parsers.jparc_linac_lattice_factory.JPARC_LinacLatticeFactory

Classes#

VacuumWindowNode(length, ma[, density_fac, ...])

The vacuum window node class for linac lattice

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.materials.VacuumWindowLinacNode.VacuumWindowNode

Classes#

TransverseBPM(trajCorrection, bpm_marker_node)

BPM node for transverse position report

TrajectoryCorrection(lattice[, start_node, ...])

Class to perform correction of the trajectory in the linac type lattice or in the part of it.

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.orbit_correction.transport_lines_orbit_correction.TransverseBPM, orbit.py_linac.orbit_correction.transport_lines_orbit_correction.TrajectoryCorrection

Functions#

SNS_EngeFunctionFactory(quad)

It generates the Enge's Function for SNS quads.

JPARC_EngeFunctionFactory(quad)

It generates the Enge's Function for J-PARC quads.

Classes#

EngeFunction(length_param, ...[, cutoff_level])

The Enge function with parameters from Berz's paper

AbstractQuadFieldSourceFunction()

It is an abstract class describing the quadrupole magnetic field as a function of the longitudinal coordinate.

SimpleQuadFieldFunc(quad)

It is an implementation of the QuadFieldSourceFunction class for a simple quad with constant field between (-L/2;+L/2).

PMQ_Trace3D_Function(length_param, rad_in, ...)

The PMQ Function is a represenatation of the field of permanent quad from Trace3D documantation (p 77): http://laacg.lanl.gov/laacg/services/traceman.pdf

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.overlapping_fields.overlapping_quad_fields_lib.EngeFunction, orbit.py_linac.overlapping_fields.overlapping_quad_fields_lib.AbstractQuadFieldSourceFunction, orbit.py_linac.overlapping_fields.overlapping_quad_fields_lib.SimpleQuadFieldFunc, orbit.py_linac.overlapping_fields.overlapping_quad_fields_lib.PMQ_Trace3D_Function

Classes#

RF_AxisFieldAnalysis(splineFiled[, zeroIsCenter])

This class analyzes the RF electric field on the axis of a whole cavity.

SuperFish_3D_RF_FieldReader()

This class reads the SuperFish file with the 3D axial symmetric RF field.

Class Inheritance Diagram#

Inheritance diagram of orbit.py_linac.rf_field_readers.RF_AxisFieldAnalysis.RF_AxisFieldAnalysis, orbit.py_linac.rf_field_readers.SuperFish_3D_RF_FieldReader.SuperFish_3D_RF_FieldReader