Introduction to SSS Problem Domain Models
Session 3 – The Scan Model
David M. Harland

High Level View

  1. Reminder: SSS Model Documentation Main Page.
  2. Scan's place in the Project Model: Project Model Class Diagram.
  3. Scan Subclasses: High Level View.

Properties Common to All Scans

The abstract class Scan is the root class for all scan subclasses.

Scan and SimpleScan Details:

Scan Mode and Intent

A scan may have one or more intents. During observation preparation the scan intent is merely a label attached to a scan; it triggers no actions. Contrast this with the mode. Processes downstream from observation preparation will make use of intent. Look at examples of intents.

Every scan has one, and only one, mode. ScanMode determines the type of scan that is built, which in turn determines the data collected from the observer. Look at examples of modes. Note that each mode has a set of valid intents.

Scan Loops

A ScanLoop is an object that holds ScanLoopElement objects. A ScanLoopElement is either a Scan or a ScanLoop. This means that scan loops may be nested within other scan loops. Besides having an ordered list of scan loop elements, a scan loop has an iteration count.

Scans & Sources

A scan is (usually1) associated with a single source at a given point in time. The scan has a reference to a SourceCatalogEntry which, as we saw in Session Two, can be either a Source or a SourceLookupTable. Clients of scans that have already been configured may remain blissfully ignorant of which type of source catalog entry a given scan holds. This is because the methods of a scan that return sources will resolve the issue on behalf of the clients.

1 Some varieties of scan, such as a SwitchingScan and a PointingScan may have multiple sources. However, even these have only one source per "setting".

Scan Subclasses

  1. SimpleScan (covered above in Properties Common to All Scans section)
    • Created for modes: STANDARD_OBSERVING and any other mode not explicitly listed below.

  2. FocusScan
    • Created for modes: REFERENCE_FOCUSING.

  3. PointingScan
    • Can create a pointing scan based on a standard pattern.
      1. Factory Method
      2. XML & Schema files

  4. TippingScan

  5. DelayScan
    • Created for modes: AMPLITUDE_DELAY_CALIBRATING.

  6. SwitchingScan
    • Created for modes: FAST_SWITCHING.