Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

x.2: Object Organisation and Classification by Mind Map: x.2: Object
Organisation and
Classification
5.0 stars - 1 reviews range from 0 to 5

x.2: Object Organisation and Classification

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

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

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

Hardware interfaces

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

Controllers, AndorIKonTempController

Tools

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

frontend

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.

Experiment Runner

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

Camera

User interfaces concerning the cameras used by the BEC experiment.

Setting Viewer, Andor Setting Viewer, IC Settings Viewer

Temperature Controller

Snapper

Files

Database

DeviceSettingsBEC1.xml

output_configurations.xml

Settings

CameraSettings.xml

ICCameraSettings.xml

Data

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