Configuring iSpy view layout
In order to configure which view are to be shown and what to show
in each view, iSpy uses a so-called
IML file.
Such a file is a normal xml file with the following structure:
<?xml version="1.0" encoding='UTF-8'?>
<layout>
<camera position="-18.1, 8.6, 14.0" pointAt="0, 0, 0" scale="10.6" orthographic="true" rotating="true">
<visibilityGroup>
<view label="Standard 3D View" specialised="true" autoplay="true">
<collection label="Provenance/Event information"
spec="Event_V1:time:run:event:ls:orbit:bx"
draw="make3DEvent"/>
</view>
</visibilityGroup>
</camera>
</layout>
The
<layout/>
tag is just the toplevel container.
The
<camera/>
tag specifies where the default camera
should be put for the contained views.
The
<visibilityGroup/>
tag specifies where the default camera
should be put for the contained views.
The
<view/>
tag specifies properties of the a page view.
It contains a set of
<collection/>
tags, as many as one
per collection to be displayed.
As for ISS files, a default IML file is compiled in the application
but the user can specify his own by passing it on the command line.
The default IML can be found
here.
Attributes of the <camera/>
tag
- position: the position of the camera.
- pointAt: the point at which the camera points at
- scale: the scale factor for elements shown
-
- orthographic: either true or false indicates whether the camera is orthographic or not.
- rotating: either true or false, indicates whether the camera can rotate or not. False means
that the camera is in panning mode.
Attributes of the <view/>
tag
- label: the name of the view as shown in the view selector widget
- autoplay: either true or false, indicates whether the view has to be
shown in autoplay mode.
Attributes of the <collection/>
tag
- label: the name of the collection, as shown in the tree view. Use a (single) slash
to separate between the two levels
- spec: a specification that has to be matched by the collection and its properties.
This is a column separated list, where the first item is the name
of the collection while the subsequent items are the properties
that have to be matched in order for the drawing method to apply.
- association: the name of an association set which links the elements of the
collection specified by "spec" to those specified by "other".
this attribute is optional.
- other: similar to spec, it defines a second collection whose items are
connected to the one specified in "spec" thanks to the associations
specified in "associations"
- draw: the name of the drawing method to be executed on the collection
whe the specification found in spec applies.
List of draw operations
- make3DAnyBox: draw a box in 3D, without any special
projection. Coordinates from the vertices are picked up from the
following columns of the collection:
- front_1
- front_2
- front_3
- front_4
- back_1
- back_2
- back_3
- back_4
- makeAnyBox: draw a box in 3D, using the projection
specified for the given view. Coordinates from the vertices are
picked up from the following columns of the collection:
- front_1
- front_2
- front_3
- front_4
- back_1
- back_2
- back_3
- back_4
- make3DAnyLine: draws a generic set of lines using
the coordinates found in the columns "pos1" and "pos2" of the given
collection.
- make3DAnyPoint: draws a generic set of points.
The pos column of the collection is used to draw.
- make3DCSCStripDigis
- make3DCSCWireDigis
- make3DCaloClusters
- make3DCaloTowers
- make3DDTDigis
- make3DDTRecHits
- make3DEnergyBoxes
- make3DEnergyTowers
- make3DEvent
- make3DHLTrigger
- make3DJetShapes
- make3DL1Trigger
- make3DLimits
- make3DMET
- make3DPhoton
- makeRZPhoton
- makeAnyPhoton
- make3DPointSetShapes
- makeRZPointSetShapes
- makeAnyPointSetShapes
- make3DPreshowerTowers
- make3DRPCRecHits
- make3DSegmentShapes
- make3DTechTrigger
- make3DTrackPoints
- make3DTrackingParticles
- make3DTracks
- makeRZTracks
- makeAnyTracks
- make3DTracksNoVertex
- make3DTriggerObject
- makeLegoCaloTowers
- makeLegoEcalRecHits
- makeLegoGrid
- makeLegoHcalRecHits
- makeLegoJets
- makeRZECalRecHits
- makeRZEPRecHits
- makeRZHCalRecHits