00001 /**************************************************************** 00002 * This file contains the azimuthal sector to receiver board * 00003 * mapping as described by the diagram * 00004 * http://wwwstar.mppmu.mpg.de/map/mapping.html * 00005 * * 00006 * This file can be used to translate from global sector * 00007 * numbering (1-60) to the correct chamber (0-1), rcvboard (0-9) * 00008 * and rcvbsector (0-2) * 00009 * -or- * 00010 * to translate from rcvboard and rcvbsector to global sector * 00011 * numbering 1-30 * 00012 * (global sectors 31-60 have the same rcvboard mapping) * 00013 * * 00014 * J.L.Klay 11-July-2000 * 00015 *****************************************************************/ 00016 00017 #define SECTORS 60 00018 #define RCVBOARDS 10 00019 #define AZIMSEC 3 00020 00021 //For a given sector, numbered 1 - 60, what Chamber, 00022 // what RCVBOARD and what RcvbSector? 00023 00024 static const unsigned char sector_map[SECTORS][3] = { 00025 /* Chamber 0 */ 00026 /* sector 0 */ {0,0,0}, /* sector 1 */ {0,2,0}, 00027 /* sector 2 */ {0,4,0}, /* sector 3 */ {0,5,0}, 00028 /* sector 4 */ {0,7,0}, /* sector 5 */ {0,9,0}, 00029 /* sector 6 */ {0,0,1}, /* sector 7 */ {0,2,1}, 00030 /* sector 8 */ {0,4,1}, /* sector 9 */ {0,5,1}, 00031 /* sector 10 */ {0,7,1}, /* sector 11 */ {0,9,1}, 00032 /* sector 12 */ {0,0,2}, /* sector 13 */ {0,2,2}, 00033 /* sector 14 */ {0,4,2}, /* sector 15 */ {0,5,2}, 00034 /* sector 16 */ {0,7,2}, /* sector 17 */ {0,9,2}, 00035 /* sector 18 */ {0,1,0}, /* sector 19 */ {0,3,0}, 00036 /* sector 20 */ {0,3,1}, /* sector 21 */ {0,6,0}, 00037 /* sector 22 */ {0,8,0}, /* sector 23 */ {0,8,1}, 00038 /* sector 24 */ {0,1,1}, /* sector 25 */ {0,1,2}, 00039 /* sector 26 */ {0,3,2}, /* sector 27 */ {0,6,1}, 00040 /* sector 28 */ {0,6,2}, /* sector 29 */ {0,8,2}, 00041 /* Chamber 1 */ 00042 /* sector 30 */ {1,0,0}, /* sector 31 */ {1,2,0}, 00043 /* sector 32 */ {1,4,0}, /* sector 33 */ {1,5,0}, 00044 /* sector 34 */ {1,7,0}, /* sector 35 */ {1,9,0}, 00045 /* sector 36 */ {1,0,1}, /* sector 37 */ {1,2,1}, 00046 /* sector 38 */ {1,4,1}, /* sector 39 */ {1,5,1}, 00047 /* sector 40 */ {1,7,1}, /* sector 41 */ {1,9,1}, 00048 /* sector 42 */ {1,0,2}, /* sector 43 */ {1,2,2}, 00049 /* sector 44 */ {1,4,2}, /* sector 45 */ {1,5,2}, 00050 /* sector 46 */ {1,7,2}, /* sector 47 */ {1,9,2}, 00051 /* sector 48 */ {1,1,0}, /* sector 49 */ {1,3,0}, 00052 /* sector 50 */ {1,3,1}, /* sector 51 */ {1,6,0}, 00053 /* sector 52 */ {1,8,0}, /* sector 53 */ {1,8,1}, 00054 /* sector 54 */ {1,1,1}, /* sector 55 */ {1,1,2}, 00055 /* sector 56 */ {1,3,2}, /* sector 57 */ {1,6,1}, 00056 /* sector 58 */ {1,6,2}, /* sector 59 */ {1,8,2}, 00057 }; 00058 00059 //This is essentially the reverse - if I know the rcvb and azimsec, 00060 //what is the global sector? 00061 00062 static const unsigned char rcvb_to_sector[RCVBOARDS][AZIMSEC] = { 00063 /* RCVBOARD 0 */ 00064 {1,7,13}, 00065 /* RCVBOARD 1 */ 00066 {19,25,26}, 00067 /* RCVBOARD 2 */ 00068 {2,8,14}, 00069 /* RCVBOARD 3 */ 00070 {20,21,27}, 00071 /* RCVBOARD 4 */ 00072 {3,9,15}, 00073 /* RCVBOARD 5 */ 00074 {4,10,16}, 00075 /* RCVBOARD 6 */ 00076 {22,28,29}, 00077 /* RCVBOARD 7 */ 00078 {5,11,17}, 00079 /* RCVBOARD 8 */ 00080 {23,24,30}, 00081 /* RCVBOARD 9 */ 00082 {6,12,18} 00083 }; 00084 00085
1.5.9