Geometry Requirements

There are two main components to the geometry facility: a suitable data format for description of the geometry and the software which can interpret it. Most of the following requirements impact both.

  1. Generality: The geometry facility must support a variety of different specific physical layouts of the instrument (test beam, balloon, flight, ...) The most robust way to do this is to implement a highly data-driven scheme. Not only parameters (e.g., dimensions), but also relationships between different parts of the instrument and the means of identifying elements within the instrument must be specifiable external to any piece of software.
  2. Versatility: The geometry facility will have several different clients. They will require different levels of detail and different modes of access. In particular, at a minimum Simulation, Reconstruction, and Analysis clients must be supported. Additionally, the design must mesh with aspects of the Calibration facility.
  3. Acceptable cost of data entry: The procedure for creating input data must be clear and not unduly burdensome. The data format must be readily comprehensible to the specialists who have to deal with it directly.
  4. Verifiability: Methods of ensuring the creation of valid input, or at least checking for invalid input, should be designed as part of the facility. One aspect of this is the requirement for broad access to crucial information embodied in the data so it may be reviewed for accuracy.
  5. Extensibility: Undoubtedly we will not think of everything. It should be straightforward to add items of data or even new functionality to the facility without massive changes to existing components.
  6. Ease of maintenance: Minor changes to the geometry of the instrument should entail only minor changes to input data (and usually none to code). For the most part, a single conceptual change should only require changing a single item of data or single piece of code.