14#include "TVirtualMC.h"
15#include <fairlogger/Logger.h>
20void VMCSeederService::initSeederFunction(
TVirtualMC const* vmc)
22 if (strcmp(vmc->GetName(),
"TGeant3TGeo") == 0) {
24 mSeederFcn = [](TRandom*) {};
25 }
else if (strcmp(vmc->GetName(),
"TGeant4") == 0) {
27 mSeederFcn = geant4Seeder();
29 LOG(fatal) <<
"No Geant4 seeding function installed (VMCSeederService::setGeant4Seeder)";
32 LOG(warn) <<
"Unknown VMC engine or unimplemented VMC seeding function";
33 mSeederFcn = [](TRandom*) {};
38VMCSeederService::VMCSeederService()
40 auto vmc = TVirtualMC::GetMC();
42 LOG(info) <<
"Seeder initializing for " << vmc->GetName();
43 initSeederFunction(vmc);
45 LOG(fatal) <<
" Seeder could not be initialized (no VMC instance found)";
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"