The BEC program, x version 2. This documents the organisation and classification of objects and computer files used within x.2. A description of the objects and basic information of their role is given, though this document does not describe the full architecture of x.2. Once complete, links to further documentation will be provided, specifying the programs architecture, and a full list and description of object methods currently used.
Backend objects are hidden from the user. They do all the work behind the scenes required by the user or other parts of the program. The backend objects have been organised into three groups. 1) Controllers, which receive events from the frontend and control what action should be taken. 2) Hardware interfaces, which communicate with the various types of hardware connected to the computer, for example a PXI card or a camera. These hardware objects are called directly by the controllers. And finally, 3) Tools, which are all the other bits of the program, the glue that holds it together.
Controllers receive events from the frontend and control what action should be taken. They directly control the hardware interfaces, and control the flow of information to and from the user interfaces.
HWController, BECHWCBasic, CameraManager, CameraController, AndorIkonController, ICCameraController, CameraTempController, SettingsManager, CameraSettingsManager
These classes represent devices connected to the computer. They provide an interface through which the x program, or any program, can communicate with that external hardware. Currently, there are three types or hardware provided for. 1) Analog Output devices 2) Digital Output devices 3) Camera devices. For these three types of device an abstraction layer is provided which enables hardware with different drivers to be integrated under a common interface. These interfaces and their implementation classes, called in the Channels section. (Apart from the AndorIkonTempController which is under the heading Controllers, since it is an implementation of the abstract controller class CameraTempController.)
Channels, Outputs, Analog Output, niDAQmxAo, SoundAo, Digital Output, niDAQmxDo, Dio64Output, Inputs, Camera Acquisitor, AndorIkonAcquisitor, ICCameraAcquisitor
Events, SettingsEventManager, CameraSettingsEventsManager, CommandEvents, CameraEventManager, TempControllerEvents, TempFrontEndEvents, TempBackEndEvents, SnapperEvents, HWControllerEvents, ScriptEditorEvents
xml, xmlNode, XmlParser
Processors, Interpreters, CommandProcessor, Settings Processors, Compilers, ScriptListCompiler
Data Mapping, DeviceData, AoDeviceData, SoundDeviceData, DoDeviceData
File Systems, FileNeologist, FileSystem
Scripting, DataPointScript, ScriptEventList, ScriptEvent, PulseEvent, SingleTone, RampEvent
Database, DeviceDataBase, DeviceArray, device, AnalogDevice, DigitalDevice, ChannelArray, Channel, DigitalChannel, HWConfiguration, OutputConfiguration, DatabaseGF
User interfaces. Users interfaces are for displaying and manipulating the relevant parameters of a device, or group of devices. They do not interact directly with the backend. They communicate with a backend controller via various kinds of LabView Events.
Operates the experiment by running scripts, and changing the current output state of the hardware connected to the computer. It sends and receives labview events (HWControllerEvents) to the backend controller, which performs the actually work of compiling scripts, and manipulating the hardware interfaces. Thus this object, the Experiment Runner, has no idea who it is sending messages to, or who is replying to those messages. Therefore, complete isolation between the backend hardware, and the frontend user interface is achieved. Hence any changes to the backend do not affect the frontend, and visa versa.
Script Editor, Action Editor, Action Panel, Change Value Action, Ramp Action, Single Tone Action
Static Output Editor
User interfaces concerning the cameras used by the BEC experiment.
Setting Viewer, Andor Setting Viewer, IC Settings Viewer
Scripting, DataPoint Script xml, Instrument Scripts xml, Dio64, Ao32, Ao8, Daq, S1010
Images, Absorption Images, Object 16bit TIF, Reference 16bit TIF, Background 16bit TIF, Labview Processed Image 8bit TIF, Fluorescence 16bit TIF