General structure

  • An ACCELERATOR consists of several ACCELERATOR_COMBO_SEQUENCEs and/or ACCELERATOR_SEQUENCEs
  • An ACCELERATOR_COMBO_SEQUENCE consists of several ACCELERATOR_SEQUENCEs
  • An ACCELERATOR_SEQUENCE consists of several ACCELERATOR_NODEs
  • An ACCELERATOR, an ACCELERATOR_COMBO_SEQUENCE, and an ACCELERATOR_SEQUENCE are considered ACCELERATOR_NODEs, too [ (composite pattern)|http://sern.ucalgary.ca/courses/SENG/609.04/F00/notes/composite.html ]

Specific Device Types (Inheritance hierarchy)

  • A BEAM_CURRENT_MONITOR, a BEAM_LOSS_MONITOR, a BEAM_POSITION_MONITOR, a MAGNET, a PROFILE_MONITOR, an RF_GAP, and VACUUM are ACCELERATOR_NODEs.
  • An RF_CAVITY is an ACCELERATOR_SEQUENCE.
  • A NEUTRON_DETECTOR is a BEAM_LOSS_MONITOR.
  • An ELECTRO_MAGNET and a PERMANENT_MAGNET are MAGNETs.
  • An ELECTRO_MAGNET is connected to a MAIN_MAGNET_POWERSUPPLY and possibly a TRIM_MAGNET_POWERSUPPLY.
  • A MAIN_MAGNET_POWERSUPPLY and a TRIM_MAGNET_POWERSUPPLY are MAGNET_POWERSUPPLYs.
  • A CCL, a DTL_TANK, a REBUNCHER, a SCL_CAVITY are RF_CAVITYs.
  • A CVG_GAUGE and an ION_GAUGE are VACUUMs.
  • A DIPOLE, a QUADRUPOLE, and a SEXTUPOLE are ELECTRO_MAGNETs.
  • A BEND, a HORIZONTAL_DIPOLE_CORRECTOR, and a VERTICAL_DIPOLE_CORRECTOR are DIPOLEs.
  • A TRIMMED_QUADRUPOLE is a QUADRUPOLE.

Static attributes

  • contain design values of a device
  • values change extremely rarely
  • default type: double
  • values of these attributes are loaded into XAL via a DataManager API from a local Accelerator file (that may be generated from an RDB')
  • device types may inherit attributes from their parent type (see above)
  • ACCELERATOR_NODE
    • POSITION_FROM_START_OF_PARENT
    • PHYSICAL_LENGTH
    • PARENT_SEQ
    • may contain instances of ALIGNMENT_PARAMETERS, APERTURE_PARAMETERS, and/or TWISS_PARAMETERS
  • ACCELERATOR_SEQUENCES
    • PREDECESSOR_SEQ
    • ALTERNATE_SEQ
  • ALIGNMENT_PARAMETERS
    • X
    • Y
    • Z
    • PITCH
    • YAW
    • ROLL
  • APERTURE_PARAMETERS
    • SHAPE
      Unknown macro: {unknown, rectangle, diamond, ellipse, irregular}
    • X
    • Y
  • BEAM_POSITION_MONITOR
    • FREQUENCY
    • STRIPLINE_LENGTH
    • ORIENTATION
      Unknown macro: {"upstream", "downstream"}
      }
  • MAGNET
    • EFFECTIVE_LENGTH
    • POLARITY {-1, 1}
    • DEFAULT_MAGNET_FIELD
    • BEND_ANGLE
    • PATH_LENGTH
    • DIPOLE_ROTATION_ANGLE_FOR_EXIT_POLE_FACE
    • DIPOLE_ROTATION_ANGLE_FOR_ENTRANCE_POLE_FACE
    • QUAD_COMPONENT_FOR_DIPOLE
    • NORMAL_FIELD_COMPONENTS double[3]
    • SKEW_FIELD_COMPONENTS double[3]

TTF transit time factor
STF S transit time factor

  • RF_CAVITY
    • AMPLITUDE
    • PHASE
    • FREQUENCY
    • TTF_COEFFS double[3]
    • TTF_PRIME_COEFFS double[3]
    • STF_COEFFS double[3]
    • STF_PRIME_COEFFS double[3]
    • TTF_END_COEFFS double[3]
    • TTF_PRIME_END_COEFFS double[3]
    • STF_END_COEFFS double[3]
    • STF_PRIME_END_COEFFS double[3]
    • STRUCTURE_MODE
      Unknown macro: {0, Pi}
    • STRUCTURE_TTF
    • QUALITY_FACTOR
    • AMPLITUDE_FACTOR
    • PHASE_OFFSET
  • RF_GAP
    • PHASE_FACTOR
    • AMPLITUDE_FACTOR
    • TTF
    • END_CELL
      Unknown macro: {TRUE, FALSE}
    • GAP_OFFSET
    • AMPLITUDE double
    • PHASE double
    • FREQUENCY double
    • TEST_AMPLITUDE_FACTOR
    • TEST_PHASE_FACTOR
    • GAP_LENGTH
  • TWISS_PARAMETERS
    • X
    • Y
    • ALPHA_X
    • BETA_X
    • EMIT_X
    • ALPHA_Y
    • BETA_Y
    • EMIT_Y
    • ALPHA_Z
    • BETA_Z
    • EMIT_Z
    • ETA_X
    • ETA_PX
    • ETA_Y
    • ETA_PY
    • MUX
    • MUY

Dynamic attributes

  • contain real-time values of a device
  • change frequently
  • for each attribute, a PV name is loaded into XAL from an Accelerator file/RDB; the values of the attribute are then accessed via a channel
  • device types may inherit attributes from their parent types
  • BEAM_CURRENT_MONITOR
    • Q_INTEGRAL
    • T_AVG_LEN
    • I_TBT (turn-by-turn)
    • T_DELAY
    • I_AVG
    • I_MAX
  • BEAM_LOSS_MONITOR
    • LOSS_AVG
    • T_AVG_LEN
  • BEAM_POSITION_MONITOR
    • X_AVG
    • Y_AVG
    • AMPLITUDE_AVG
    • PHASE_AVG
    • X_TBT
    • Y_TBT
    • AMP_TBT
    • PHASE_TBT
    • T_AVG_LEN
  • ELECTROMAGNET
    • FIELD_RB (field readback)
  • MAIN_MAGNET_POWERSUPPLY
    • CYCLE_ENABLE
    • FIELD_SET
    • FIELD_RB
    • FIELD_BOOK
  • MAGNET_POWERSUPPLY
    • CYCLE_STATE
    • CURRENT_RB
    • CURRENT_SET
  • TRIM_MAGNET_POWERSUPPLY
    • FIELD_SET
    • FIELD_RB
    • TRIM_CURRENT_SET
    • TRIM_CURRENT_RB
  • PROFILE_MONITOR
    • POS
    • RT_GRAPH
    • ABORT_SCAN
    • BEGIN_SCAN
    • CHANGE_PARAMS
    • ACCEPT_PARAMS
    • STAT_ARRAD (sic)
    • VDATA_ARRAD
    • DDATA_ARRAD
    • HDATA_ARRAD
    • POS_ARRAD
    • STEPS
    • STEP1_POS
    • POS_SPACING
    • NO_MEAS
    • SCAN_LEN
    • BIAS
    • V_AREA_F
    • V_AMP_F
    • V_MEAN_F
    • V_SIGMA_F
    • V_OFFST_F
    • V_SLOPE_F
    • V_AREA_M
    • V_AMP_M
    • V_MEAN_M
    • V_SIGMA_M
    • V_OFFST_M
    • V_SLOPE_M
    • D_AREA_F
    • D_AMP_F
    • D_MEAN_F
    • D_SIGMA_F
    • D_OFFST_F
    • D_SLOPE_F
    • D_AREA_M
    • D_AMP_M
    • D_MEAN_M
    • D_SIGMA_M
    • D_OFFST_M
    • D_SLOPE_M
    • H_AREA_F
    • H_AMP_F
    • H_MEAN_F
    • H_SIGMA_F
    • H_OFFST_F
    • H_SLOPE_F
    • H_AREA_M
    • H_AMP_M
    • H_MEAN_M
    • H_SIGMA_M
    • H_OFFST_M
    • H_SLOPE_M
    • V_FIT
    • D_FIT
    • H_FIT
    • V_POS
    • D_POS
    • H_POS
    • V_RAW
    • D_RAW
    • H_RAW
    • V_REAL_DATA
    • D_REAL_DATA
    • H_REAL_DATA
  • RF_CAVITY
    • CAV_AMP_SET
    • CAV_PHASE_SET
    • CAV_AMP_AVG
    • CAV_PHASE_AVG
    • DELTA_TRF_START
    • DELTA_TRF_END
    • T_DELAY
  • VACUUM
    • PRESS
  • No labels