Geometry Ids and Ritz Ids

Purpose: For each detector type, define mapping from volume ids as they come out of the XML geometry description to "Ritz ids".

NOTE: Ritz ids don't have a definition in code, just in the LAT Coordinate System document. Naming and numbering conventions for necessary parts of an identifier are described, not the precise format into which the parts should be assembled.

Tower Numbers

The Ritz document describes two conventions for tower numbering: a single number running from 0 (neg X, neg Y) to 15 (pos X, pos Y) or two numbers, one for X- and one for Y-position. The latter, known as the matrix number, is what comes directly out of the geometry ids. They all have two fields known as fTowerY and fTowerX. To get to the single numbering scheme, just do

 N = 4 * Y + X 

or, more generally,

 N = xNum * Y + X 

xNum is a primary constant whose value may be fetched via detModel services.

CAL

Crystal

Ritz id explicitly requires

Implicit is the detector type (CAL crystal).

Geo id looks like this:

  1. [0] field = fLATObjects, value = eLATTowers (= 0)
  2. [1] field = fTowerY, value in range [0,3], same convention as for Ritz tower matrix number
  3. [2] field = fTowerX, value in range [0,3], same convention as for Ritz tower matrix number
  4. [3] field = fTowerObjects, value = eTowerCAL (= 0)
  5. [4] field = fLayer, value in range [0,7] with same convention as for Ritz
  6. [5] field = fMeasure, value from the set {eMeasureX, eMeasureY} = {0, 1}
  7. [6] field = fCALLog, value in range [0,11], same convention as for Ritz
  8. [7] field = fCellCmp, value = eXtal (= 0)
  9. [8] field = fCALSeg, value in range [0, nsegments - 1], identifies the segment in the log, but only if segments have been defined in the geometry. Otherwise this field is absent.

To get to Ritz id, using tower matrix numbering, just extract fields 2, 3, 5, 7.

Diodes

Ritz id explicitly requires

Implicit is the detector type (CAL diode).

Geo id looks like this:

  1. [0] field = fLATObjects, value = eLATTowers (= 0)
  2. [1] field = fTowerY, value in range [0,3], same convention as for Ritz tower matrix number
  3. [2] field = fTowerX, value in range [0,3], same convention as for Ritz tower matrix number
  4. [3] field = fTowerObjects, value = eTowerCAL (= 0)
  5. [4] field = fLayer, value in range [0,7] with same convention as for Ritz
  6. [5] field = fMeasure, value from the set {eMeasureX, eMeasureY} = {0, 1}
  7. [6] field = fCALLog, value in range [0,11], same convention as for Ritz
  8. [7] field = fCellCmp, value from the set {eDiodeMSmall, eDiodePSmall, eDiodeMLarge, eDiodePLarge} which happen to be 1, 2, 3, 4, respectively.

To get to Ritz id, using tower matrix numbering, extract fields 2, 3, 5, 7 and 8. Field 8 requires some interpretation since it encodes two pieces of the Ritz id.

Tracker

Tracker is somewhat murkier than CAL because of the different ways of viewing the tracker: as a sequence of trays with alternating orientation, or as a sequence of XY layers, where a layer consists of the X- and Y-planes closest to each other. Geometry identifiers go by trays but Ritz ids more naturally go by layers. Then a Ritz silicon strip id has fields

Geo ids don't go down to the level of strip. What's available is the following:

  1. [0] field = fLATObjects, value = eLATTowers (= 0)
  2. [1] field = fTowerY, value in range [0,3], same convention as for Ritz tower matrix number
  3. [2] field = fTowerX, value in range [0,3], same convention as for Ritz tower matrix number
  4. [3] field = fTowerObjects, value = eTowerTKR (= 1)
  5. [4] field = fTKRTray, value in range [0,18] with same convention as for Ritz
  6. [5] field = fMeasure, value from the set {eMeasureX, eMeasureY} = {0, 1}
  7. [6] field = fTKRTrayCmp, values from the set {eTKRSiBottom, eTKRSiTop} = {0, 1}
  8. Depending on choice mode, may also have a ladder number available [7].
  9. Depending on choice mode, may also have wafer number available [8].

Use fields 2 and 3 to get a tower number. Orientation is available from field 6. To get layer number, take

(value of field 5) + (value of field 7) - 1

Strip number is not obtainable from the geometric id without some additional geometric information, such as hit coordinates. Parameters necessary to compute strip number, such as number of strips in a wafer, are defined as constants in the XML file and can be accessed via detModel constants services.

ACD

Tile

The Cyberdocs version (LAT-TD-00035-01) of "LAT Coordinate System" has no information on ACD elements. An older, non-Cyberdocs version of this document did discuss certain conventions applicable to the ACD. Fields mentioned were

Detector (ACD) and detector type (tile) are implicit.

The geo id preserves (or at least means to preserve) all of the above Ritz numbering conventions. The full geo id for an ACD tile is

  1. [0] field = fLATObjects, value = eLATACD(=1)
  2. [1] field = fACDFace, value in the range [0,4]. The negative X face is 1, then continue counterclockwise in numbering the remaining side faces.
  3. [2] field = fRow. Range depends on which face: [0, 4] for top face; [0,3] for side faces. For side faces, rows have constant Z. The top row is row 0. For the top face, rows have constant X. The row with minimum (most negative) X is row 0.
  4. [3]field = fCol. Range depends on face and row number as follows: These values are easy to change.

Since there is no official Ritz scheme currently for the ACD I can't sensibly describe a transformation in detail, but we can probably assume that the fields from the old Ritz document will be preserved. Any conventions on values for those fields will be honored in the geo id if possible, so that most likely all that will be needed to transform to a Ritz id will be extraction of certain fields.

Ultimately if tapes are to have ids as well we will need an additional field with 2 possible values corresponding to "tile" and "tape". Probably the new field will have to go between fields 1 and 2 or, if side faces are built up a little differently than is currently the case, between fields 2 and 3.

J. Bogart
Created: 14 Dec 2002
Last modified: