]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSRawStreamSSD.cxx
macro to be updated for newIO
[u/mrichter/AliRoot.git] / ITS / 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"
24
25ClassImp(AliITSRawStreamSSD)
26
27
28const Int_t AliITSRawStreamSSD::kDDLsNumber;
29const Int_t AliITSRawStreamSSD::kModulesPerDDL;
30const Int_t AliITSRawStreamSSD::kDDLModuleMap[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
7941072e 210AliITSRawStreamSSD::AliITSRawStreamSSD(AliRawReader* rawReader) :
211 AliITSRawStream(rawReader)
c391f9d9 212{
213// create an object to read ITS SSD raw digits
214
7941072e 215 fRawReader->Select(3);
c391f9d9 216}
217
218
219Bool_t AliITSRawStreamSSD::Next()
220{
221// read the next raw digit
222// returns kFALSE if there is no digit left
223
224 fPrevModuleID = fModuleID;
7941072e 225 if (!fRawReader->ReadNextInt(fData)) return kFALSE;
c391f9d9 226
227 UInt_t relModuleID = (fData >> 21) & 0x000007FF;
7941072e 228 fModuleID = kDDLModuleMap[fRawReader->GetDDLID()][relModuleID];
c391f9d9 229 fCoord1 = (fData >> 20) & 0x00000001;
230 fCoord2 = (fData >> 10) & 0x000003FF;
231 fSignal = (fData & 0x000003FF) + 1;
232
233 return kTRUE;
234}