README* files replaced with README*.txt adapdetd
[u/mrichter/AliRoot.git] / MUON / READMEmapping.txt
1 // $Id$
2
3 /*! 
4
5 \page README_mapping README mapping
6  
7
8 See detailed description in ALICE-INT-2003-025.
9
10
11 \section mapping_s1  Graphical User Interface
12   
13 To use the GUI to plot DE segmentation run:
14
15 <pre>
16 new AliMpDEVisu();
17 </pre>
18
19 or
20
21 <pre>
22 new AliMpDEVisu(w, h);
23 </pre>
24
25 if you want to change the size of the GUI window.
26 Typical value are:
27 <pre>
28   w = 1200, h = 600 for PC
29   w = 1000, h = 550 for laptop
30 </pre>
31
32 The GUI allows:
33 - drawing motif of a slat/quadrant
34 - search of a given manu (motif) number
35 - draw the channel number for a given manu number by clicking of the motif in canvas
36 - write down in log message informations about the given detection element
37   * DE Id, DE name, 
38   * number of buspatches, manus, manu serials
39 - option to save log message onto disc
40
41 \section mapping_s2 Test macros
42
43 <pre>
44    cd ../mapping/macro
45    root
46    root [0] .x testMacroName.C    
47                       see available macros below   
48 </pre>
49                    
50 A set of test macros be run at once by test_suite.pl scripts:
51 -  test_suite.pl      - run all test macros and compare results with
52                         the reference output
53 -  test_suite_ref.pl  - generates reference output
54                        !! this script will overwrite the refence output
55                           provided with the source;
56                           it should be used only by developers 
57
58 Macros included in the test suite:
59 -  testReadSector.C
60 -  testReadMotifType.C
61 -  testGraphics.C        
62 -  testSectorFind.C
63 -  testPlaneFind.C
64 -  testPrintLimits.C         
65 -  testExistingPads.C    
66 -  testPadDimensions.C    
67 -  testSectorPadIterators.C
68 -  testMotifTypeIterators.C     
69 -  testNeighboursPadIterator.C  
70 -  testAnyPadIterators.C  
71 -  testPadsUp.C
72 -  testPlaneAreaIterator.C
73   
74 Other macros (not included in the test suite):
75 -  testAllIndices.C
76 -  testUpdateGlobalIndices.C
77    
78
79 \section mapping_s3  Data files format
80
81
82 \subsection mapping_s3_sub1  zones.dat:
83
84 Describes layout of zones, rows, row segments, subzones, motifs
85
86 <pre>
87   SECTOR_DATA
88     number of zones  
89     number of rows  
90     direction of constant pad size (X or Y)
91     offset in X direction
92     offset in Y direction
93   
94   ZONE     
95     number of zone  
96     half legth of pad size in x  
97     half legth of pad size in y
98
99   SUBZONE  
100     motif id  
101     motif type_id       
102
103   ROW_SEGMENT  
104     x offset (in number of pads) 
105     y offset (in number of pads) 
106     row number 
107     nof motifs 
108     first motif position Id
109     step to the next motif position Id (+1 or -1)
110 </pre>
111   
112
113 \subsection mapping_s3_sub2  zones_special.dat:
114
115 Describes layout of special row segments (with irregular motifs)
116
117 <pre>
118   SECTOR_SPECIAL_DATA
119
120   MOTIF
121     zone id
122     motif id  
123     motif type_id       
124
125   ROW
126     row number
127   
128   PAD_ROWS
129     number of these pad rows in row   
130   
131   PAD_ROW_SEGMENT
132     mumber of pads in the rows segment  
133     motif id  
134     motif position id
135   
136   motifX.dat
137   ----------
138   Describes characteristics of the motif type X
139
140   In lines:
141     Berg number
142     Kapton number
143     Pad number
144     Gassi number
145 </pre>
146
147
148 \subsection mapping_s3_sub3  motifSpecialX.dat
149
150 Describes characteristics of the special motif with motif Id X;
151 the special motif caontains pads of different size
152
153 <pre>
154   In lines:
155     pad index i (in x)
156     pad index j (in y)
157     half legth of pad size in x  
158     half legth of pad size in y
159 </pre>
160   
161 \subsection mapping_s3_sub4  padPosX.dat
162
163 Maps pad numbers used in the motifX.dat files to
164 the local pad indices (i,j)
165
166 <pre>
167   In lines:
168     Pad number
169     pad index i (in x)
170     pad index j (in y)
171 </pre>
172   
173
174 \subsection mapping_s3_sub4  *.pcb files
175
176 Lines starting with # are comments.
177
178 <pre>
179   SIZES PadSizeX PadSizeY SizeX SizeY (cm)
180
181   MOTIF motifType ix iy
182   MOTIF motifType ix iy
183   ...
184 </pre>
185
186 where ix, iy are the local coordinates (in pad unit) of the
187 lower-left corner of the motif (0,0 is the lower-left corner
188 of the PCB).
189
190 PCB *MUST* be described in a rotating way, starting lower-left and 
191 then counter-clockwise, otherwise the manu-to-motif association 
192 (fixed in the slat definition files) will be wrong.
193
194 Note that for "full" PCBs, the SizeX and SizeY are redundant as they could be 
195 computed from the motif alone (but that serves as a cross-check that the motif 
196 pattern given is ok). That's not the case for short or rounded PCB though.
197
198
199 \subsection mapping_s3_sub5  *.slat files
200
201 A slat is defined by the list of its PCB, described starting 
202 from the beam and going outward.
203
204 One PCB per line, preceded by the keyword PCB
205 Other lines not matching this syntax are ignored.
206 After the PCB is the list of manu ids for this PCB.
207
208 Example :
209
210 <pre>
211   PCB X 1-3;24-20;42;44;53
212   PCB X 1-14
213   PCB Y 100-90
214   PCB Z 1;2;3;4;5;6;7;12;120
215 </pre>
216
217 defines a slat with 4 PCBs : XXYZ
218
219 The manu to motif relationship is attached to the fact that we're counting 
220 counter-clockwise, starting on the lower-left of the PCB. (and the pcb files 
221 have to follow this convention to defined their motifs, otherwise all 
222 this won't work).
223
224 Note that the definition of the PCBs have to be in files with extension
225 .pcb (X.pcb, Y.pcb, Z.pcb)
226
227   
228 \subsection mapping_s3_sub6  DetElemIdToBusPatch.dat
229
230 Lines starting with # are comments.
231
232 Contains the detection element identifier with the associated buspatch numbers 
233 and the corresponding DDL identifier.
234 The link between buspatches and DE's is needed on the rawdata level to identify 
235 the type of quadrant/slat to get the corresponding mapping.
236 The DDL id is needed for the rawdata generation only.
237
238 To generate this file, the macro MUONGenerateBusPatch.C could be used.
239
240
241 \subsection mapping_s3_sub7  crate.dat
242   
243 Muon trigger electronics configuration file (decoded in class 
244 AliMUONTriggerCrateStore) directly copy/paste from the ALICE PRR 
245 ALICE-EN-2003-010. Gives local board number, name, 
246 crate name it belongs to, slot number, and internal switches 
247 (used in the algorithm).
248
249
250 \section mapping_s4  Units used
251  
252 Lengths are in centimeters.
253  
254 */
255