You can drag this image with Mouse

You can resize this image with Shift+Mouse

Printer-friendly page is here

Atlantis3D
GraXML Provides 3D View to Atlantis

Following many requests for a realistic 3D view in Atlantis, Atlantis-GraXML bridge has been created allowing Atlantis objects to be visualised in GraXML.


How to Use

Web Starting

Atlantis with GraXML is available via Java WebStart. The only precondition for using it is Java 1.5 or 1.6. If Java is correctly installed, clicking on following link will install and start Atlantis+GraXML on local machine: Atlantis3D Web Start. Web browser should accept .jnlp extension and associate it with javaws command. If Web-based installation doesn't work (which means that Java is not correctly enabled with Web browser), Atlantis3D can be installed and started using following command: javaws http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp.

Java Web Start will verify the local installation on every call. It will download new version of Atlantis3D when it is available. Status of Java Web Start applications can be verified by the Web Start manager which could be started using javaws (for Java 1.5) or javaws -viewer (for Java 1.6) command. On Linux, all Web Start applications are installed under ~/.java directory.

Atlantis3D works under all common distributions of Linux, MacOSX and MS.

Calling GraXML from Atlantis

When GraXML is available, Atlantis RubberBand offers Show in 3D window (InDet and Object data only) item. When chosen, this selection will start GraXML window (unless it already runs) and send it all selected elements. They will be displayed in GraXML 3D canvas. All elements in GraXML will keep the same color as in Atlantis. All standard GraXML operations will be available (see GraXML Guide for details).

Any subsequent selection in Atlantis will send new elements to GraXML (and remove the old ones). (Possibility to keep old elements can be allowed if requested.)

GraXML window can be closed, which should not close main Atlantis window. However, some windowing systems with integrated OpenGL driver can close Atlantis window as well. Furthermore, any subsequent GraXML invocation within the same Atlantis session will not be functional. This seems to be a problem in re-starting OpenGL..

Following Atlantis objects are correctly available in GraXML:

  • S3D
  • SiCluster
  • STr (simplified)
  • InDetTrack (only some descriptions)
  • Jet
  • BJet
  • TauJet
  • Electron
  • Muon
  • Photon
  • ETmis

GraXML Architecture

GraXML 3D graphical browser is based on GraXML Framework. It uses Java3D to visualise spacial objects, Java3D uses OpenGL for drawing.

GraXML gets data in the form of Generic Model. It is JAXB tree, classes of which are automaticaly generated from the XML Schema describing relevant data. That JAXB tree can be either assembled at run-time (as in case of Atlantis3D package) or parsed from an XML file (conform to the XML Schema used to create the model). JAXB is part of Java distribution since Java 1.6. Currently, GraXML supports four Generic Models: AGDD, GDML, JiveEvent and JiveGeometry.

JAXB Generic Model is then converted to Java3D tree, called Geometric Model. This conversion is performed taking into account several parameters, the most important of which are optimisation, quality and interactivity levels. Java3D Geometric Model can then be directly visualised or further processed (dumped to VRML/X3D, converted to TGeo,...).

More information about GraXML Architecture and usage instructions are available from its Guide.

GraXMLBridge Architecture

There are three packages collaborating in the process:

  • atlantis.ASelection creates (if necessary) GraXMLBridge and announces it new data. All this communication is performed by reflection so that there is no direct (compile-time) Atlantis dependence on GraXML.
  • GraXMLBridge requests new data from atlantis.ASelection and converts them into Generic Model JAXB tree.
  • GraXMLBridge then creates GraXML (if it doesn't exist yet), sets its scene parameters (colors,...) and sends it a JAXB tree to be shown.

All packages are distributed using Java WebStart *.jnlp files. Atlantis, Atlantis3D and GraXML are directly callable, others just serve libraries.

Future

The most important effort in near-future should go to the support of all Atlantis data, event-like as well as geometry. So far, only a subset of Inner detector and kinematic objects are supported. There is a limited support for geometry, but this is today far from correct. The biggest problem here is to get the real 3D object' representation from Atlantis. Atlantis can easily give 2D representations in several projections, which is often not sufficient for complete 3D representation. That is in particular true for description of geometry.

To convert Atlantis 2D projection to full 3D information, help from 2D representation authors is urgently needed. 3D geometry description can be, in principle, obtained by dumping Atlas offline geometry (from Athena or Genat4) into AGDD or GDML (such possibility exists thanks to Virtual Geometric Model). (Simplified) AGDD or GDML description can be then easily read into GraXML.

Some Atlantis3D extensions can be quickly implemented if needed:


Links


J.Hrivnac (GraXML part) + Z.Maxa (Atlantis part), Jan'08