180 likes | 191 Views
Learn elementary particle physics using Geant4 through a hybrid e-learning system consisting of wiki-like online textbooks and a virtual laboratory. Explore physics performance and access educational materials.
E N D
Geant4 on Web for Education, … - recent updates - Koichi Murakami (KEK/CRC) Geant4 FFJPL Meeting (02/Sep/2008)
Geant4 for Education • An educational Courseware for leaning elementary particle physics with Geant4. • A hybrid e-learning system of • wiki-like online textbooks (course materials) • Geant4 Web application a.k.a. Geant4 Virtual Laboratory Geant4 FFJPL Meeting (02/Sep/2008)
Ajax-powered GUI on Web + Python Web framework Hands-on-ware on Web, Geant4 Virtual Laboratory Geant4 FFJPL Meeting (02/Sep/2008)
Concerning Issues • Contents • Educational materials • Self-description for Geant4 physics performance • Wiki • Media Wiki, Confluence • Python web framework • Turbo Gears, Pylons, Django • Web service • Multi G4 instance • Scalability • Deployment Geant4 FFJPL Meeting (02/Sep/2008)
Usecasesof Geant4 on Web • Geant4 Education • Not to teach Geant4 but use Geant4 to teach Physics • for HEP experiment, radiological physics and dosimetry,… • hyper document with textbook and hands-on work • G4 examples on Web with user manual • hyper experience with G4 for instant users • Explorer inside Geant4 • particle, material, cross section, etc. • framework of presenting physics performance Geant4 FFJPL Meeting (02/Sep/2008)
Summary G4 Physics Performance An example for Photoelectric Python can access the data inside G4. This kind of table can be generated on-line. Geant4 FFJPL Meeting (02/Sep/2008)
EducationalMaterial • Michel’s documentations • There exists a lot of contents, which can be a good starting point. • Documentation about each EM process • documents/training/electromagnetic/processes/ in CVS repository • similar to Geant4 Physics Reference Manual • http://confluence-geant4.kek.jp/display/g4edu/Photoelectric+absorption • How about exercise course? • for learning Geant4 and/or Physics? Geant4 FFJPL Meeting (02/Sep/2008)
An Example of Media Wiki implementation Math expressions can be handled with Latex format Images Geant4 FFJPL Meeting (02/Sep/2008)
Confluence • Enterprise wiki • Better document management • access control • document structure • move, remove, … • Better handling images / attached files • Support for math formula with LaTex • evaluation for jsMath • JavaScript for displaying math formula • Commercial license (for multi users) Geant4 FFJPL Meeting (02/Sep/2008)
Inside Geant4 on Web • Run Geant4 as web service • independent of client enviroment • Python web application framework • TurboGears / Pylons / Django • MVC(Model/View/Control) model • MVC model • Model: Geant4 / Python-interface / document management • View: HTMLtemplate(Kids/Genshi/Mako)/ XHTML+CSS • Control: URL mapping of Python functions • CherryPy, route • Rich client • Ajax (Javascript) powered • Ext, jQuery Geant4 FFJPL Meeting (02/Sep/2008)
Structure of Geant4 Virtual Laboratory Client side Ajax-powered GUI as Control Panel of G4 applications Job Dispatcher / Load Balancer G4 Application Modules Python Software Bus Web Framework URL maper Server side Geant4 FFJPL Meeting (02/Sep/2008)
Python Web Framework • Turbo Gears • Mega framework. • Various functional components are covered. • A collection of many python tools • Complicated software structure • Pylons • New framework based on WSGI. Lighter than Turbo Gears • Still developing • Django • Everything in a single package • No software dependency • Well matured. Easy to use. Many users and information Geant4 FFJPL Meeting (02/Sep/2008)
Django • OR mapper • automatic mapping from Python class to DB schema • DB management tools (admin site) • URL configuration • based on regular expression • Template engine • included • simple, easy to use, powerful • Support for Ajax • object serializer with JSON Geant4 FFJPL Meeting (02/Sep/2008)
Django View Kids Genshi CSS template engine MVC model .html Control route View on client XMLHTTP Request URL mapper of Python objects JS libs Rich client using Ajax, Javascript XML/JSON Ajax MVC model Model histogramming tools Client Geant4 FFJPL Meeting (02/Sep/2008) Server
Ext 2.0 • Ext JS 2.x released • matured and more powerful • complete widget set • some APIs are changed from 1.x • need to update for 2.x Geant4 FFJPL Meeting (02/Sep/2008)
How to realize multiple Geant4 instances • So far Geant4 instance is stuck to the web server. • The process of web server runs Geant4 • can handle only single instance • cannot work as web service • cannot response for multiple requests • Web server invokes Geant4 instance in remote hosts. • master-worker nodes model • Each Geant4 instance runs in a worker node. • remote python call with RPyC Geant4 FFJPL Meeting (02/Sep/2008)
Remote Python Call with RPyC • The RPyC python module (3.x) can realize remote python call. • A forking server runs in worker nodes • Geant4 instances are invoked by a forking server. • Scalable with # of worker nodes Web Server (master) Forking Server Forking Server Forking Server G4 G4 G4 G4 G4 G4 G4 G4 G4 G4 G4 G4 Geant4 FFJPL Meeting (02/Sep/2008)
Working items • Design of object model for web application • user management • Implementation with Django • Forking server with RpyC (done) • Connection between master (django) and worker (RPyC) servers • update for ExtJS 2.x • Ajax-based communication • Ajax request / JSON object handling • handling visualization data Geant4 FFJPL Meeting (02/Sep/2008)