Introduction to Grain
Grain is a data sorting and analysis framework used at the moment with
data collected using the GREAT Total Data Readout (TDR) data acquisition
system. The TDR system differs greatly from conventional data acquisition
systems as it reads out all the information from the detector systems as
time stamped singles data. It does not use or require any event triggers
in hardware. All event parsing/building is done later in software. The GREAT
TDR system has it's own Event Builder (EB). Grain is a complementary system
which can be used in series or parallel to the native EB or completely
stand-alone in both online and offline environments.
Grain consists of:
- a simple analysis interface which allows one to view
the data beign processed and to perform some data analysis tasks
- a data sorting engine which implements a user configurarable TDR event parser
- an application programming interface which allows the physicists to write
their own data sort programs which can be dynamically loaded into the sort engine
Grain is written entirely in Java and should be directly runnable on most of the
popular computer hardware platforms. The sorting API is also pure Java and thus no
translation to other programming language is required before the code can be
compiled.
Grain is designed to be modular and extensible and can be used in any low
energy nuclear physics experiment by implementing the data input and parsing
modules.