Skip to content
Snippets Groups Projects
Commit 3bcefaf2 authored by Andreas Salzburger's avatar Andreas Salzburger
Browse files

adding GDML support for GeantinoRecording

parent cc1e7e42
No related branches found
No related tags found
1 merge request!193WIP: Sphenix v0.13.00
Pipeline #1311789 passed
......@@ -30,20 +30,42 @@ main(int argc, char* argv[])
FW::Options::addSequencerOptions(desc);
FW::Options::addOutputOptions(desc);
FW::Options::addDD4hepOptions(desc);
desc.add_options()("g4-gdml-input",
po::value<std::string>()->default_value(""),
"GDML input file for geometry building.")(
"g4-random-seed1",
po::value<int>()->default_value(536235167),
"Primary random seed for Geant4")(
"g4-random-seed2",
po::value<int>()->default_value(729237523),
"Secondary random seed for Geant4")("mat-recording-tracks",
po::value<int>()->default_value(100),
"Tracks per event for the recording");
// Parse the options
auto vm = FW::Options::parse(desc, argc, argv);
if (vm.empty()) { return EXIT_FAILURE; }
FW::Sequencer g4sequencer(FW::Options::readSequencerConfig(vm));
Acts::GeometryContext geoContext;
size_t nTracks = 100;
int randomSeed1 = 536235167;
int randomSeed2 = 729237523;
Acts::GeometryContext geoContext;
// set up the algorithm writing out the material map
FW::GeantinoRecording::Config g4rConfig;
g4rConfig.tracksPerEvent = nTracks;
g4rConfig.seed1 = randomSeed1;
g4rConfig.seed2 = randomSeed2;
// DETECTOR:
auto gdmlFile = vm["g4-gdml-input"].as<std::string>();
if (not gdmlFile.empty()) {
// --------------------------------------------------------------------------------
// Geant4 detector definition
g4rConfig.gdmlFile = gdmlFile;
} else {
// --------------------------------------------------------------------------------
// DD4Hep detector definition
// read the detector config & dd4hep detector
......@@ -59,7 +81,11 @@ main(int argc, char* argv[])
FW::DD4hepG4::DD4hepToG4Svc::Config dgConfig("DD4hepToG4",
Acts::Logging::INFO);
dgConfig.dd4hepService = geometrySvc;
auto dd4hepToG4Svc = std::make_shared<FW::DD4hepG4::DD4hepToG4Svc>(dgConfig);
auto dd4hepToG4Svc
= std::make_shared<FW::DD4hepG4::DD4hepToG4Svc>(dgConfig);
g4rConfig.geant4Service = dd4hepToG4Svc;
}
// --------------------------------------------------------------------------------
// Geant4 JOB:
......@@ -67,12 +93,6 @@ main(int argc, char* argv[])
// set up the writer for
// ---------------------------------------------------------------------------------
// set up the algorithm writing out the material map
FW::GeantinoRecording::Config g4rConfig;
g4rConfig.geant4Service = dd4hepToG4Svc;
g4rConfig.tracksPerEvent = nTracks;
g4rConfig.seed1 = randomSeed1;
g4rConfig.seed2 = randomSeed2;
// create the geant4 algorithm
auto g4rAlgorithm
= std::make_shared<FW::GeantinoRecording>(g4rConfig, Acts::Logging::INFO);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment