Download Agata Data processing Team - AGATA Data Analysis Home Page

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Compiler wikipedia , lookup

Python (programming language) wikipedia , lookup

Go (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Cross compiler wikipedia , lookup

Transcript
Agata Data Processing Team
Software solutions and choices - Version 0.1
O.Stézowski IPN – Lyon
17.06.04
Available software solutions
In this part are listed some software which could be used or useful to build a
framework for AGATA. Concerning the development itself, several solutions (mostly
freeware) are presented like IDE’s (Integrated Development Environment),
documentation generation systems and CVS like systems to deal with sharing files
among several developers. It allows also the users to download the current
developed version as well as all previous versions.
Links to libraries and interpreters are given respectively in the libraries and the
interpreter sections. The last part is dedicated to the software developed in our field
(EURAGAM/EUROBALL, etc …) and other fields (CERN, etc …).
Development
Name : Qt - http://www.trolltech.com/
Platform : multiplatform
Language : C++
Qt is a multiplatform, C++ application framework that lets developers write one application that
will run -- natively -- on Windows, Linux/Unix, Mac OS X, and embedded Linux with a simple
recompile.
Name: Kdevelop - http://www.kdevelop.com/
Platform: LINUX
Language: C++
The KDevelop-Project was raised in 1998 to build up an easy to use C/C++ IDE (Integrated
Development Environment) for Unix. Since then, the KDevelop IDE is publicly available under
the GPL and supports many programming languages.
Name: CVS - http://www.cvshome.org/
Platform: LINUX
CVS is the Concurrent Versions System, the dominant open-source network-transparent
version control system. CVS is useful for everyone from individual developers to large,
distributed teams:



Its client-server access method lets developers access the latest code from anywhere
there's an Internet connection.
Its unreserved check-out model to version control avoids artificial conflicts common
with the exclusive check-out model.
Its client tools are available on most platforms.
Name: Doxygen - http://www.stack.nl/~dimitri/doxygen/
Platform: multiplatform
Language: many
Doxygen is a documentation system for C++, C, Java, IDL (Corba and Microsoft flavors) and
to some extent PHP and C#.
It can help you in three ways:
1.
2.
3.
It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in
) from a set of documented source files. There is also support for generating output in RTF (MS-Word),
PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted
directly from the sources, which makes it much easier to keep the documentation consistent with the source
code.
You can configure doxygen to extract the code structure from undocumented source files. This is very
useful to quickly find your way in large source distributions. You can also visualize the relations between the
various elements by means of include dependency graphs, inheritance diagrams, and collaboration
diagrams, which are all generated automatically.
You can even `abuse' doxygen for creating normal documentation (as I did for this manual).
Doxygen is developed under Linux, but is set-up to be highly portable. As a result, it runs on
most other Unix flavors as well. Furthermore, executables for Windows 9x/NT and Mac OS X
are available.
Name: Glade - http://glade.gnome.org/
Platform: LINUX
Language: GTK+
Name: Sun ONE Studio - http://www.sun.com/software/sundev/
Platform: UNIX SUN
Language: FORTRAN - C++ - JAVA
Libraries
Name: C++Boost - http://www.boost.org/
Platform: UNIX /LINUX
Language: C++
Name: commonC++ - http://www.gnu.org/software/commoncpp/
Platform: UNIX /LINUX
Language: C++
GNU Common C++ is a C++ framework offering portable support for threading, sockets, file access, daemons,
persistence, serial I/O, XML parsing, and system services, initially started by David Sugar and Daniel Silverstone.
GNU Common C++ is a GNU package and is licensed to the terms of the GNU GPL with specific privileges similar to
Guile, which constitute privileges similar to the LGPL but more appropriate for a C++ class framework.
Interpreter
Name: Python - http://www.python.org/
Platform: multiplatform
Language: Object-oriented
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme
or Java.
Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level
dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various
windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also
usable as an extension language for applications that need a programmable interface.
The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many
other platforms. If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask
around on news:comp.lang.python -- or just try compiling Python yourself.
The Python implementation is copyrighted but freely usable and distributable, even for commercial use.
Name: Ch - http://www.softintegration.com/
Platform: multiplatform
Language: C/C++
Software dedicated to analysis
Name: MIDAS - http://npg.dl.ac.uk/MIDAS/
Platform: UNIX /LINUX/WINDOWS
Language: Tcl/Tk
Very rich Graphical User Interface written in Tcl/Tk. Use for the
EUROGAM/EUROBALL (and some others) acquisition system, it could be
used also for analysis. It includes its own language (MTSort) that could be
used to write analysis programs. This language is a compiled language.
Name: Radware - http://radware.phy.ornl.gov/
Platform: UNIX /LINUX
Language: C
The most popular framework for analysis in Nuclear Structure. It should be the most important source of inspiration for
the AGATA framework.
Name: ROOT - http://root.cern.ch/
Platform: multiplatform
Language: C++
See also http://agata.pd.infn.it/week9152003.html.
Name: Anaphe (LHC++) - http://anaphe.web.cern.ch/anaphe/
Platform: multiplatform
Language: C++
Anaphe, formerly called LHC++, has been developed by the API group in IT division to provide data analysis and
visualisation tools. It consists of a set of modular C++ libraries and an interactive framework called Lizard.
DIVERS
Name: DATAGRID - http://eu-datagrid.web.cern.ch/eu-datagrid/
Name: LCG - http://lcg.web.cern.ch/LCG/
DataGrid is a project funded by European Union. The objective is to build the next generation computing infrastructure
providing intensive computation and analysis of shared large-scale databases, from hundreds of TeraBytes to
PetaBytes, across widely distributed scientific communities.
Name: PostgreSQL - http://www.postgresql.org/
Name: MySQL - http://www.mysql.org/