iSpy Configuring iSpy view layout (.iml files)

rounded border

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