This group is used to store track information at various detector planes, such as "tracks at TPX1, TPX2, TPX3 and LGD".
typedef struct { char name[8]; /* name of the plane - for example "LGD" * the name has to be a miltiple of 4 bytes * to avoid alignment-to-word-boundary problems */ int itrack; /* index into the GROUP_TRACKS */ vector3_t v; /* particle position */ vector3_t p; /* particle momentum */ int charge; /* particle charge */ int flags; /* flags, currently set to 0 */ } trackPosition_t; typedef struct { int nentries; trackPosition_t entry[1]; } trackPositions_t;
MakeTrackPositions
Call the function 'MakeTrackPositions' to create this group.
The detector planes used by this group are defined in the Map manager file: db-files.Map, subsystem: db-files, item: trackPositions. The format of the file is documented below.
# # trackPositions.db # trackPositions.nplanes: 1 trackPositions.0.name: CPV trackPositions.CPV.distance: 290 trackPositions.CPV.normalVector: 0 0 1 # # end file #END----
Detector planes are defined by their normal vectors (the 'normalVector' line) and distance from origin (the 'distance' line).
To another detector called FOO, increment the 'nplanes' value in the 'trackPositions.nplanes' line, create the 'trackPositions.1.name: FOO' line and the corresponding 'trackPositions.FOO.distance' and 'trackPositions.FOO.normalVector' lines. That's all.
C.O. 1995-AUG-14