New error log system
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSSD.cxx
CommitLineData
2906f4c2 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/* $Id$ */
17
18///////////////////////////////////////////////////////////////////////////////
19///
20/// This class provides access to ITS SSD digits in raw data.
21///
22///////////////////////////////////////////////////////////////////////////////
23
24#include "AliITSRawStreamSSD.h"
25#include "AliRawReader.h"
26
27ClassImp(AliITSRawStreamSSD)
28
29
30const Int_t AliITSRawStreamSSD::fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL] = {
31 //104
32 //DDL[32][]=
33 { 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
34 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
35 1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,
36 1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,
37 1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,
38 2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,
39 2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,
40 2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,
41 2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,-1,-1,-1,-1,-1},
42 //93
43 //DDL[33][]=
44 { 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
45 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
46 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
47 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
48 1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,
49 1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,
50 1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,
51 1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,
52 1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,-1,-1,-1,-1,-1},
53 //103
54 //DDL[34][]=
55 { 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
56 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
57 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686,
58 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708,
59 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730,
60 1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,
61 1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,
62 1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,
63 1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,-1,-1,-1,-1,-1,-1},
64 //104
65 //DDL[35][]=
66 { 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752,
67 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
68 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796,
69 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818,
70 1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,
71 1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,
72 1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,
73 1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,
74 1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,-1,-1,-1,-1,-1},
75 //104
76 //DDL[36[]=
77 { 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840,
78 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862,
79 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884,
80 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
81 1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,
82 1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,
83 1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,
84 1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,
85 1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,-1,-1,-1,-1,-1},
86 //104
87 //DDL[37][]=
88 { 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928,
89 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950,
90 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972,
91 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
92 1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,
93 1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,
94 1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,
95 1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,
96 1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,-1,-1,-1,-1,-1},
97 //103
98 //DDL[38][]=
99 {1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,
100 1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,
101 1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,
102 1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,
103 1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,
104 1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,
105 1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,
106 1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,
107 1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,-1,-1,-1,-1,-1,-1},
108 //104
109 //DDL[39][]=
110 {1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,
111 1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,
112 1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,
113 1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,
114 1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,
115 1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,
116 2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,
117 2048,2049,2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,
118 2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,-1,-1,-1,-1,-1},
119 //109
120 //DDL[40][]=
121 { 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521,
122 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
123 1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,
124 1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,
125 1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,
126 2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,
127 2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,
128 2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,
129 2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197},
130 //109
131 //DDL[41][]=
132 { 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
133 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
134 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609,
135 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
136 1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,
137 1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,
138 1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,
139 1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,
140 1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397},
141 //107
142 //DDL[42][]=
143 { 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653,
144 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675,
145 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697,
146 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719,
147 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741,
148 1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,
149 1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,
150 1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,
151 1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,-1,-1},
152 //109
153 //DDL[43][]=
154 { 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763,
155 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785,
156 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807,
157 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829,
158 1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,
159 1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,
160 1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,
161 1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,
162 1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622},
163 //109
164 //DDL[44][]=
165 { 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851,
166 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873,
167 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895,
168 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917,
169 1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,
170 1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,
171 1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,
172 1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,
173 1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747},
174 //109
175 //DDL[45][]=
176 {929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939,
177 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961,
178 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983,
179 995, 996, 997, 998, 999,1000,1001,1002,1003,1004,1005,
180 1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,
181 1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,
182 1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,
183 1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,
184 1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872},
185 //109
186 //DDL[46][]=
187 {1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,
188 1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,
189 1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,
190 1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,
191 1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,
192 1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,
193 1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,
194 1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,
195 1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972},
196 //109
197 //DDL[47][]=
198 {1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,
199 1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,
200 1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,
201 1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1203,
202 1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,
203 2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,
204 2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,
205 2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,
206 2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097}
207};
208
209
210AliITSRawStreamSSD::AliITSRawStreamSSD(AliRawReader* rawReader) :
e56160b8 211 AliITSRawStream(rawReader),
212fData(0)
2906f4c2 213{
214// create an object to read ITS SSD raw digits
215
362c9d61 216 fRawReader->Select("ITSSSD");
2906f4c2 217}
218
219
220Bool_t AliITSRawStreamSSD::Next()
221{
222// read the next raw digit
223// returns kFALSE if there is no digit left
224
225 fPrevModuleID = fModuleID;
226 if (!fRawReader->ReadNextInt(fData)) return kFALSE;
227
228 UInt_t relModuleID = (fData >> 21) & 0x000007FF;
229 fModuleID = fgkDDLModuleMap[fRawReader->GetDDLID()][relModuleID];
230 fCoord1 = (fData >> 20) & 0x00000001;
231 fCoord2 = (fData >> 10) & 0x000003FF;
232 fSignal = (fData & 0x000003FF) + 1;
233
234 return kTRUE;
235}