// // $Id: CftMaterialGeometryDump_t.cpp,v 1.7 2000/12/05 16:52:20 hobbs Exp $ // // File: CftMaterialGeometryDump_t.cpp // Purpose: Dump the CFT material geometry // Created: 10-OCT-1997 Harry L. Melanson // // $Revision: 1.7 $ // // // Include files #include #include #include "rcp/RCPManager.hpp" #include "rcp/RCP.hpp" #include "cft_geometry/base/CftGeometer.hpp" #include "cft_geometry/base/CftBaseGeometry.hpp" #include "cft_geometry/material/CftMaterialGeometer.hpp" using namespace std; using edm::RCPManager; using edm::RCP; using namespace dgs; int main() { //////////////////////////////////////////////////////////////////////// // // Build default base geometry // //////////////////////////////////////////////////////////////////////// d0_Ref cft; RCPManager* rcpman = RCPManager::instance(); try { RCP rcp = rcpman->extract("cft_geometry","CftBaseGeometry"); cft = CftBaseGeometry::build_default(&rcp); } catch(runtime_error mistake) { cerr << "ERROR: " << mistake.what() << endl; return(1); } // // Make a const version for Geometer tests // d0_Ref const_cft; const_cft = D0_CONST_REFCONV((CftBaseGeometry)) (cft); //////////////////////////////////////////////////////////////////////// // // Refresh geometer with base geometry // //////////////////////////////////////////////////////////////////////// CftGeometer* cftgm = CftGeometer::get_instance(); cftgm->refresh(const_cft); //////////////////////////////////////////////////////////////////////// // // Build default material geometry // //////////////////////////////////////////////////////////////////////// CftMaterialGeometer* cft_material = CftMaterialGeometer::get_instance(); try { RCP rcp_material = rcpman->extract("cft_geometry","CftMaterialGeometry"); cft_material->absRefresh(&rcp_material); } catch(runtime_error mistake) { cerr << "ERROR: " << mistake.what() << endl; return(1); } //////////////////////////////////////////////////////////////////////// // // Print the geometry // //////////////////////////////////////////////////////////////////////// cft_material->print_geometry(); return 0; }