...
- should allow arbitrary field map from file, e.g.
- <BFIeld file="http://some.server.anywhere/ILCDetailedBField.map"/>
- need well defined file format and corresponding implementation class
- need well defined simple interface, e.g.
- interface BField Field { public Vector3D at( Vector3D x) ; }
- interface BField Field { public Vector3D at( Vector3D x) ; }
...
LCGO drivers need to provide an implementation of an interface to query cellIDs, positions and neighbors:
Geometry Elements
we need a full set of geometry classes that allow
- to construct the detailed low level view of the detector
- are used to create other representations
- geant4
- GDML/LCDD
- HepRep
- all classes currently available in geant4 should be represented - ideally with the same interface
- shapes (Box, Tube, Polycone,....)
- logical volume (with material...)
- physical volumes with placement,i.e.
- rotation
- translation
- parent volume
- initially the volume heirarchy just needs to be static in order to allow creation of other representations
- issues/requiremnents
- names
- copy numbers
- sensitive detectors
- visualization attributes
- user defined attributes
Tracking Geometry
for the tracking (pattern recognition and fitting) a somewhat simplified representation of the detector volumes is needed with
- averaged material (see material, dEdx)
- simple shapes only:
- boxes - planes
- tubes - cylinders
- boxes - planes
this tracking geometry should allow to compute:
- intersection with given trajectory
- line
- helix
- ...
GEAR API
the mid and high level view of the geometry should be an extension of the current GEAR API
- should allow to represent current detector concepts' subdetectors
- provide high level view as needed for
- reconstruction
- digitization
- should provide the geometrical functionality as needed for tracking
- should be the interface all client programs use to get information from LCGO (except low level view)
need to review what is currently in GEAR and define what is missing !
System of Units
it is probably desirable to have a well defined system of units a la Geant4, so that every quantity comes in the properly defined unit. So that one can write code, such as:
...