titles_geds


                                 Titles:  GEDS
                                 =============
 
        Contact:        N. West, Oxford.
 
        Revision History:-
        ================
 
        2.02    N. West         First version.
        2.04    N. West         Replace Volume code by Physical Media code.
        2.05    N. West         Document tidy-up.
        2.06    S. Brice        Add new primitives + new rotation and
                                translation proceedure.
        2.08    N. West         Minor comment changes.
        2.09    N. West         Major redesign, now much simplified!  Add _DBG.
        3.01    N. West         Improve comments about volumes.

 
Titles Files
------------
 
geometry.dat, pmt_geometry.dat
 
 
Verification
------------
 
 
Description
-----------
 
    This bank describes the design, i.e. shape, size and relationship to other
regions, of a detector element region.  It does not specify its position - see
title bank GEDP for this information.
 
Bank Number:  Region type of detector element (see id_regions).
 
 
Data Words
----------
 
       I = integer, F = floating point
 
                   Fixed length Database Header. See titles_dbhdr
 
         KGEDS...  Mnemonic relative to start of user data e.g.
                   icons(ldgeds + KGEDS_ENB) is the enable flag.
 
   1  I _ENB     Enabled flag, either: KGE_ENABLED or KGE_DISABLED
   2  I _CPX     Complexity flag.  See note 3.
   3  I _IDM     Physical Media,  See media.html.
   4  F _RVL     Volume.  See notes 4 and 6.
   5  I _PRI     Priority.  See note 1.
   6  I _DBG     Debug set of 1 bit flags. Meaning if set:-
                   B0  Region poisoned; kill any track as it enters.
                       Kill any EGS (gammas,electrons) track that traverses.
   7  I          Spare.
   8  I          Spare.
   9  I          Spare.
  10  I          Spare.
 
  11  I _NM_PRM  Number of primitives.  See note 5.
 
       _PRM_BASE Base point for table of primitives.
 
      There now (normally) follows a list of primitives each of length
      KGEDS_NW_PRM = 34.
 
      KGEDS_PRM... Mnemonic relative to start of primitive e.g.
                   icons(lprm + KGEDS_PRM_TYP) is the primitive type.
                   lprm = LDGEDS + KGEDS_PRM_BASE + (n-1)*KGEDS_NW_PRM for nth.
 
i+..               i =  0, 34, 68, 102,  ...
 
 +12  I _TYP     Type, e.g. KGE_SPHERE.
 +13  I _OPR     Operation, either KGE_ENABLE (OR) or KGE_DISABLE (NOT).
                 See note 2.
 
      The remainder of the primitive data is normally accessed via the offset
      KGEDS_PRM_DATA which points to the first word beyond the standard 12 word
      rotation and translation.  All words floating point.
 
 
         j       i.e. address:  lprm + KGEDS_PRM_DATA + j
 
 +14..F -12..    3 word translation vextor    (Ddefine the orientation of the
        _TRN
 
 +17..F  -9..    3 x 3 rotation matrix         primitive relative to other
                                               primitives in the element.)
 
 +26  F   0      1st. word of primitive specific data.
                    Volume of primitive. See note 6. This is used when picking a
                    point in an element consisting of more than one primitive.
 +27  F   1      2nd. word of primitive specific data.  See below.
 +..  F   ..     3rd. ...
 
Notes
=====
 
1)  Priority determines boundary ownership (the higher priority region owns
    the boundary) and volume ownership where two regions overlap (the higher
    priority one owns the volume).
 
2)  The shape of a region is formed by ORing together one or more primitives
    and then NOTing none or more primitives.  In the list of primitives all ORs
    must come first.
 
3)  The complexity flag provides the user with control of code that supports a
    detector element model at more than one level of complexity.
 
4)  Volumes are used when randomly picking points in multiple detector
    elements.  When picking between elements selection is random but weighted
    by volume.  If the elements form an array then the volume should be for the
    entire array.  This is discussed further in the Geometry section of the User
    Manual.
 
5)  Most GEDS follow a standard format for the shape description which consists
    of a list of fixed length entry primitives.  Occasionally this format is not
    suitable and in these cases KGEDS_NM_PRM (Number of primitives) is set to 0
    to signal a non-standard format.
 
6)  The GED volume _RVL and the primitive volumes should be TOTAL volumes,
    making no allowance for embedding detector elements or intersecting 
    primitives. This would appear to lead to give the wrong weights when 
    picking, but GEB (boundary manager) handles this:-

    1)  For an embedded GED, GEB will veto picked points that are within the
        embedded GED.
        This is explained in the User Manual

    2)  For intersecting primitives, having PICKed on one, the GED code then 
        requests NEAR for the point using any other primitive that could 
        possibly overlap.  GEB will discard a certain fraction of overlapping 
        points to ensure there is no double counting.  
        This is explained in the Programmer Manual.

 
 
                            Primitive Specific Data
                            =======================
 
The first word is the volume.  Remaining words depend on the primitive type as
shown below.
 
Sphere
------
 2      F          Radius of sphere.
 
Cylinder
--------
 2      F          Radius of cylinder.
 3      F          Half height of cylinder.
 
Block
-----
 2      F          Half length of side in X direction.
 3      F          Half length of side in Y direction.
 4      F          Half length of side in Z direction.
 
Elliptical Cylinder
-------------------
 2      F          Length of semi-axis in X direction.
 3      F          Length of semi-axis in Y direction.
 4      F          Half height of cylinder.
 
Half Elliptical Torus
---------------------
 2      F          Length of semi-axis in radial direction.
 3      F          Length of semi-axis in Z direction.
 4      F          Length of major radius in XY plane.
 
Half Square Torus
-----------------
 2      F          Half length of square side in radial direction.
 3      F          Half length of square side in Z direction.
 4      F          Length of major radius in XY plane.
 
Half Torus
----------
 2      F          Length of semi-axis.
 3      F          Length of major radius in XY plane.
 
Octahedron
----------
 2      F          Height of apex above and perpendicular to square plane.
 3      F          Gradient of sloping planes.
 
Spherical Tile
--------------
 2      F          Radius of centre of tile.
 3      F          Half radial thickness of tile.
 4      F          Tangent of the polar angle defining top of tile.
 5      F          Tangent of the polar angle defining bottom of tile.
 6      F          Tangent of half the azimuthal angle defining width of tile.
 
 
 

Go Back to the Snoman Companion Top Page