Public Types | |
typedef std::auto_ptr < DDCompactView > | ReturnType |
Public Member Functions | |
ReturnType | produce (const IdealGeometryRecord &) |
XMLIdealGeometryESProducer (const edm::ParameterSet &) | |
~XMLIdealGeometryESProducer () | |
Private Attributes | |
std::string | label_ |
DDI::Store< DDName, DDI::LogicalPart * > | lpStore_ |
DDI::Store< DDName, DDI::Material * > | matStore_ |
std::string | rootDDName_ |
DDI::Store< DDName, DDRotationMatrix * > | rotStore_ |
DDI::Store< DDName, DDI::Solid * > | solidStore_ |
DDI::Store< DDName, DDI::Specific * > | specStore_ |
Description: <one line="" class="" summary>="">
Implementation: <Notes on="" implementation>="">
Definition at line 51 of file XMLIdealGeometryESProducer.cc.
typedef std::auto_ptr<DDCompactView> XMLIdealGeometryESProducer::ReturnType |
Definition at line 56 of file XMLIdealGeometryESProducer.cc.
XMLIdealGeometryESProducer::XMLIdealGeometryESProducer | ( | const edm::ParameterSet & | iConfig | ) |
Definition at line 83 of file XMLIdealGeometryESProducer.cc.
References edm::ESProducer::setWhatProduced().
: rootDDName_(iConfig.getParameter<std::string>("rootDDName")), label_(iConfig.getParameter<std::string>("label")) { //the following line is needed to tell the framework what // data is being produced setWhatProduced(this); //now do what ever other initialization is needed }
XMLIdealGeometryESProducer::~XMLIdealGeometryESProducer | ( | ) |
Definition at line 94 of file XMLIdealGeometryESProducer.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
XMLIdealGeometryESProducer::ReturnType XMLIdealGeometryESProducer::produce | ( | const IdealGeometryRecord & | iRecord | ) |
Definition at line 109 of file XMLIdealGeometryESProducer.cc.
References DDLParser::clearFiles(), DDLParser::getDDLSAX2FileHandler(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), DDI::Singleton< I >::instance(), label_, DDLParser::parse(), geometryXMLtoCSV::parser, rootDDName_, and DDLSAX2Handler::setUserNS().
{ using namespace edm::es; edm::ESTransientHandle<FileBlob> gdd; iRecord.getRecord<GeometryFileRcd>().get( label_, gdd ); // if ( gdd.isValid() ) { // std::cout << "gdd.isValid()" << std::endl; // if (gdd.product() != 0) { // std::cout << "object address is not zero" << std::endl; // } else { // std::cout << "object address is zero" << std::endl; // } // } else { // std::cout << "gdd is NOT valid" << std::endl; // } DDName ddName(rootDDName_); DDLogicalPart rootNode(ddName); DDRootDef::instance().set(rootNode); ReturnType returnValue(new DDCompactView(rootNode)); DDLParser parser(*returnValue); parser.getDDLSAX2FileHandler()->setUserNS(true); parser.clearFiles(); std::vector<unsigned char>* tb = (*gdd).getUncompressedBlob(); parser.parse(*tb, tb->size()); delete tb; //std::cout << "In XMLIdealGeometryESProducer::produce" << std::endl; returnValue->lockdown(); return returnValue ; }
std::string XMLIdealGeometryESProducer::label_ [private] |
Definition at line 62 of file XMLIdealGeometryESProducer.cc.
Referenced by produce().
Definition at line 67 of file XMLIdealGeometryESProducer.cc.
Definition at line 65 of file XMLIdealGeometryESProducer.cc.
std::string XMLIdealGeometryESProducer::rootDDName_ [private] |
Definition at line 61 of file XMLIdealGeometryESProducer.cc.
Referenced by produce().
Definition at line 69 of file XMLIdealGeometryESProducer.cc.
Definition at line 66 of file XMLIdealGeometryESProducer.cc.
Definition at line 68 of file XMLIdealGeometryESProducer.cc.