// // $Id: MaterialGeometry.cpp,v 1.8 2000/12/05 16:52:16 hobbs Exp $ // // File: MaterialGeometry.cc // Purpose: To initialize all D0 detector material geometries // Created: 08-JUN-1998 Harry Melanson // // $Revision: 1.8 $ // // // Include files #include #include #include #include "d0_geometry/material/MaterialGeometry.hpp" #include #include #include #include #include "calorimeter_geometry/material/CalMaterialGeometer.hpp" using namespace edm; using namespace std; // Exception initialization string. Here as static because of shortcoming // in NT compiler for syntax like (with 'std::string whose') // std::string("abcd ") + whose // in constructors. string XMGNotImplemented::_mystring( "MaterialGeometry::build(), No material implemented for " ); // Constructor MaterialGeometry::MaterialGeometry(){} // Build calls each detector material geometry build method void MaterialGeometry::build(edm::RCP* mainrcp) { // // CFT material geometry // if( mainrcp->getBool("useCft") ) { RCP CftRCP = mainrcp->getRCP("CftMaterialGeometry"); CftMaterialGeometer* cft_material = CftMaterialGeometer::get_instance(); cft_material->absRefresh(&CftRCP); } // // SMT material geometry // if( mainrcp->getBool("useSmt") ) { RCP SiRCP = mainrcp->getRCP("SmtMaterialGeometry"); SiMaterialGeometer* si_material = SiMaterialGeometer::make_instance(&SiRCP); } // // Calorimeter material // if( mainrcp->getBool("useCal") ) { RCP CalRCP = mainrcp->getRCP("CalMaterialGeometry"); CalMaterialGeometer* cal_material = CalMaterialGeometer::make_instance(&CalRCP); } // // Cps material // if( mainrcp->getBool("useCps") ) { RCP CpsRCP = mainrcp->getRCP("CpsMaterialGeometry"); CpsMaterialGeometer* cps_material = CpsMaterialGeometer::get_instance(); cps_material->absRefresh(&CpsRCP); } // // Fps material if( mainrcp->getBool("useFPS") ) { RCP FpsRCP = mainrcp->getRCP("FpsMaterialGeometry"); FPSMaterialGeometer* fps_mat = FPSMaterialGeometer::make_instance(FpsRCP); } // // Muon material /// if( mainrcp->getBool("useMuon") ) { throw XMGNotImplemented("MUON"); } }