diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx index 13bc73fc0d19f8ca54ee2ab7a5d34db3e95e223f..7af4c7bdd64dd47af5f72eaa8bed6a3cfa04ff54 100755 --- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx +++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC2.cxx @@ -104,13 +104,23 @@ void SCT_ServMatFactoryDC2::create(GeoPhysVol *mother) double rave = 2*innerRadiusOfSCTCables*outerRadiusOfSCTCables/(innerRadiusOfSCTCables+outerRadiusOfSCTCables); double thickness = 988*tapeCrossSection/(2*Gaudi::Units::pi*rave); // We need to scale the density to fit in with space given. - //std::cout << "LMT thickness (Gaudi::Units::mm) = " << thickness/Gaudi::Units::mm << std::endl; double densityfactor = thickness/lengthOfSCTCables; - const GeoElement *copper = m_materialManager->getElement("Copper"); - const GeoMaterial *kapton = m_materialManager->getMaterial("std::Kapton"); + // Based on Elements-00 + GeoElement *copper = new GeoElement("Copper", "Cu", 29., 63.54); + GeoElement *hydrogen = new GeoElement("Hydrogen", "H", 1., 1.00797); + GeoElement *carbon = new GeoElement("Carbon", "C", 6., 12.0112); + GeoElement *nitrogen = new GeoElement("Nitrogen", "N", 7., 14.0067); + GeoElement *oxygen = new GeoElement("Oxygen", "O", 8., 15.9994); + GeoMaterial *kapton = new GeoMaterial("Kapton", 1.46*GeoModelKernelUnits::gram/Gaudi::Units::cm3); + // Based on StdMaterials-02 and StdMatComponents-02 + kapton->add(carbon, 22.); + kapton->add(hydrogen, 10.); + kapton->add(oxygen, 5.); + kapton->add(nitrogen, 2.); + kapton->lock(); GeoMaterial * matCuKapton = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/Gaudi::Units::cm3); - matCuKapton->add(const_cast<GeoElement*>(copper), 0.6142); - matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858); + matCuKapton->add(copper, 0.6142); + matCuKapton->add(kapton, 0.3858); matCuKapton->lock(); sctCablesMaterial = matCuKapton; } else { @@ -268,16 +278,14 @@ const GeoMaterial* SCT_ServMatFactoryDC2::createMaterial(const std::string & nam // Make new material as carbon with density modified to give the right radiation length. - const GeoMaterial* carbonMat= m_materialManager->getMaterial("std::Carbon"); + const GeoMaterial* carbonMat = m_materialManager->getMaterial("std::Carbon"); double radiationLength = thickness / fractionRL; double density = carbonMat->getDensity() * carbonMat->getRadLength() / radiationLength; - GeoMaterial * newMaterial = new GeoMaterial(name, density); - const GeoElement * carbon = m_materialManager->getElement("Carbon"); - newMaterial->add(const_cast<GeoElement *>(carbon),1.); + GeoMaterial* newMaterial = new GeoMaterial(name, density); + GeoElement* carbon = new GeoElement("Carbon", "C", 6., 12.0112); // Based on Elements-00 + newMaterial->add(carbon, 1.); newMaterial->lock(); return newMaterial; } - - diff --git a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx index e5cd089bbb8b7811ff015e6dfc8a6bc2a4cc4a57..d9686cdeb56c2b917a805e96fee8ca83ac68b655 100755 --- a/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx +++ b/InnerDetector/InDetDetDescr/InDetServMatGeoModel/src/SCT_ServMatFactoryDC3.cxx @@ -97,35 +97,6 @@ void SCT_ServMatFactoryDC3::create(GeoPhysVol *mother) double positionOfSCTCooling = 0.5 * ((*tsci)[2]->getDouble("ZMAX")+(*tsci)[2]->getDouble("ZMIN"))*Gaudi::Units::cm; - // For new LMT we get name from SCT table SctFwdServices. - - - // Comment out until SCT updates available. - /* - std::string sctCablesMaterialName = (*sctFwdServices)[0]->getString("POWERTAPEMATERIAL"); - - const GeoMaterial * sctCablesMaterial; - if (sctCablesMaterialName == "sct::CuKapton"){ - // We define it here for now as a quick fix. - - // Thickness of CuK 896 tapes smeared in phi = 0.08575cm - double tapeCrossSection = (*sctFwdServices)[0]->getDouble("POWERTAPECROSSSECT")*Gaudi::Units::mm2; - double rave = 2*innerRadiusOfSCTCables*outerRadiusOfSCTCables/(innerRadiusOfSCTCables+outerRadiusOfSCTCables); - double thickness = 988*tapeCrossSection/(2*Gaudi::Units::pi*rave); - // We need to scale the density to fit in with space given. - //std::cout << "LMT thickness (mm) = " << thickness/Gaudi::Units::mm << std::endl; - double densityfactor = thickness/lengthOfSCTCables; - const GeoElement *copper = m_materialManager->getElement("Copper"); - const GeoMaterial *kapton = m_materialManager->getMaterial("std::Kapton"); - GeoMaterial * matCuKapton = new GeoMaterial("CuKaptoninTRT",densityfactor * 2.94*GeoModelKernelUnits::gram/Gaudi::Units::cm3); - matCuKapton->add(const_cast<GeoElement*>(copper), 0.6142); - matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858); - matCuKapton->lock(); - sctCablesMaterial = matCuKapton; - } else { - sctCablesMaterial = m_materialManager->getMaterial(sctCablesMaterialName); - } - */ std::string sctCablesMaterialName = "trt::SCTCables"; const GeoMaterial * sctCablesMaterial = materialManager()->getMaterial(sctCablesMaterialName); @@ -302,12 +273,10 @@ const GeoMaterial* SCT_ServMatFactoryDC3::createMaterial(const std::string & nam double radiationLength = thickness / fractionRL; double density = carbonMat->getDensity() * carbonMat->getRadLength() / radiationLength; - GeoMaterial * newMaterial = new GeoMaterial(name, density); - const GeoElement * carbon = materialManager()->getElement("Carbon"); - newMaterial->add(const_cast<GeoElement *>(carbon),1.); + GeoMaterial* newMaterial = new GeoMaterial(name, density); + GeoElement* carbon = new GeoElement("Carbon", "C", 6., 12.0112); // Based on Elements-00 + newMaterial->add(carbon, 1.); newMaterial->lock(); return newMaterial; } - - diff --git a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx index 09b44a2e14285d8ef50d18e73a5d7a0ae304435a..b36f72e11de383f19901a7c8d8cd5a6b35985725 100755 --- a/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx +++ b/InnerDetector/InDetDetDescr/SCT_GeoModel/src/SCT_MaterialManager.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration */ #include "SCT_GeoModel/SCT_MaterialManager.h" @@ -59,15 +59,6 @@ SCT_MaterialManager::reinit() void SCT_MaterialManager::loadMaterials() { - //const GeoElement *copper = getElement("Copper"); - - //const GeoMaterial *kapton = getMaterial("std::Kapton"); // 30th Aug 2005 D.Naito added. - - // CuKapton for Low Mass Tapes - //GeoMaterial * matCuKapton = new GeoMaterial("sct::CuKapton",2.94*gram/Gaudi::Units::cm3); - //matCuKapton->add(const_cast<GeoElement*>(copper), 0.6142); - //matCuKapton->add(const_cast<GeoMaterial*>(kapton), 0.3858); - //addMaterial(matCuKapton); } const GeoElement*