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