14#include "TVirtualMC.h"
15#include <fairlogger/Logger.h>
31 auto libHandle = dlopen(libname, RTLD_NOW);
36 stream << libname <<
".so";
37 libHandle = dlopen(
stream.str().c_str(), RTLD_NOW);
42 stream << libname <<
".dylib";
43 libHandle = dlopen(
stream.str().c_str(), RTLD_NOW);
53 LOG(info) <<
"Setting up transport engine from library " << libname;
59 if (strcmp(engine,
"TGeant3") == 0) {
61 }
else if (strcmp(engine,
"TGeant4") == 0) {
63 }
else if (strcmp(engine,
"TFluka") == 0) {
65 }
else if (strcmp(engine,
"MCReplay") == 0) {
67 }
else if (strcmp(engine,
"O2TrivialMCEngine") == 0) {
68 execSetupFromPlugin(
"libO2O2TrivialMCEngineSetup",
"_ZN2o223o2trivialmcengineconfig23O2TrivialMCEngineConfigEv");
70 LOG(fatal) <<
"Unsupported engine " << engine;
79 auto vmc = TVirtualMC::GetMC();
80 if (strcmp(vmc->GetName(),
"TGeant4") == 0) {
typedef void(APIENTRYP PFNGLCULLFACEPROC)(GLenum mode)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void execFromPlugin(const char *libname, const char *funcname)
void execSetupFromPlugin(const char *libname, const char *funcname)
static void setup(const char *engine)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"