$Id$ The mapping package ==================== See detailed description in ALICE-INT-2003-025. Test macros ============ cd ../mapping/macro root root [0] .x testMacroName.C - see available macros below A set of test macros be run at once by test_suite.pl scripts: test_suite.pl - run all test macros and compare results with the reference output test_suite_ref.pl - generates reference output !! this script will overwrite the refence output provided with the source; it should be used only by developers Macros included in the test suite: testReadSector.C testReadMotifType.C testGraphics.C testSectorFind.C testPlaneFind.C testPrintLimits.C testExistingPads.C testPadDimensions.C testSectorPadIterators.C testMotifTypeIterators.C testNeighboursPadIterator.C testAnyPadIterators.C testPadsUp.C testPlaneAreaIterator.C Other macros (not included in the test suite): testAllIndices.C testUpdateGlobalIndices.C Data files format ================= zones.dat: ------------- Describes layout of zones, rows, row segments, subzones, motifs SECTOR_DATA number of zones number of rows direction of constant pad size (X or Y) offset in X direction offset in Y direction ZONE number of zone half legth of pad size in x half legth of pad size in y SUBZONE motif id motif type_id ROW_SEGMENT x offset (in number of pads) y offset (in number of pads) row number nof motifs first motif position Id step to the next motif position Id (+1 or -1) zones_special.dat: ------------------ Describes layout of special row segments (with irregular motifs) SECTOR_SPECIAL_DATA MOTIF zone id motif id motif type_id ROW row number PAD_ROWS number of these pad rows in row PAD_ROW_SEGMENT mumber of pads in the rows segment motif id motif position id motifX.dat ---------- Describes characteristics of the motif type X In lines: Berg number Kapton number Pad number Gassi number motifSpecialX.dat ------------------ Describes characteristics of the special motif with motif Id X; the special motif caontains pads of different size In lines: pad index i (in x) pad index j (in y) half legth of pad size in x half legth of pad size in y padPosX.dat ----------- Maps pad numbers used in the motifX.dat files to the local pad indices (i,j) In lines: Pad number pad index i (in x) pad index j (in y) *.pcb files ============ Lines starting with # are comments. SIZES PadSizeX PadSizeY SizeX SizeY (cm) MOTIF motifType ix iy MOTIF motifType ix iy ... where ix, iy are the local coordinates (in pad unit) of the lower-left corner of the motif (0,0 is the lower-left corner of the PCB). PCB *MUST* be described in a rotating way, starting lower-left and then counter-clockwise, otherwise the manu-to-motif association (fixed in the slat definition files) will be wrong. Note that for "full" PCBs, the SizeX and SizeY are redundant as they could be computed from the motif alone (but that serves as a cross-check that the motif pattern given is ok). That's not the case for short or rounded PCB though. *.slat files ============= A slat is defined by the list of its PCB, described starting from the beam and going outward. One PCB per line, preceded by the keyword PCB Other lines not matching this syntax are ignored. After the PCB is the list of manu ids for this PCB. Example : PCB X 1-3;24-20;42;44;53 PCB X 1-14 PCB Y 100-90 PCB Z 1;2;3;4;5;6;7;12;120 defines a slat with 4 PCBs : XXYZ The manu to motif relationship is attached to the fact that we're counting counter-clockwise, starting on the lower-left of the PCB. (and the pcb files have to follow this convention to defined their motifs, otherwise all this won't work). Note that the definition of the PCBs have to be in files with extension .pcb (X.pcb, Y.pcb, Z.pcb) DetElemIdToBusPatch.dat ======================= Lines starting with # are comments. Contains the detection element identifier with the associated buspatch numbers and the corresponding DDL identifier. The link between buspatches and DE's is needed on the rawdata level to identify the type of quadrant/slat to get the corresponding mapping. The DDL id is needed for the rawdata generation only. To generate this file, the macro MUONGenerateBusPatch.C could be used. Units used ============ Lengths are in centimeters.