1310 {
1311
1312
1313 {
1314 SoMaterial *
m =
new SoMaterial;
1315 m->ambientColor.setValue(1, .4, .4);
1316 m->diffuseColor.setValue(1, .4, .4);
1317 m->specularColor.setValue(0.441667, 0.441667, 0.441667);
1318 m->shininess.setValue(0.67);
1319 add(
"LAr::Barrel::Cryostat::Cylinder::#4",m);
1320 add(
"LAr::Barrel::Cryostat::Cylinder::#5",m);
1321 add(
"LAr::Barrel::Cryostat::Cylinder::#6",m);
1322 add(
"LAr::Barrel::Cryostat::Cylinder::#7",m);
1323 add(
"LAr::Barrel::Cryostat::Cylinder::#8",m);
1324 add(
"LAr::Barrel::Cryostat::Cylinder::#9",m);
1325 add(
"LAr::Barrel::Cryostat::InnerWall",m);
1326 add(
"LAr::Barrel::Cryostat::InnerEndWall",m);
1327 add(
"LAr::Barrel::Cryostat::Leg",m);
1328 }
1329
1330 {
1331
1332 SoMaterial *
m =
new SoMaterial;
1333 m->ambientColor.setValue(.4, .4, 1);
1334 m->diffuseColor.setValue(.4, .4, 1);
1335 m->specularColor.setValue(0.441667, 0.441667, 0.441667);
1336 m->shininess.setValue(0.67);
1337 add(
"LAr::Barrel::Cryostat::Cylinder::#0",m);
1338 add(
"LAr::Barrel::Cryostat::Cylinder::#1",m);
1339 add(
"LAr::Barrel::Cryostat::Cylinder::#2",m);
1340 add(
"LAr::Barrel::Cryostat::Cylinder::#3",m);
1341 add(
"LAr::Barrel::Cryostat::Ear",m);
1342 add(
"LAr::Barrel::Cryostat::OuterWall",m);
1343 }
1344
1345 {
1346 SoMaterial *
m =
new SoMaterial;
1347 m->diffuseColor.setValue (1, 1, 0.5);
1348 m->ambientColor.setValue (0.54, 0.54, 0.27);
1349 m->emissiveColor.setValue (0.133, 0.133, 0.067);
1351 add(
"bcmWallLog",m);
1352 }
1353
1354
1355
1356 {
1357
1358 SoMaterial *
m =
new SoMaterial;
1359
1361 m->shininess.setValue(0.67);
1362 add(
"LAr::EMEC::Mother",m);
1363 }
1364 {
1365
1366 SoMaterial *
m =
new SoMaterial;
1368
1369 m->shininess.setValue(0.67);
1370 add(
"LAr::HEC::LiquidArgon",m);
1371 }
1372 {
1373
1374 SoMaterial *
m =
new SoMaterial;
1376 m->shininess.setValue(0.67);
1377 add(
"LAr::FCAL::LiquidArgonC",m);
1378 add(
"LAr::FCAL::LiquidArgonA",m);
1379 }
1380
1381 {
1382
1383 SoMaterial *
m =
new SoMaterial;
1385 m->shininess.setValue(0.67);
1386 add(
"TRTEndcapWheelAB",m);
1387 add(
"TRTBarrel",m);
1388 }
1389
1390 {
1391
1392 SoMaterial *
m =
new SoMaterial;
1393
1395 m->shininess.setValue(0.67);
1396 add(
"SCT_Barrel",m);
1397 add(
"SCT_ForwardA",m);
1398 add(
"SCT_ForwardC",m);
1399 }
1400
1401
1402
1403 {
1404 SoMaterial *
m =
new SoMaterial;
1406 m->shininess.setValue(0.67);
1407
1409 }
1410
1411
1412
1413 {
1414 SoMaterial *
m =
new SoMaterial;
1419 m->shininess.setValue(0.5);
1420
1421
1422 add(
"InnerBarrelSingleMod_Sensor",m);
1423 add(
"InnerBarrelSingleMod_DeadVolume",m);
1424 add(
"InnerBarrelSingleMod_Chip",m);
1425 add(
"InnerBarrelSingleMod_Bonding",m);
1426
1427 add(
"InnerBarrelQuadMod_Sensor",m);
1428 add(
"InnerRingSingleMod_Chip",m);
1429
1430 add(
"InnerRingSingleMod_Sensor",m);
1431 add(
"InnerRingSingleMod_Bonding",m);
1432
1433 add(
"InnerEndcapQuadMod_Sensor",m);
1434
1435 add(
"InnerQuadMod_Chip",m);
1436 add(
"InnerQuadMod_Bonding",m);
1437
1438 add(
"OuterBarrelQuadMod_Sensor",m);
1439 add(
"InclinedQuadMod_Sensor",m);
1440
1441 add(
"OuterEndcapQuadMod_Sensor",m);
1442
1443 add(
"OuterQuadMod_Chip",m);
1444 add(
"OuterQuadMod_Bonding",m);
1445
1446 }
1447
1448
1449 {
1450 SoMaterial *
m =
new SoMaterial;
1455
1456
1457 add(
"BRLSensorSS",m);
1458 add(
"BRLSensorMS",m);
1459
1460
1461 add(
"ECSensor0",m);
1462 add(
"ECSensor1",m);
1463 add(
"ECSensor2",m);
1464 add(
"ECSensor3",m);
1465 add(
"ECSensor4",m);
1466 add(
"ECSensor5",m);
1467
1468 add(
"ECSensorBack0",m);
1469 add(
"ECSensorBack1",m);
1470 add(
"ECSensorBack2",m);
1471 add(
"ECSensorBack3",m);
1472 add(
"ECSensorBack4",m);
1473 add(
"ECSensorBack5",m);
1474
1475 }
1476
1477
1478 {
1479 SoMaterial *
m =
new SoMaterial;
1484 m->shininess.setValue(0.5);
1485
1486 m->transparency.setValue(0.6);
1487
1488
1489
1490 add(
"InnerBarrelSingleMod_Pigtail",m);
1491
1492 add(
"InnerQuadMod_QuadPigtail",m);
1493 add(
"InnerQuadMod_QuadFlex",m);
1494
1495 add(
"OuterQuadMod_QuadFlex",m);
1496
1497
1498
1499 add(
"InnerPixelBarrel_T0",m);
1500 add(
"InnerPixEndcap_L0T0Back_ring",m);
1501 add(
"InnerPixEndcap_L1T0Front_ring",m);
1502 add(
"InnerPixEndcap_L1T0Back_ring",m);
1503 add(
"InnerPixEndcap_L2T0Front_ring",m);
1504 add(
"InnerPixEndcap_L2T0Back_ring",m);
1505
1506 add(
"L2HalfRingEndCapBusTapeRing",m);
1507 add(
"L3HalfRingEndCapBusTapeRing",m);
1508 add(
"L4endcapBusTape",m);
1509
1510
1511 unsigned int sectors = 9;
1512 std::vector<unsigned int>
layers = {2, 3, 4};
1513 for (auto& layer : layers) {
1514 for (unsigned int sector = 0; sector<sectors; sector++) {
1515 std::string volumeName = "Pixel__ModuleSvcM" + std::to_string(sectors-sector) + "_L" + std::to_string(layer) + "_S" + std::to_string(sector);
1517 }
1518 }
1519 add(
"PixelSvcBrlT1_L2",m);
1520 add(
"PixelSvcBrlT1_L3",m);
1521 add(
"PixelSvcBrlT1_L4in",m);
1522 add(
"PixelSvcBrlT1_L4out",m);
1523 for (unsigned int sector = 0; sector<sectors; sector++) {
1524 std::string volumeName = "PixelSvcBrlT1_Radial" + std::to_string(sectors-sector);
1526 }
1527
1528 add(
"svcEcT1_r199_z103",m);
1529 add(
"svcEcT1_r199_z116",m);
1530 add(
"svcEcT1_r199_z127",m);
1531 add(
"svcEcT1_r199_z141",m);
1532 add(
"svcEcT1_r199_z1366",m);
1533 add(
"svcEcT1_r198_z172",m);
1534 add(
"svcEcT1_r198_z190",m);
1535 add(
"svcEcT1_r198_z210",m);
1536 add(
"svcEcT1_r198_z232",m);
1537 add(
"svcEcT1_r198_z257",m);
1538 add(
"svcEcT1_r198_z149",m);
1539
1540 add(
"svcEcT1_r259_z151",m);
1541 add(
"svcEcT1_r259_z176",m);
1542 add(
"svcEcT1_r259_z203",m);
1543 add(
"svcEcT1_r259_z234",m);
1544 add(
"svcEcT1_r259_z270",m);
1545 add(
"svcEcT1_r259_z311",m);
1546 add(
"svcEcT1_r259_z359",m);
1547 add(
"svcEcT1_r259_z149",m);
1548
1549 add(
"svcEcT1_r319_z131",m);
1550 add(
"svcEcT1_r319_z150",m);
1551 add(
"svcEcT1_r319_z170",m);
1552 add(
"svcEcT1_r319_z192",m);
1553 add(
"svcEcT1_r319_z218",m);
1554 add(
"svcEcT1_r319_z246",m);
1555 add(
"svcEcT1_r319_z746",m);
1556 add(
"svcEcT1_r318_z317",m);
1557 add(
"svcEcT1_r318_z149",m);
1558
1559 add(
"SvcEcT0TwdBS_r156_199_z.5",m);
1560 add(
"SvcEcT0TwdBS_r156_198_z.5",m);
1561 add(
"SvcEcT0TwdBS_r199_199_z.5",m);
1562 add(
"SvcEcT0TwdBS_r216_259_z.5",m);
1563 add(
"SvcEcT0TwdBS_r276_319_z.5",m);
1564 add(
"SvcEcT0TwdBS_r276_318_z.5",m);
1565 add(
"SvcEcT0TwdBS_r318_319_z.5",m);
1566
1567 add(
"SvcEc_r196.7_197.1_z78.6",m);
1568 add(
"SvcEc_r196.7_197.1_z97.6",m);
1569 add(
"SvcEc_r196.7_197.1_z121.2",m);
1570 add(
"SvcEc_r196.7_197.1_z150.3",m);
1571 add(
"SvcEc_r196.7_197.1_z186.7",m);
1572 add(
"SvcEc_r196.7_197.1_z23.3",m);
1573 add(
"SvcEc_r337.8_338.2_z1939.2",m);
1574
1575
1576 add(
"SvcEc_r264.4_264.8_z58.1",m);
1577 add(
"SvcEc_r264.4_264.8_z66.6",m);
1578 add(
"SvcEc_r264.4_264.8_z76.4",m);
1579 add(
"SvcEc_r264.4_264.8_z87.5",m);
1580 add(
"SvcEc_r264.4_264.8_z100.3",m);
1581 add(
"SvcEc_r264.4_264.8_z115",m);
1582 add(
"SvcEc_r264.4_264.8_z131.9",m);
1583 add(
"SvcEc_r264.4_264.8_z30.9",m);
1584 add(
"SvcEc_r338.8_339.2_z1937.2",m);
1585
1586 add(
"SvcEc_r327.3_327.7_z52.7",m);
1587 add(
"SvcEc_r327.3_327.7_z58.8",m);
1588 add(
"SvcEc_r327.3_327.7_z65.6",m);
1589 add(
"SvcEc_r327.3_327.7_z73.1",m);
1590 add(
"SvcEc_r327.3_327.7_z81.7",m);
1591 add(
"SvcEc_r327.3_327.7_z91.1",m);
1592 add(
"SvcEc_r327.3_327.7_z101.6",m);
1593 add(
"SvcEc_r327.3_327.7_z113.4",m);
1594 add(
"SvcEc_r327.3_327.7_z34.7",m);
1595 add(
"SvcEc_r339.8_340.2_z1935.2",m);
1596
1597 add(
"SvcEc_r197.1_202.8_z.4",m);
1598 add(
"SvcEc_r203.2_263.4_z.4",m);
1599 add(
"SvcEc_r264.8_270.8_z.4",m);
1600 add(
"SvcEc_r271.2_326.3_z.4",m);
1601 add(
"SvcEc_r326.7_327.3_z.4",m);
1602 add(
"SvcEc_r327.7_333.8_z.4",m);
1603 add(
"SvcEc_r334.2_337.3_z.4",m);
1604 add(
"SvcEc_r337.7_337.8_z.4",m);
1605 add(
"SvcEc_r338.2_338.3_z.4",m);
1606 add(
"SvcEc_r338.7_338.8_z.4",m);
1607 add(
"SvcEc_r339.2_339.3_z.4",m);
1608 add(
"SvcEc_r339.7_339.8_z.4",m);
1609
1610
1611
1612
1613 add(
"InnerPixelBarrelCoolingL0",m);
1614 add(
"InnerPixelBarrelCoolingL1",m);
1615
1616 add(
"OuterQuadMod_Cell",m);
1617 add(
"LongeronCoolingTube",m);
1618 add(
"L2HalfRingCoolingPipe",m);
1619 add(
"L3HalfRingCoolingPipe",m);
1620 add(
"L4endcapcoolingpipe",m);
1621
1622 }
1623
1624
1625 {
1626 SoMaterial *
m =
new SoMaterial;
1631 m->transparency.setValue(0.5);
1632
1633 add (
"SV_Barrel01",m);
1634 add (
"SV_Barrel12",m);
1635 add (
"SV_Barrel23",m);
1636 add (
"SV_Barrel3Out",m);
1637 add (
"SV_BarrelPastEndcap",m);
1638 add (
"SV_BarrelAtEC_lv",m);
1639 add (
"SV_Barrel_lv",m);
1640 add (
"SV_Endcap_lv",m);
1641 add (
"SV_Endcap01",m);
1642 add (
"SV_Endcap12",m);
1643 add (
"SV_Endcap23",m);
1644 add (
"SV_Endcap34",m);
1645 add (
"SV_Endcap45",m);
1646 add (
"SV_Endcap5Out",m);
1647 add(
"SVatBulkhead_lv",m);
1648 add(
"StaveSignalSS",m);
1649 add(
"StaveGround",m);
1650
1651 }
1652
1653
1654 {
1655 SoMaterial *
m =
new SoMaterial;
1660 m->shininess.setValue(0.5);
1661
1662 m->transparency.setValue(0.6);
1663
1666 add(
"InnerPixBarrelSupport_Stave",m);
1667 add(
"InnerPixBarrelSupport_Stave1",m);
1668 add(
"InnerPixBarrelSupport_Global",m);
1669 add(
"InnerPixEndcap_CoupledRingSupport",m);
1670 add(
"InnerPixEndcap_IntermediateRingSupport",m);
1671 add(
"InnerPixEndcap_L1RingSupport",m);
1672 add(
"QuarterShell",m);
1673
1674 add(
"InclL2HalfShell",m);
1675 add(
"InclL2Support",m);
1676 add(
"InclL3HalfShell",m);
1677 add(
"InclL3Support",m);
1678 add(
"InclL4HalfShell",m);
1679 add(
"InclL4Support",m);
1680 add(
"LongeronCornerBase",m);
1681 add(
"LongeronCornerEnd",m);
1682 add(
"LongeronTrussWall",m);
1683 add(
"LongeronCapBase",m);
1684 add(
"LongeronTopCap",m);
1685 add(
"L2HalfRingCarbonFoamInner",m);
1686 add(
"L2HalfRingCarbonFoamOuter",m);
1687 add(
"L2HalfRingFaceSheet",m);
1688 add(
"L3HalfRingCarbonFoamInner",m);
1689 add(
"L3HalfRingCarbonFoamOuter",m);
1690 add(
"L3HalfRingFaceSheet",m);
1691 add(
"L4endcapinnerCarbonFoam",m);
1692 add(
"L4endcapouterCarbonFoam",m);
1693 add(
"L4endcapFaceSheet",m);
1694 add(
"L2HalfShell",m);
1695 add(
"L3HalfShell",m);
1696 add(
"L4HalfShell",m);
1697 add(
"L2HalfRingEndCapFixingLug",m);
1698 add(
"L3HalfRingEndCapFixingLug",m);
1699 add(
"HalfRingEndCapFixingLug",m);
1700
1701
1702 add(
"FrontSupportFacing",m);
1703 add(
"FrontSupportCore",m);
1704 add(
"RearSupport",m);
1705 }
1706
1707
1708 {
1709 SoMaterial *
m =
new SoMaterial;
1714 m->transparency.setValue(0.5);
1715
1716 add(
"StripB_Cyl0",m);
1717 add(
"StripB_Cyl1",m);
1718 add(
"StripB_Cyl2",m);
1719 add(
"StripB_Cyl3",m);
1720 add(
"StripB_Cyl4",m);
1721 add(
"StaveCylHat0",m);
1722 add(
"StaveCylHat1",m);
1723 add(
"StaveCylHat2",m);
1724 add(
"StaveCylHat3",m);
1729 add(
"Interlink0",m);
1730 add(
"Interlink1",m);
1731 add(
"Interlink2",m);
1732 add(
"Interlink3",m);
1733 add(
"WheelInnerT",m);
1734 add(
"WheelOuterT",m);
1739 add(
"EC_InnerCyl",m);
1740 add(
"OCFlangeTop",m);
1741 add(
"OCFlangeFoot",m);
1743 add(
"OCHatWall",m);
1744 add(
"OCHatFoot",m);
1745 add(
"PetalCore",m);
1746 add(
"BladeFace",m);
1747 add(
"BladeSideRod",m);
1748 add(
"BladeCore",m);
1749 add(
"LockBaseL",m);
1750 add(
"LockBaseH",m);
1752 add(
"RailWedge",m);
1754 add(
"RailWheel",m);
1755 add(
"RailShelf",m);
1756 add(
"RailSquare",m);
1757 add(
"RailSquareT",m);
1758 add(
"RailSquare1",m);
1759 add(
"OCMountPadOuter",m);
1760 add(
"OCMountPadMiddle",m);
1761 add(
"OCMountPadInner",m);
1762 add(
"ZtubeD0D1",m);
1763 add(
"ZtubeD1D2",m);
1764 add(
"ZtubeD2D3",m);
1765 add(
"ZtubeD3D4",m);
1766 add(
"ZtubeD4D5",m);
1767 add(
"StiffDiscAve",m);
1769 add(
"StaveFacesheetAll",m);
1771 add(
"StaveEOS_CFoam",m);
1772 add(
"StaveBusGlue",m);
1773 add(
"StaveCloseoutEOS_End",m);
1774 add(
"StaveCoreMS",m);
1775 add(
"StaveCoreSS",m);
1776 add(
"StaveMountC",m);
1777 add(
"StaveMountI",m);
1778 add(
"StaveMountE",m);
1779
1780 }
1781
1782
1783 {
1784 SoMaterial *
m =
new SoMaterial;
1789 m->shininess.setValue(1);
1791 add(
"PolyMod_InnerLayer",m);
1792 add(
"InnerPolyMod",m);
1793 add(
"InnerPolyMod_InnerLayer",m);
1794 }
1795
1796
1797
1798 {
1799 SoMaterial *
m =
new SoMaterial;
1800 m->transparency.setValue(1.0);
1801 add(
"StaveCchannelAirEOS",m);
1802 add(
"StaveCchannelAirLong",m);
1803 add(
"StaveCchannelAirLongEOS",m);
1804 add(
"PetalCloseoutShortSpace",m);
1805 add(
"PetalCloseoutLongSpace",m);
1806 }
1807
1808 {
1809 SoMaterial *
m =
new SoMaterial;
1812 m->transparency.setValue(0.7);
1813 add(
"SealPlate",m);
1814 }
1815
1816 {
1817 SoMaterial *
m =
new SoMaterial;
1822 m->shininess.setValue(0.45);
1823
1824 add(
"HGTDSiSensorPosL0", m);
1825 add(
"HGTDSiSensorPosL1", m);
1826 add(
"HGTDSiSensorPosL2", m);
1827 add(
"HGTDSiSensorPosL3", m);
1828 add(
"HGTDSiSensorNegL0", m);
1829 add(
"HGTDSiSensorNegL1", m);
1830 add(
"HGTDSiSensorNegL2", m);
1831 add(
"HGTDSiSensorNegL3", m);
1832 add(
"HGTDLGADInactive", m);
1834 }
1835
1836
1837 {
1838 SoMaterial *
m =
new SoMaterial;
1842 m->shininess.setValue(0.35);
1843
1844 add(
"HGTDFlexPackage", m);
1845 add(
"HGTDHybrid", m);
1846 for (
int i = 0;
i <= 7; ++
i) {
1847 add(
"HGTDFlexTube" + std::to_string(i), m);
1848 }
1849 }
1850
1851
1852 {
1853 SoMaterial *
m =
new SoMaterial;
1856 m->shininess.setValue(0.2);
1857
1858 add(
"HGTDGlueSensor", m);
1859 add(
"HGTDGlueAsic", m);
1860 }
1861
1862
1863 {
1864 SoMaterial *
m =
new SoMaterial;
1868 m->transparency.setValue(0.20);
1869 m->shininess.setValue(0.30);
1870
1871 add(
"HGTDSupportPlate", m);
1872 add(
"HGTDCoolingPlate", m);
1873 add(
"HGTDFrontCover", m);
1874 add(
"HGTDBackCover", m);
1875 add(
"HGTDOuterRCover", m);
1876 add(
"HGTDInnerRCover1", m);
1877 add(
"HGTDInnerRCover2", m);
1878 add(
"HGTDInnerRCover3", m);
1879 }
1880
1881
1882 {
1883 SoMaterial *
m =
new SoMaterial;
1887 m->shininess.setValue(0.55);
1888
1889 for (
int i = 0;
i <= 41; ++
i) {
1890 add(
"HGTDCoolingTube_" + std::to_string(i), m);
1891 }
1892 }
1893
1894
1895 {
1896 SoMaterial *
m =
new SoMaterial;
1900 m->transparency.setValue(0.45);
1901
1902 for (
int i = 0;
i <= 41; ++
i) {
1903 add(
"HGTDCoolingTubeFluid_" + std::to_string(i), m);
1904 }
1905 }
1906
1907
1908 {
1909 SoMaterial *
m =
new SoMaterial;
1913 m->shininess.setValue(0.25);
1914
1915 add(
"HGTDPeripheralCoolingLines", m);
1916 add(
"support_F_vol", m);
1917 add(
"support_B_vol", m);
1918 add(
"PowerBlock_F1_vol", m);
1919 add(
"PowerBlock_F2_vol", m);
1920 add(
"PowerBlock_F3_vol", m);
1921 add(
"PowerBlock_B1_vol", m);
1922 add(
"PowerBlock_B2_vol", m);
1923 add(
"PowerBlock_B3_vol", m);
1924 add(
"VTRx_F1_vol", m);
1925 add(
"VTRx_F21_vol", m);
1926 add(
"VTRx_F22_vol", m);
1927 }
1928
1930}
void add(const std::string &name, SoMaterial *)
void setColorFromRGB(SoMaterial *mat, const std::string &type, const int r, const int g, const int b)