[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Systems for writing a science app front-end



Hi Niel,

On Sun, 2005-08-28 at 02:22 +0100, Neil Pilgrim wrote: 
> Hi all,
> 
> Interested to hear what people think wrt platforms/systems in which to 
> write a front-end for a console scientific app (typically long-running).

If what you want to do is 

      * Record data from hardware to disk or database 
      * Have a control GUI 
      * Have monitoring capabilities (online histograms, and the like) 
      * Rigorous event formats 
      * Work in a distributed environment 
      * X-platform portability 
      * Interactive interface 
      * Do simulations 
      * and don't mind coding in C++

Then I think ROOT is what you want.  

	http://root.cern.ch/

The only thing missing from the list above in ROOT, is that it doesn't
have any support for specific hardware, which you'd anyway have to pick
up from a hardware vendor or repository.  In that case, all you need is
simple wrappers.

ROOT has the additional benefit, that the scripting language is the same
language as the development language: C++.  That means, that users need
only learn one language.   There exists python bindings as well. 

You can pick up ROOT from the apt-get repository I previously posted on
this list: 

	http://mirror.phy.bnl.gov/debian-root 

(please refer to that page for more information). 

For simulation, you need to pick up something like GEANT 3.21 or the
like.  Note, that ROOT does not work with the libgeant321 library
presently in Debian. 

If you'd like some inspiration on how to write a framework in ROOT, I
suggest you take a look at the ROOT `Example' pages, 

	http://root.cern.ch/root/ExApplications.html

or my small examples at 

	http://cern.ch/cholm/root/#framework
	http://cern.ch/cholm/root/#simulation
	http://cern.ch/cholm/root/#offline


If GEANT or similar isn't relevant to your field, you can try to make a
new concrete Virtual Monte Carlo.   Of course, that might not be
applicable to your field either, in which case you can probably rather
easily set up some sort of interface to your standard simulation
library.

Please refer to the many threads on ROOT on this list for more on the
status of ROOT in Debian.

If you need inter-communication between processes, processors, and
embedded software, you may want to consider something like DIM 

	http://cern.ch/dim 


Yours,

-- 
 ___  |  Christian Holm Christensen 
  |_| |  -------------------------------------------------------------
    | |  Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|           DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|            Denmark                    Office: (+45) 353  25 404
 ____|   Email:   cholm@nbi.dk               Web:    www.nbi.dk/~cholm
 | |



Reply to: