Hi rooters, We have decided to use root for a (general) on-line monitoring/sorting/daq system at TSL (Uppsala, Sweden) and particularly for the CHICSi project. Well, it's all about multithread support in root. As soon as one starts thinking about an on-line monitor program, one concludes that at least two threads which share common resources (event/histogram file/buffer, etc) are needed. I.e. one thread which listens on say UDP port and writes incoming events into a buffer (this one should have the highest priority to catch all events), and the second thread which processes the event buffer and makes histogramming/visualization, etc. As we know from previous discussion in roottalk this can be organized in two ways: 1. "real" Multithread (Java-like) 2. "quasi" Multithread, i.e. via simulating threads with use of TTimer. Well, thirst at all, I could not find any info on multithread support in root, although Rene claims that TThread is implemented and there is an example that fills two histograms using threads. So the question #1 is: where one can find such info for beginners. Question #2 : although Valery remarked that rather any on-line problem can be solved with TTimer object, I do not think it is a good idea since we live in the "real" thread world where Java gives an example of making things easy. So the question #2 is: what strategy should one choose for writing on-line applications. The question #3 is not really a question but rather a call for discussion. Rene asked people who implement root for on-line processing to send info on how it is done and to make the info publicly available. I think it is time to rise this point up aging and make a kind of forum for on-line rooters. Regards, Dr. Anton Fokin Division of Cosmic and Subatomic Physics Lund University Sweden
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:30 MET