1168 if ( m_turnOffField ==
true )
1174 return StatusCode::SUCCESS;
1185 return StatusCode::SUCCESS;
1193 double new_x = -newr.x();
1194 double new_y = newr.y();
1195 double new_z = -newr.z();
1202 if ( -2.1 * m < r.z() && r.z() < 2.1 * m && -1.8 * m < r.x() && r.x() < 1.8 * m &&
1203 -1.8 * m < r.y() && r.y() < 1.8 * m )
1205 if ( -1.2 * m < r.z() && r.z() < 1.2 * m &&
1206 0 * m <= std::sqrt( r.x() * r.x() + r.y() * r.y() ) &&
1207 std::sqrt( r.x() * r.x() + r.y() * r.y() ) < 0.9 * m )
1209 { this->fieldGrid( r, b ); }
1210 else { this->fieldGrid_TE( r, b ); }
1212 if ( ( fabs( r.z() ) <= 1970 * mm && sqrt( r.x() * r.x() + r.y() * r.y() ) >= 1740 * mm ) ||
1213 ( fabs( r.z() ) >= 2050 * mm ) )
1217 int part = 0, layer = 0, mat = 0;
1223 theta = atan2( fabs( r.y() ), fabs( r.x() ) );
1224 if ( 0 <= theta && theta <
pi / 8 )
1226 mr[0] = fabs( r.x() );
1227 mr[1] = -fabs( r.y() );
1228 mr[2] = fabs( r.z() );
1229 if ( mr[2] <= 1970 * mm && 1740 * mm <= mr[0] && mr[0] <= 2620 * mm )
1232 if ( 1740 * mm <= mr[0] && mr[0] < 1770 * mm )
1237 if ( 1770 * mm <= mr[0] && mr[0] < 1810 * mm )
1242 if ( 1810 * mm <= mr[0] && mr[0] < 1840 * mm )
1247 if ( 1840 * mm <= mr[0] && mr[0] < 1880 * mm )
1252 if ( 1880 * mm <= mr[0] && mr[0] < 1910 * mm )
1257 if ( 1910 * mm <= mr[0] && mr[0] < 1950 * mm )
1262 if ( 1950 * mm <= mr[0] && mr[0] < 1990 * mm )
1267 if ( 1990 * mm <= mr[0] && mr[0] < 2030 * mm )
1272 if ( 2030 * mm <= mr[0] && mr[0] < 2070 * mm )
1277 if ( 2070 * mm <= mr[0] && mr[0] < 2110 * mm )
1282 if ( 2110 * mm <= mr[0] && mr[0] < 2190 * mm )
1287 if ( 2190 * mm <= mr[0] && mr[0] < 2230 * mm )
1292 if ( 2230 * mm <= mr[0] && mr[0] < 2310 * mm )
1297 if ( 2310 * mm <= mr[0] && mr[0] < 2350 * mm )
1302 if ( 2350 * mm <= mr[0] && mr[0] < 2430 * mm )
1307 if ( 2430 * mm <= mr[0] && mr[0] < 2470 * mm )
1312 if ( 2470 * mm <= mr[0] && mr[0] <= 2620 * mm )
1317 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1323 if ( 2050 * mm <= mr[2] && mr[2] < 2090 * mm && 1034 * mm <= mr[0] &&
1324 mr[0] <= 2500 * mm )
1329 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1335 if ( 2090 * mm <= mr[2] && mr[2] < 2130 * mm && 1067 * mm <= mr[0] &&
1336 mr[0] <= 2500 * mm )
1341 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1347 if ( 2130 * mm <= mr[2] && mr[2] < 2170 * mm && 1067 * mm <= mr[0] &&
1348 mr[0] <= 2500 * mm )
1353 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1359 if ( 2170 * mm <= mr[2] && mr[2] < 2210 * mm && 1100 * mm <= mr[0] &&
1360 mr[0] <= 2500 * mm )
1365 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1371 if ( 2210 * mm <= mr[2] && mr[2] < 2240 * mm && 1100 * mm < mr[0] &&
1372 mr[0] <= 2500 * mm )
1377 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1383 if ( 2240 * mm <= mr[2] && mr[2] < 2280 * mm && 1133 * mm <= mr[0] &&
1384 mr[0] <= 2500 * mm )
1389 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1395 if ( 2280 * mm <= mr[2] && mr[2] < 2310 * mm && 1133 * mm <= mr[0] &&
1396 mr[0] <= 2500 * mm )
1401 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1407 if ( 2310 * mm <= mr[2] && mr[2] < 2350 * mm && 1167 * mm <= mr[0] &&
1408 mr[0] <= 2500 * mm )
1413 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1419 if ( 2350 * mm <= mr[2] && mr[2] < 2380 * mm && 1167 * mm <= mr[0] &&
1420 mr[0] <= 2500 * mm )
1425 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1431 if ( 2380 * mm <= mr[2] && mr[2] < 2420 * mm && 1203 * mm <= mr[0] &&
1432 mr[0] <= 2500 * mm )
1437 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1443 if ( 2420 * mm <= mr[2] && mr[2] < 2470 * mm && 1203 * mm <= mr[0] &&
1444 mr[0] <= 2500 * mm )
1449 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1455 if ( 2470 * mm <= mr[2] && mr[2] < 2510 * mm && 1241 * mm <= mr[0] &&
1456 mr[0] <= 2500 * mm )
1461 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1467 if ( 2510 * mm <= mr[2] && mr[2] < 2590 * mm && 1241 * mm <= mr[0] &&
1468 mr[0] <= 2500 * mm )
1473 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1479 if ( 2590 * mm <= mr[2] && mr[2] < 2630 * mm && 1302 * mm <= mr[0] &&
1480 mr[0] <= 2500 * mm )
1485 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1491 if ( 2630 * mm <= mr[2] && mr[2] < 2710 * mm && 1302 * mm <= mr[0] &&
1492 mr[0] <= 2500 * mm )
1497 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1503 if ( 2710 * mm <= mr[2] && mr[2] < 2750 * mm && 1362 * mm <= mr[0] &&
1504 mr[0] <= 2500 * mm )
1509 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1515 if ( 2750 * mm <= mr[2] && mr[2] <= 2800 * mm && 1302 * mm <= mr[0] &&
1516 mr[0] <= 2500 * mm )
1521 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1528 if (
pi / 8 <= theta && theta <
pi / 4 )
1530 mr[0] = fabs( r.x() ) *
cos(
pi / 4 ) + fabs( r.y() ) *
sin(
pi / 4 );
1531 mr[1] = -fabs( r.x() ) *
sin(
pi / 4 ) + fabs( r.y() ) *
cos(
pi / 4 );
1532 mr[2] = fabs( r.z() );
1533 if ( mr[2] <= 1970 * mm && 1740 * mm <= mr[0] && mr[0] <= 2620 * mm )
1536 if ( 1740 * mm <= mr[0] && mr[0] < 1770 * mm )
1541 if ( 1770 * mm <= mr[0] && mr[0] < 1810 * mm )
1546 if ( 1810 * mm <= mr[0] && mr[0] < 1840 * mm )
1551 if ( 1840 * mm <= mr[0] && mr[0] < 1880 * mm )
1556 if ( 1880 * mm <= mr[0] && mr[0] < 1910 * mm )
1561 if ( 1910 * mm <= mr[0] && mr[0] < 1950 * mm )
1566 if ( 1950 * mm <= mr[0] && mr[0] < 1990 * mm )
1571 if ( 1990 * mm <= mr[0] && mr[0] < 2030 * mm )
1576 if ( 2030 * mm <= mr[0] && mr[0] < 2070 * mm )
1581 if ( 2070 * mm <= mr[0] && mr[0] < 2110 * mm )
1586 if ( 2110 * mm <= mr[0] && mr[0] < 2190 * mm )
1591 if ( 2190 * mm <= mr[0] && mr[0] < 2230 * mm )
1596 if ( 2230 * mm <= mr[0] && mr[0] < 2310 * mm )
1601 if ( 2310 * mm <= mr[0] && mr[0] < 2350 * mm )
1606 if ( 2350 * mm <= mr[0] && mr[0] < 2430 * mm )
1611 if ( 2430 * mm <= mr[0] && mr[0] < 2470 * mm )
1616 if ( 2470 * mm <= mr[0] && mr[0] <= 2620 * mm )
1621 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1622 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1623 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1627 if ( 2050 * mm <= mr[2] && mr[2] < 2090 * mm && 1034 * mm <= mr[0] &&
1628 mr[0] <= 2500 * mm )
1633 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1634 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1635 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1639 if ( 2090 * mm <= mr[2] && mr[2] < 2130 * mm && 1067 * mm <= mr[0] &&
1640 mr[0] <= 2500 * mm )
1645 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1646 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1647 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1651 if ( 2130 * mm <= mr[2] && mr[2] < 2170 * mm && 1067 * mm <= mr[0] &&
1652 mr[0] <= 2500 * mm )
1657 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1658 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1659 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1663 if ( 2170 * mm <= mr[2] && mr[2] < 2210 * mm && 1100 * mm <= mr[0] &&
1664 mr[0] <= 2500 * mm )
1669 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1670 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1671 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1675 if ( 2210 * mm <= mr[2] && mr[2] < 2240 * mm && 1100 * mm < mr[0] &&
1676 mr[0] <= 2500 * mm )
1681 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1682 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1683 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1687 if ( 2240 * mm <= mr[2] && mr[2] < 2280 * mm && 1133 * mm <= mr[0] &&
1688 mr[0] <= 2500 * mm )
1693 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1694 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1695 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1699 if ( 2280 * mm <= mr[2] && mr[2] < 2310 * mm && 1133 * mm <= mr[0] &&
1700 mr[0] <= 2500 * mm )
1705 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1706 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1707 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1711 if ( 2310 * mm <= mr[2] && mr[2] < 2350 * mm && 1167 * mm <= mr[0] &&
1712 mr[0] <= 2500 * mm )
1717 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1718 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1719 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1723 if ( 2350 * mm <= mr[2] && mr[2] < 2380 * mm && 1167 * mm <= mr[0] &&
1724 mr[0] <= 2500 * mm )
1729 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1730 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1731 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1735 if ( 2380 * mm <= mr[2] && mr[2] < 2420 * mm && 1203 * mm <= mr[0] &&
1736 mr[0] <= 2500 * mm )
1741 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1742 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1743 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1747 if ( 2420 * mm <= mr[2] && mr[2] < 2470 * mm && 1203 * mm <= mr[0] &&
1748 mr[0] <= 2500 * mm )
1753 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1754 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1755 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1759 if ( 2470 * mm <= mr[2] && mr[2] < 2510 * mm && 1241 * mm <= mr[0] &&
1760 mr[0] <= 2500 * mm )
1765 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1766 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1767 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1771 if ( 2510 * mm <= mr[2] && mr[2] < 2590 * mm && 1241 * mm <= mr[0] &&
1772 mr[0] <= 2500 * mm )
1777 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1778 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1779 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1783 if ( 2590 * mm <= mr[2] && mr[2] < 2630 * mm && 1302 * mm <= mr[0] &&
1784 mr[0] <= 2500 * mm )
1789 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1790 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1791 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1795 if ( 2630 * mm <= mr[2] && mr[2] < 2710 * mm && 1302 * mm <= mr[0] &&
1796 mr[0] <= 2500 * mm )
1801 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1802 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1803 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1807 if ( 2710 * mm <= mr[2] && mr[2] < 2750 * mm && 1362 * mm <= mr[0] &&
1808 mr[0] <= 2500 * mm )
1813 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1814 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1815 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1819 if ( 2750 * mm <= mr[2] && mr[2] <= 2800 * mm && 1302 * mm <= mr[0] &&
1820 mr[0] <= 2500 * mm )
1825 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1826 b[0] = tb[0] *
cos(
pi / 4 ) - tb[1] *
sin(
pi / 4 );
1827 b[1] = tb[0] *
sin(
pi / 4 ) + tb[1] *
cos(
pi / 4 );
1832 if (
pi / 4 <= theta && theta < 3 *
pi / 8 )
1834 mr[0] = fabs( r.x() ) *
cos(
pi / 4 ) + fabs( r.y() ) *
sin(
pi / 4 );
1835 mr[1] = fabs( r.x() ) *
sin(
pi / 4 ) - fabs( r.y() ) *
cos(
pi / 4 );
1836 mr[2] = fabs( r.z() );
1837 if ( mr[2] <= 1970 * mm && 1740 * mm <= mr[0] && mr[0] <= 2620 * mm )
1840 if ( 1740 * mm <= mr[0] && mr[0] < 1770 * mm )
1845 if ( 1770 * mm <= mr[0] && mr[0] < 1810 * mm )
1850 if ( 1810 * mm <= mr[0] && mr[0] < 1840 * mm )
1855 if ( 1840 * mm <= mr[0] && mr[0] < 1880 * mm )
1860 if ( 1880 * mm <= mr[0] && mr[0] < 1910 * mm )
1865 if ( 1910 * mm <= mr[0] && mr[0] < 1950 * mm )
1870 if ( 1950 * mm <= mr[0] && mr[0] < 1990 * mm )
1875 if ( 1990 * mm <= mr[0] && mr[0] < 2030 * mm )
1880 if ( 2030 * mm <= mr[0] && mr[0] < 2070 * mm )
1885 if ( 2070 * mm <= mr[0] && mr[0] < 2110 * mm )
1890 if ( 2110 * mm <= mr[0] && mr[0] < 2190 * mm )
1895 if ( 2190 * mm <= mr[0] && mr[0] < 2230 * mm )
1900 if ( 2230 * mm <= mr[0] && mr[0] < 2310 * mm )
1905 if ( 2310 * mm <= mr[0] && mr[0] < 2350 * mm )
1910 if ( 2350 * mm <= mr[0] && mr[0] < 2430 * mm )
1915 if ( 2430 * mm <= mr[0] && mr[0] < 2470 * mm )
1920 if ( 2470 * mm <= mr[0] && mr[0] <= 2620 * mm )
1925 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1926 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1927 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1931 if ( 2050 * mm <= mr[2] && mr[2] < 2090 * mm && 1034 * mm <= mr[0] &&
1932 mr[0] <= 2500 * mm )
1937 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1938 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1939 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1943 if ( 2090 * mm <= mr[2] && mr[2] < 2130 * mm && 1067 * mm <= mr[0] &&
1944 mr[0] <= 2500 * mm )
1949 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1950 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1951 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1955 if ( 2130 * mm <= mr[2] && mr[2] < 2170 * mm && 1067 * mm <= mr[0] &&
1956 mr[0] <= 2500 * mm )
1961 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1962 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1963 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1967 if ( 2170 * mm <= mr[2] && mr[2] < 2210 * mm && 1100 * mm <= mr[0] &&
1968 mr[0] <= 2500 * mm )
1973 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1974 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1975 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1979 if ( 2210 * mm <= mr[2] && mr[2] < 2240 * mm && 1100 * mm < mr[0] &&
1980 mr[0] <= 2500 * mm )
1985 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1986 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1987 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
1991 if ( 2240 * mm <= mr[2] && mr[2] < 2280 * mm && 1133 * mm <= mr[0] &&
1992 mr[0] <= 2500 * mm )
1997 m_Mucfield->getMucField( part, layer, mat, mr, tb );
1998 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
1999 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2003 if ( 2280 * mm <= mr[2] && mr[2] < 2310 * mm && 1133 * mm <= mr[0] &&
2004 mr[0] <= 2500 * mm )
2009 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2010 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2011 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2015 if ( 2310 * mm <= mr[2] && mr[2] < 2350 * mm && 1167 * mm <= mr[0] &&
2016 mr[0] <= 2500 * mm )
2021 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2022 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2023 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2027 if ( 2350 * mm <= mr[2] && mr[2] < 2380 * mm && 1167 * mm <= mr[0] &&
2028 mr[0] <= 2500 * mm )
2033 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2034 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2035 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2039 if ( 2380 * mm <= mr[2] && mr[2] < 2420 * mm && 1203 * mm <= mr[0] &&
2040 mr[0] <= 2500 * mm )
2045 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2046 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2047 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2051 if ( 2420 * mm <= mr[2] && mr[2] < 2470 * mm && 1203 * mm <= mr[0] &&
2052 mr[0] <= 2500 * mm )
2057 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2058 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2059 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2063 if ( 2470 * mm <= mr[2] && mr[2] < 2510 * mm && 1241 * mm <= mr[0] &&
2064 mr[0] <= 2500 * mm )
2069 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2070 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2071 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2075 if ( 2510 * mm <= mr[2] && mr[2] < 2590 * mm && 1241 * mm <= mr[0] &&
2076 mr[0] <= 2500 * mm )
2081 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2082 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2083 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2087 if ( 2590 * mm <= mr[2] && mr[2] < 2630 * mm && 1302 * mm <= mr[0] &&
2088 mr[0] <= 2500 * mm )
2093 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2094 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2095 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2099 if ( 2630 * mm <= mr[2] && mr[2] < 2710 * mm && 1302 * mm <= mr[0] &&
2100 mr[0] <= 2500 * mm )
2105 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2106 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2107 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2111 if ( 2710 * mm <= mr[2] && mr[2] < 2750 * mm && 1362 * mm <= mr[0] &&
2112 mr[0] <= 2500 * mm )
2117 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2118 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2119 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2123 if ( 2750 * mm <= mr[2] && mr[2] <= 2800 * mm && 1302 * mm <= mr[0] &&
2124 mr[0] <= 2500 * mm )
2129 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2130 b[0] = tb[0] *
cos(
pi / 4 ) + tb[1] *
sin(
pi / 4 );
2131 b[1] = tb[0] *
sin(
pi / 4 ) - tb[1] *
cos(
pi / 4 );
2136 if ( 3 *
pi / 8 <= theta && theta <
pi / 2 )
2138 mr[0] = fabs( r.y() );
2139 mr[1] = -fabs( r.x() );
2140 mr[2] = fabs( r.z() );
2141 if ( mr[2] <= 1970 * mm && 1740 * mm <= mr[0] && mr[0] <= 2620 * mm )
2144 if ( 1740 * mm <= mr[0] && mr[0] < 1770 * mm )
2149 if ( 1770 * mm <= mr[0] && mr[0] < 1810 * mm )
2154 if ( 1810 * mm <= mr[0] && mr[0] < 1840 * mm )
2159 if ( 1840 * mm <= mr[0] && mr[0] < 1880 * mm )
2164 if ( 1880 * mm <= mr[0] && mr[0] < 1910 * mm )
2169 if ( 1910 * mm <= mr[0] && mr[0] < 1950 * mm )
2174 if ( 1950 * mm <= mr[0] && mr[0] < 1990 * mm )
2179 if ( 1990 * mm <= mr[0] && mr[0] < 2030 * mm )
2184 if ( 2030 * mm <= mr[0] && mr[0] < 2070 * mm )
2189 if ( 2070 * mm <= mr[0] && mr[0] < 2110 * mm )
2194 if ( 2110 * mm <= mr[0] && mr[0] < 2190 * mm )
2199 if ( 2190 * mm <= mr[0] && mr[0] < 2230 * mm )
2204 if ( 2230 * mm <= mr[0] && mr[0] < 2310 * mm )
2209 if ( 2310 * mm <= mr[0] && mr[0] < 2350 * mm )
2214 if ( 2350 * mm <= mr[0] && mr[0] < 2430 * mm )
2219 if ( 2430 * mm <= mr[0] && mr[0] < 2470 * mm )
2224 if ( 2470 * mm <= mr[0] && mr[0] <= 2620 * mm )
2229 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2235 if ( 2050 * mm <= mr[2] && mr[2] < 2090 * mm && 1034 * mm <= mr[0] &&
2236 mr[0] <= 2500 * mm )
2241 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2247 if ( 2090 * mm <= mr[2] && mr[2] < 2130 * mm && 1067 * mm <= mr[0] &&
2248 mr[0] <= 2500 * mm )
2253 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2259 if ( 2130 * mm <= mr[2] && mr[2] < 2170 * mm && 1067 * mm <= mr[0] &&
2260 mr[0] <= 2500 * mm )
2265 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2271 if ( 2170 * mm <= mr[2] && mr[2] < 2210 * mm && 1100 * mm <= mr[0] &&
2272 mr[0] <= 2500 * mm )
2277 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2283 if ( 2210 * mm <= mr[2] && mr[2] < 2240 * mm && 1100 * mm < mr[0] &&
2284 mr[0] <= 2500 * mm )
2289 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2295 if ( 2240 * mm <= mr[2] && mr[2] < 2280 * mm && 1133 * mm <= mr[0] &&
2296 mr[0] <= 2500 * mm )
2301 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2307 if ( 2280 * mm <= mr[2] && mr[2] < 2310 * mm && 1133 * mm <= mr[0] &&
2308 mr[0] <= 2500 * mm )
2313 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2319 if ( 2310 * mm <= mr[2] && mr[2] < 2350 * mm && 1167 * mm <= mr[0] &&
2320 mr[0] <= 2500 * mm )
2325 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2331 if ( 2350 * mm <= mr[2] && mr[2] < 2380 * mm && 1167 * mm <= mr[0] &&
2332 mr[0] <= 2500 * mm )
2337 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2343 if ( 2380 * mm <= mr[2] && mr[2] < 2420 * mm && 1203 * mm <= mr[0] &&
2344 mr[0] <= 2500 * mm )
2349 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2355 if ( 2420 * mm <= mr[2] && mr[2] < 2470 * mm && 1203 * mm <= mr[0] &&
2356 mr[0] <= 2500 * mm )
2361 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2367 if ( 2470 * mm <= mr[2] && mr[2] < 2510 * mm && 1241 * mm <= mr[0] &&
2368 mr[0] <= 2500 * mm )
2373 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2379 if ( 2510 * mm <= mr[2] && mr[2] < 2590 * mm && 1241 * mm <= mr[0] &&
2380 mr[0] <= 2500 * mm )
2385 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2391 if ( 2590 * mm <= mr[2] && mr[2] < 2630 * mm && 1302 * mm <= mr[0] &&
2392 mr[0] <= 2500 * mm )
2397 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2403 if ( 2630 * mm <= mr[2] && mr[2] < 2710 * mm && 1302 * mm <= mr[0] &&
2404 mr[0] <= 2500 * mm )
2409 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2415 if ( 2710 * mm <= mr[2] && mr[2] < 2750 * mm && 1362 * mm <= mr[0] &&
2416 mr[0] <= 2500 * mm )
2421 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2427 if ( 2750 * mm <= mr[2] && mr[2] <= 2800 * mm && 1302 * mm <= mr[0] &&
2428 mr[0] <= 2500 * mm )
2433 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2443 mr[0] = fabs( r.y() );
2444 mr[1] = -fabs( r.x() );
2445 mr[2] = fabs( r.z() );
2446 if ( mr[2] <= 1970 * mm && 1740 * mm <= mr[0] && mr[0] <= 2620 * mm )
2449 if ( 1740 * mm <= mr[0] && mr[0] < 1770 * mm )
2454 if ( 1770 * mm <= mr[0] && mr[0] < 1810 * mm )
2459 if ( 1810 * mm <= mr[0] && mr[0] < 1840 * mm )
2464 if ( 1840 * mm <= mr[0] && mr[0] < 1880 * mm )
2469 if ( 1880 * mm <= mr[0] && mr[0] < 1910 * mm )
2474 if ( 1910 * mm <= mr[0] && mr[0] < 1950 * mm )
2479 if ( 1950 * mm <= mr[0] && mr[0] < 1990 * mm )
2484 if ( 1990 * mm <= mr[0] && mr[0] < 2030 * mm )
2489 if ( 2030 * mm <= mr[0] && mr[0] < 2070 * mm )
2494 if ( 2070 * mm <= mr[0] && mr[0] < 2110 * mm )
2499 if ( 2110 * mm <= mr[0] && mr[0] < 2190 * mm )
2504 if ( 2190 * mm <= mr[0] && mr[0] < 2230 * mm )
2509 if ( 2230 * mm <= mr[0] && mr[0] < 2310 * mm )
2514 if ( 2310 * mm <= mr[0] && mr[0] < 2350 * mm )
2519 if ( 2350 * mm <= mr[0] && mr[0] < 2430 * mm )
2524 if ( 2430 * mm <= mr[0] && mr[0] < 2470 * mm )
2529 if ( 2470 * mm <= mr[0] && mr[0] <= 2620 * mm )
2534 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2540 if ( 2050 * mm <= mr[2] && mr[2] < 2090 * mm && 1034 * mm <= mr[0] &&
2541 mr[0] <= 2500 * mm )
2546 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2552 if ( 2090 * mm <= mr[2] && mr[2] < 2130 * mm && 1067 * mm <= mr[0] &&
2553 mr[0] <= 2500 * mm )
2558 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2564 if ( 2130 * mm <= mr[2] && mr[2] < 2170 * mm && 1067 * mm <= mr[0] &&
2565 mr[0] <= 2500 * mm )
2570 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2576 if ( 2170 * mm <= mr[2] && mr[2] < 2210 * mm && 1100 * mm <= mr[0] &&
2577 mr[0] <= 2500 * mm )
2582 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2588 if ( 2210 * mm <= mr[2] && mr[2] < 2240 * mm && 1100 * mm < mr[0] && mr[0] <= 2500 * mm )
2593 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2599 if ( 2240 * mm <= mr[2] && mr[2] < 2280 * mm && 1133 * mm <= mr[0] &&
2600 mr[0] <= 2500 * mm )
2605 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2611 if ( 2280 * mm <= mr[2] && mr[2] < 2310 * mm && 1133 * mm <= mr[0] &&
2612 mr[0] <= 2500 * mm )
2617 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2623 if ( 2310 * mm <= mr[2] && mr[2] < 2350 * mm && 1167 * mm <= mr[0] &&
2624 mr[0] <= 2500 * mm )
2629 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2635 if ( 2350 * mm <= mr[2] && mr[2] < 2380 * mm && 1167 * mm <= mr[0] &&
2636 mr[0] <= 2500 * mm )
2641 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2647 if ( 2380 * mm <= mr[2] && mr[2] < 2420 * mm && 1203 * mm <= mr[0] &&
2648 mr[0] <= 2500 * mm )
2653 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2659 if ( 2420 * mm <= mr[2] && mr[2] < 2470 * mm && 1203 * mm <= mr[0] &&
2660 mr[0] <= 2500 * mm )
2665 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2671 if ( 2470 * mm <= mr[2] && mr[2] < 2510 * mm && 1241 * mm <= mr[0] &&
2672 mr[0] <= 2500 * mm )
2677 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2683 if ( 2510 * mm <= mr[2] && mr[2] < 2590 * mm && 1241 * mm <= mr[0] &&
2684 mr[0] <= 2500 * mm )
2689 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2695 if ( 2590 * mm <= mr[2] && mr[2] < 2630 * mm && 1302 * mm <= mr[0] &&
2696 mr[0] <= 2500 * mm )
2701 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2707 if ( 2630 * mm <= mr[2] && mr[2] < 2710 * mm && 1302 * mm <= mr[0] &&
2708 mr[0] <= 2500 * mm )
2713 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2719 if ( 2710 * mm <= mr[2] && mr[2] < 2750 * mm && 1362 * mm <= mr[0] &&
2720 mr[0] <= 2500 * mm )
2725 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2731 if ( 2750 * mm <= mr[2] && mr[2] <= 2800 * mm && 1302 * mm <= mr[0] &&
2732 mr[0] <= 2500 * mm )
2737 m_Mucfield->getMucField( part, layer, mat, mr, tb );
2744 if ( ifbar ==
true || ifend ==
true )
2746 if ( r.x() < 0. && r.y() >= 0. && r.z() > 0. ) { b[0] = -b[0]; }
2747 else if ( r.x() <= 0. && r.y() < 0. && r.z() > 0. )
2752 else if ( r.x() > 0. && r.y() < 0. && r.z() > 0. ) { b[1] = -b[1]; }
2753 else if ( r.x() >= 0. && r.y() > 0. && r.z() < 0. )
2758 else if ( r.x() < 0. && r.y() >= 0. && r.z() < 0. ) { b[1] = -b[1]; }
2759 else if ( r.x() <= 0. && r.y() < 0. && r.z() < 0. )
2764 else if ( r.x() > 0. && r.y() <= 0. && r.z() < 0. ) { b[0] = -b[0]; }
2769 newb[0] = -b[0] * m_scale;
2770 newb[1] = b[1] * m_scale;
2771 newb[2] = -b[2] * m_scale;
2786 return StatusCode::SUCCESS;