File indexing completed on 2024-04-06 12:15:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <memory>
0021 #include <iostream>
0022 #include <fstream>
0023
0024
0025 #include "FWCore/Framework/interface/Frameworkfwd.h"
0026 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0027
0028 #include "FWCore/Framework/interface/Event.h"
0029 #include "FWCore/Framework/interface/EventSetup.h"
0030 #include "FWCore/Framework/interface/ESHandle.h"
0031 #include "FWCore/Framework/interface/MakerMacros.h"
0032
0033 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0034 #include "DetectorDescription/Core/interface/DDCompactView.h"
0035 #include "Geometry/Records/interface/IdealGeometryRecord.h"
0036 #include "DetectorDescription/OfflineDBLoader/interface/GeometryInfoDump.h"
0037
0038 #include "CondFormats/Common/interface/FileBlob.h"
0039 #include "Geometry/Records/interface/GeometryFileRcd.h"
0040 #include "DetectorDescription/Parser/interface/DDLParser.h"
0041 #include "DetectorDescription/Core/interface/DDRoot.h"
0042
0043 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0044
0045 class ExtractXMLFile : public edm::one::EDAnalyzer<> {
0046 public:
0047 explicit ExtractXMLFile(const edm::ParameterSet&);
0048 ~ExtractXMLFile() override;
0049
0050 void beginJob() override {}
0051 void analyze(edm::Event const&, edm::EventSetup const&) override;
0052 void endJob() override {}
0053
0054 private:
0055 std::string label_;
0056 std::string fname_;
0057 edm::ESGetToken<FileBlob, GeometryFileRcd> geomToken_;
0058 };
0059
0060 ExtractXMLFile::ExtractXMLFile(const edm::ParameterSet& iConfig)
0061 : label_(iConfig.getUntrackedParameter<std::string>("label", "")),
0062 fname_(iConfig.getUntrackedParameter<std::string>("fname", "")),
0063 geomToken_(esConsumes<FileBlob, GeometryFileRcd>(edm::ESInputTag("", label_))) {}
0064
0065 ExtractXMLFile::~ExtractXMLFile() {}
0066
0067 void ExtractXMLFile::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
0068 using namespace edm;
0069
0070 std::cout << "Here I am " << std::endl;
0071 edm::ESHandle<FileBlob> gdd = iSetup.getHandle(geomToken_);
0072 std::ofstream f(fname_.c_str());
0073 (*gdd).write(f);
0074 std::cout << "finished" << std::endl;
0075 }
0076
0077 DEFINE_FWK_MODULE(ExtractXMLFile);