// // $Id: CftChannelGeometryDump_t.cpp,v 1.7 2000/12/05 16:52:19 hobbs Exp $ // // File: CftChannelGeometryDump_t.cpp // Purpose: Dump the CFT channel 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/channel/CftChannelGeometry.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 channel geometry // //////////////////////////////////////////////////////////////////////// CftChannelGeometry* cft_channel = CftChannelGeometry::get_instance(); try { RCP rcp_channel = rcpman->extract("cft_geometry","CftChannelGeometry"); cft_channel->absRefresh(&rcp_channel); } catch(runtime_error mistake) { cerr << "ERROR: " << mistake.what() << endl; return(1); } //////////////////////////////////////////////////////////////////////// // // Print the geometry // //////////////////////////////////////////////////////////////////////// cft_channel->print_geometry(); return 0; }