e0e3d4b1eebc55f5b5e3a6cd47c84740.ppt
- Количество слайдов: 19
G 4/analysis G. Barrand, LAL-Orsay
What is “analysis” ? • Histogram, Tuple, Fitter, Function, Plotter. G. Barrand, LAL-Orsay
What is “analysis” ? Storage Languages Net Data Analysis Vis Histo, Fitter, … GUI • Analysis = conjunction of everything !!!! G. Barrand, LAL-Orsay
Huge turnover of facilities C++, java Objectivity, ? Net Analysis Data Open. GL, Inventor, j 3 D Histo, Fitter, … Gtk, Qt, awt, SWING How to face ? G. Barrand, LAL-Orsay
The TUniverse ? TC++ TIO TNet TData TAnalysis TVis TGeant THisto, TFitter, … TGUI TUniverse -> leave the real world ! (Zf 77 -Universe whilst the world migrates toward OO, …) G. Barrand, LAL-Orsay
What else ? • Have architectures able to evolve and that permits to share the work. • Abstract interfaces are one part of the solution (others are standards : XML, IDL, Open. GL, etc…) G. Barrand, LAL-Orsay
Abstract interfaces IHistogram { int dimensions() = 0; int entries() = 0; …. } Plotter(IHistogram) A plotter in a dll does not depend of a concrete implementation of histogram -> modularity ! Sharing the work assumes an agreement over IHistogram. G. Barrand, LAL-Orsay
AIDA • Abstract interfaces exist in : JAS, Lizard, Open. Scientist, Gaudi, … • AIDA : the set of agreed one ! (? ) • AIDA : IHistogram 1 D, 2 D, Factory. • Take care of what you buy ! Agreed interfaces or interfaces of a specific analysis environment ? • No agreement -> can’t share the work. G. Barrand, LAL-Orsay
AIDA difficulties • Difficulties : – Agreement take times : because analysis things had never been really formalised ! – Burden of historical design mistakes of well established first generation of analysis tools. – The TUniverse do not want (obviously) to discuss ! G. Barrand, LAL-Orsay
Exa, IHistogram • IHistogram 1 D : IHistogram { void fill(double, double) = 0; … } • Must it define only the “user interface” to histograms ? • Must it be the interface designed by architects to reach interoperabilities of implementations ? • Must it be the interface of the histogram embedded in a framework (then having store, vis, … methods) ? G. Barrand, LAL-Orsay
Geant 4 and analysis • Did not take party for such analysis environment. • Does Geant 4 collaboration have to take party for such set of abstract interfaces ? • If answer is yes, it should be for a set of collaborative agreed ones ! G. Barrand, LAL-Orsay
Agreed interfaces permit to do something JAS Open. Scientist G 4 Kernel AAIDA G 4 Analysis. Manager Lizard ? • G 4 Analysis. Manager = gateway toward analysis systems. • (G 4 Vis. Manager hub for graphics systems) • First draft design get out from Naruto workshop. G. Barrand, LAL-Orsay
My. Analysis. Manager v 0 • My. Analysis. Manager : G 4 Analysis. Manager { IHistogram 1 D* f. Entering. Energy; My. Analysis. Manager(const G 4 String& a. System) { Register. Analysis. System(new G 4 Jas. System); Register. Analysis. System(new G 4 Open. Scientist. System); … IHistogram. Factory* h. Fac = Get. Histogram. Factory(a. System); f. Entering. Energy = h. Fac->create. Histogram 1 D(“Entering energy”, 100, 0, 0. 002); } void My. Analysis. Manager: : Step(G 4 Step *a. Step) { double energy = …; f. Entering. Energy->fill(energy); } void End. Of. Run(G 4 Run* a. Run) { Store(); } G. Barrand, LAL-Orsay
Usage • void main() { G 4 Analysis. Manager* am = new My. Analysis. Manager (“JAS”); run. Manager->Set. User. Action(new My. Stepping(am)); run. Manager->Set. User. Action(new My. Run(am)); … } • My. Stepping { G 4 Analysis. Manager* f. AM; My. Stepping(G 4 Analysis. Manager* a. AM) : f. AM(a. AM){} void User. Stepping. Action(G 4 Step* a. Step) { f. AM->Step(a. Step); } } • Analysis concentrated in ONE CLASS. G. Barrand, LAL-Orsay
Source/analysis • Source/analysis/management : G 4 Analysis. Manager • < source/analysis/<systems> > ? • No dependencies of the kernel toward analysis ! • G 4 Analysis. Manager IS NOT AN ANALYSIS SYSTEM. G. Barrand, LAL-Orsay
v 1 ? After (non? )discussion • Suppress Registration of systems ? Use dynamic loading of implementations by hooking “factories” ? • G 4 Analysis. Manager : : IAnalysis. Manager • IAnalysis. Manager methods ? G. Barrand, LAL-Orsay
Xray. Tel • What are you buying at this workshop ? Agreed interfaces or interfaces of a specific analysis environment ? G. Barrand, LAL-Orsay
Xray. Tel & G 4 Analysis. Manager v 0 • Xray. Tel already shakes G 4 AM v 0… – The Stepping action analysis does not rely on the G 4 Step received in argument. – The analysis uses tuples… ITuple (and then IStorage) not yet in the set of agreed interfaces ! G. Barrand, LAL-Orsay
Then • Does Geant 4 collaboration have to take party for a set of abstract interfaces ? • If answer is yes, it should be for a set of collaborative agreed ones ! G. Barrand, LAL-Orsay
e0e3d4b1eebc55f5b5e3a6cd47c84740.ppt