Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overall User Interface

Use Case: A user (physicst physicist or operator) types the name of the main application, say "lips" ("LCLS integrated physics environment" so we can use a word in this doc) at a Linux console. A GUI based application launches. This application can launch any EPICS display (DM, dm2k etc), any XAL application, the SCP (on MCC), or any EPICS extension application like archive browser, alarm handler watchdog, stripchart, cmlog browser etc. These are launched on the correct host for that application or display. The "local" messages generated by each application appear in a console window dedicated to that application - "global" messages appear in the jcmlog browser window. (This functionality has already been developed - see figure 1.)

...

In addition to the overall lattice modeling framework and interface to device control, XAL provides one GUI framework (based on JFC/Swing). All the existing XAL applications using thise this framework will be provided through "lips" such, such as Scan ("Correlation Plots"), SCORE ("configs"), XIO ("z-plots"), or just the XAL root application.

...

It seems reasonable to assume we'll need to deal with at least the injector, main linac and wiggler separately. So, we'll need some way to manage beamline sets, possibly in a similar way to SLC, where a given named "beamline" is composed of conjoined sections, and each can be tracked or used independently or conjoinedlyconjointly.

Using SLC modelling to

...

expedite LCLS apps development.

XAL is intended to provide much of the code-base of new applications of the LCLS. Until the XAL modeling environment is ready for use we're going to use the SLC modeling environment to model the optics of the LCLS injection. However, this need not stop us developing and deploying XAL based modeling applications (such as emittance measurement); since XAL uses an input XML file for both lattice description and to store the Twiss parameters following tracking, and it is this combined output file which is used as input by XAL applications, we can take an input XAL beamline description file, and insert the correct Twiss parameters from a corresponding model run on SLC via AIDA. See Figure 3. The resulting output file can be used by XAL applications before the XAL model system is ready.

...

  1. Java Channel Access (JCA). JCA is the EPICS Channel Access client used by XAL.
  2. Channel Access in Java (CAJ). CAJ is a Java native EPICS channel access client, which should be easier to use and higher performance, for applications that are not using XAL.
  3. Accelerator Independent Data Access (AIDA) gives access to SLC db, model (Twiss and R-mats), and History and EPICS archiver data, plus will soon give access to collectively controlled SLC devices (BPMs and magnets - so can acquire whole beamine beamline at a time etc).

The choice of which of these is appropriate will vary for each application.

...

Package

Implementation

Transverse Emittance Reconstruction

To be developed in XAL, plus Oracle for configs. Needs functional and systematic requirements

Beta matching

To be implemented in XAL. Needs functional and systematic requirements

Bunnch Bunch Length Measurement

To be implemented in XAL. Needs functional and systematic requirements

...

Package

Implementation

Calculate energy profile

Presently in SCP. Possibly an XAL application with similar functionalty functionality "Energy Manager".

Calculate required magnet strengths given energy

Presently in SCP. Guessing not available in XAL (question). Develop in XAL.

...

SCP runtime problems on Linux fixed. At time of writing this includs includes a problem with dialog inputs, data has to be entered twice.

...

  1. Anchor
    verifyAFSclient
    verifyAFSclient
    Verify AFS client for Windows is not workable.
  2. Anchor
    bestWindowsX11
    bestWindowsX11
    Find best performing Windows X11 server for JFC/Swing clients.
  3. Anchor
    q_dbgeoonly
    q_dbgeoonly
    How complex is the conversion of Oracle DB to XAL lattice? Does the db contain enough to emit a lattice? Mark Woodley warns that there are probbaly probably many things necessary in the XAL lattice which need not be in the DB (marker points), and many things in the DB which should not be in the lattice. This latter class includes things like dummy BPMs, so not simply the case that everything of a given class should be in the lattice. People change the z of things in the DB. May be a good idea to have a "Skeleton" XAL file (maybe processed by xsl/php).
  4. Anchor
    kmodtobdes
    kmodtobdes
    Which XAL applications allow one to update the EPICs magnet k-values after a successful model run?
  5. Does XAL really not model acceleration? If not how is it useful for SNS?
  6. Verify that XAL does not model a plane coupled system.
  7. Does XAL offer matrix manipulation, linear algebra and fitting adequate for the LCLS? Ans: yes, uses JAMA.
  8. How long does XAL take to parse an XAL beamline? It has to build a DOM tree, which can't be negligible. Since that is a requirement of every XAL application at initialization its an important performance bottleneck.
  9. Anchor
    q_numbeamlines
    q_numbeamlines
    How many beamline descriptions should there be?
  10. What is the canonical list of XAL physics apps?
  11. Does LCLS need SVD based orbit minimization? Is there an orbit minimization in XAL?

...

Cmlog. cmlog is a message logger that can be used for error messages. It includes components for receiving messages to log from programs running on the network (either in hosts or IOCs), logging those errors in a database, and a viewer for browsing the logged messgesmessages.

jcmlog. jcmlog is a sophisticated error log viewer for CMLOG developed at SLAC recently for LCLS. It is in general much faster and smother than the nominal CMLOG viewer from Jlab and includes facilities for handling the particular requirements of Err (above) such as horizontal scroll for long messages.

...