53 int nEvents = setup.options().get<
int>(
"nEvents");
54 auto mcEngine = setup.options().get<std::string>(
"mcEngine");
58 TString dir = getenv(
"VMCWORKDIR");
59 TString geom_dir = dir +
"/Detectors/Geometry/";
60 gSystem->Setenv(
"GEOMPATH", geom_dir.Data());
62 TString tut_configdir = dir +
"/Detectors/gconfig";
63 gSystem->Setenv(
"CONFIG_DIR", tut_configdir.Data());
71 auto outFile = rfm.
format(
"AliceO2_%s.tpc.mc_%i_event.root", mcEngine.c_str(),
nEvents);
74 auto parFile = rfm.format(
"AliceO2_%s.tpc.mc_%i_event.root", mcEngine.c_str(),
nEvents);
79 run->SetName(mcEngine.c_str());
80 run->SetSink(
new FairRootFileSink(outFile.c_str()));
81 FairRuntimeDb* rtdb = run->GetRuntimeDb();
84 run->SetMaterials(
"media.geo");
88 cave->SetGeometryFileName(
"cave.geo");
92 run->SetField(magField);
96 tpc->SetGeoFileName(
"TPCGeometry.root");
102 FairBoxGenerator* boxGen =
new FairBoxGenerator(211, 10);
105 boxGen->SetEtaRange(-0.9, 0.9);
106 boxGen->SetPRange(0.1, 5);
107 boxGen->SetPhiRange(0., 360.);
108 boxGen->SetDebug(kTRUE);
110 primGen->AddGenerator(boxGen);
114 extGen->SetStartEvent(
params.get<
int>(
"startEvent"));
115 primGen->AddGenerator(extGen);
118 run->SetGenerator(primGen);
127 Bool_t kParameterMerged = kTRUE;
128 FairParRootFileIo* parOut =
new FairParRootFileIo(kParameterMerged);
129 parOut->open(parFile.c_str());
130 rtdb->setOutput(parOut);
135 static bool once =
true;
143 std::this_thread::sleep_for(std::chrono::seconds(1));
151 {
"mcEngine", VariantType::String,
"TGeant3", {
"Engine to use"}},
152 {
"nEvents", VariantType::Int, 10, {
"Events to process"}},
153 {
"extKinFile", VariantType::String,
"Kinematics.root", {
"name of kinematics file for event generator from file (when applicable)"}},
154 {
"startEvent", VariantType::Int, 2, {
"Events to skip"}}}};