Title: D' Menasce, S' Magni
1Preliminary studies for a GUI ofthe beam test
DAQ
2What is QT?
Qt is a cross-platform C GUI application
framework. It provides application developers
with all the functionality needed to build
state-of-the-art graphical user interfaces. Qt
is fully object-oriented, easily extensible, and
allows true component programming.
http//www.trolltech.com
3Why are we planning to use it?
- We need an efficient and user friendly interface
to the DAQ. - Several alternative solutions exist
- a Perl/Tk layer to our underlying read-out code.
- An inefficient solution, since requires
bundling a scripting - language with a compiled language
- Tcl/Tk is a more efficient approach this tool,
however, - only constitutes a toolbox to develop a GUI but
does not - offer a complete framework to work with
- Qt, on the other hand, is a complete framework,
where - development of code is highly simplified since
a lot of - high level components are already there to use.
4Where do we start?
Our approach has been the following Identify a
component of the DAQ that needs a fairly
sophisticated GUI and develop a prototype
interface around it, using everything Qt offers
to solve the problems posed to the
developer. With this approach we identify
technologically efficient solutions and in the
process we definitely learn a lot ! One of these
problems is the handling of input and control
ASCII files XML offers good tools to solve this
class of problems, so we developed a prototype
front-end to the pixel initialization file.
5What is XML? (1)
XML is a markup language for documents containing
any kind of structured information. Structured
information contains both content and
some indication of what role that content plays
for example, address in an ADC has a different
meaning from address in a crate or in a matrix
its meaning is contextual and XML conveys both
the content and the context in a word, provides
structure. Almost all
documents have some structure. A markup language
is a mechanism to identify structures in a
document and the XML specification defines a
standard way to add markup to documents in order
to provide structure.
6What is XML? (2)
- In HTML, both the tag semantics and the tag set
are fixed - ltBR SIZE2gt always means line break of size 2.
- XML specifies neither semantics nor a tag set.
In fact XML - is really a meta-language for describing markup
languages. - In other words, XML provides a facility to
define tags and - the structural relationships between them.
- Since there's no predefined tag set, there can't
be any - preconceived semantics, this is up to the
designer to enforce. - All of the semantics of an XML document will be
defined - by the applications that process them.
7An example
A possible XML implementation of this structured
file
Plain ASCII file, no browsable structure
8An example
Once an XML file content has been specified, it
may be desirable to provide a GUI to help users
manage it, without previous knowledge of the
required semantics. Even more, an XML parser
(provided in our case by the Qt framework)
greatly helps to check the internal
consistency of an input file, providing tools for
error detection and correction. We therefore did
the exercise of testing this technology to see
if its worthwhile to use and what benefit we
could derive.
9Preliminary test
The following pictures show the front panel of a
program that, making full use of the
facilities provided by Qt (XML parser, graphical
utilities etc) gives the user a graphical
representation of the pixel initialization file.
10Preliminary test
Complete support for high level widgets to
provide user friendly interfaces
11Preliminary test
12Preliminary test
13Preliminary test
14Preliminary test
15Preliminary test
16Preliminary test
17Preliminary test
18Preliminary test
19Preliminary test
20Preliminary test
21Preliminary test
22Preliminary test
23Preliminary test
24Preliminary test
25Preliminary test
26Preliminary test
27Preliminary test
28Preliminary test
29Preliminary test
30Conclusions
- We built, as an exercise, a GUI to manage the
pixel initialization file.
- We used Qt as the underlying framework. The
resulting code is compact, - and it was easy to implement (Qt comes with a
really fantastic on-line - documentation which makes it an ideal tool to
approach C programming)
- This exercise strongly convinced us that the XML
approach is extremely - fruitful managing input files becomes really
easy
- I personally conceive this beam test, besides
the real and obvious motivation - for testing new equipment, as an excellent
opportunity to approach modern - software technologies, to get first hand
insight to the possible (if any) - benefits it could provide for large scale
projects. It also represents a good - opportunity for a gentle approach to C
(should we ever use it, better be - well informed upon weaknesses and strengths and
have some training)
31To do
- This was just a prototype to test how suitable
Qt is to our needs.
- We are in the process of designing a more
general set of GUI panels to - drive the beam test DAQ. This will require a
few trial iterations to be fully - accomplished.
- Full integration with the underlying read-out
software is of course crucial - we have not yet a comprehensive plan on how to
proceed, but a few ideas - are already emerging.
- Work, more work, some more hard work, and,
finally, work