]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliITSRawStreamSSD.cxx
Renove the clusterizer after Reconstruct. Use as much the runloader instead of the...
[u/mrichter/AliRoot.git] / RAW / AliITSRawStreamSSD.cxx
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 #include "AliRawReader.h"
25
26 ClassImp(AliITSRawStreamSSD)
27
28
29 const Int_t AliITSRawStreamSSD::fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL] = {
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
209 AliITSRawStreamSSD::AliITSRawStreamSSD(AliRawReader* rawReader) :
210   AliITSRawStream(rawReader)
211 {
212 // create an object to read ITS SSD raw digits
213
214   fRawReader->Select(3);
215 }
216
217
218 Bool_t AliITSRawStreamSSD::Next()
219 {
220 // read the next raw digit
221 // returns kFALSE if there is no digit left
222
223   fPrevModuleID = fModuleID;
224   if (!fRawReader->ReadNextInt(fData)) return kFALSE;
225   
226   UInt_t relModuleID = (fData >> 21) & 0x000007FF;
227   fModuleID = fgkDDLModuleMap[fRawReader->GetDDLID()][relModuleID];
228   fCoord1 = (fData >> 20) & 0x00000001;
229   fCoord2 = (fData >> 10) & 0x000003FF;
230   fSignal = (fData & 0x000003FF) + 1;
231
232   return kTRUE;
233 }