// // $Id: D0ChannelGeometry_t.cpp,v 1.7 2000/05/12 20:29:54 hobbs Exp $ // // File: D0ChannelGeometry_t.cpp // Purpose: Tests D0 Channel Geometry // Created: 08-JUN-1998 Harry Melanson // // $Revision: 1.7 $ // // // Include files #include "d0_geometry/base/BaseGeometry.hpp" #include "d0_geometry/channel/ChannelGeometry.hpp" #include #include #include #include #include #include #include #include #include #include // RCP stuff #include #include #include using namespace std; using edm::RCPManager; using edm::RCP; int main(int argc, char **argv) // // Purpose: Test ChannelGeometry // { d0om_init("channelG_testing"); // Base Geometry instantiation... RCPManager* rcpman = RCPManager::instance(); d0_Ref base; try { RCP DefaultRCP = rcpman->extract("d0_geometry","BaseGeometry"); base = BaseGeometry::build_default(&DefaultRCP); } catch(runtime_error mistake) { cerr << "Caught error: " << mistake.what() << endl; return(1); } // Call refresh for the base geometries in case the channel geometries // need them... SiGeometerDecoupler si; d0_Ref sigeom = base->get_silicon(); si.refresh(sigeom); CftGeometerDecoupler cft; d0_Ref cftgeom = base->get_cft(); cft.refresh(cftgeom); CpsGeometerDecoupler cps; d0_Ref cpsgeom = base->get_cps(); cps.refresh(cpsgeom); FPSGeometerDecoupler FPS; d0_Ref FPSgeom = base->get_fps(); FPS.refresh(FPSgeom); // Channel Geometry ChannelGeometry* channel_geom = new ChannelGeometry(); try { RCP mainrcp = rcpman->extract("d0_geometry","ChannelGeometry"); channel_geom->build(&mainrcp); } catch(runtime_error mistake) { cerr << "Caught error: " << mistake.what() << endl; return(1); } catch(const edm::XRCP& x) { cerr << "Caught error: " << x.logMessage() << endl; return(1); } cout << "Get Channel Geometer" << endl; CftChannelGeometry* cft_channel = CftChannelGeometry::get_instance(); CftChannelDoublet* d1 = cft_channel->get_doublet(CFTX1); cout << "doublet CFTX1 nfibers = " << d1->nfibers() << endl; return 0; }