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