// // $Id: silicon_geometry.cpp,v 1.5 2005/11/29 23:46:29 snyder Exp $ // // File: silicon_geometry.cpp // Purpose: // Created: 4-DEC-1998 John D. Hobbs // // $Revision: 1.5 $ // // // Include files #include #include #include #include #include #include "framework/Registry.hpp" #include "framework/Result.hpp" #include "edm/Event.hpp" #include "rcp/RCP.hpp" using namespace fwk; using namespace edm; using namespace std; // Global definitions FWK_REGISTRY_IMPL(silicon_geometry, "$Name: $") // Constructors/Destructors silicon_geometry::silicon_geometry(Context* context): fwk::Package(context) // // Purpose: Initialize the silicon geometry package. // Arguements: // Returns: // { // Get the RCP's... RCP myRCP = packageRCP(); string baseName = myRCP.getString("Base_geometry"); RCP baseRCP = myRCP.getRCP(baseName); string chanName = myRCP.getString("Channel_geometry"); RCP chanRCP = myRCP.getRCP(chanName); string materialName = myRCP.getString("Material_geometry"); RCP materialRCP = myRCP.getRCP(materialName); // Instantiate the base geometry. SiGeometer* theGeometer = SiGeometer::get_instance(); d0_Ref theDetector = SiBaseGeometry::build_default(&baseRCP); theGeometer->refresh(theDetector); // Instantiate the channel geometry SiChannelGeometer::get_instance()->absRefresh(&chanRCP); // Instantiate the material geometry SiMaterialGeometer::make_instance(&materialRCP); } string silicon_geometry::packageName() const // // Purpose: Return the (standardized) package name. // { return package_name(); } // and do it again, this time always accessible. string silicon_geometry::package_name() { return "silicon_geometry"; } string silicon_geometry::version() { return "$Revision: 1.5 $"; }