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