25 TVirtualGeoConverter *TVirtualGeoConverter::fgGeoConverter = 0;
27 ClassImp(TVirtualGeoConverter);
32 TVirtualGeoConverter::TVirtualGeoConverter(TGeoManager *geom)
33 :TObject(), fGeom(geom)
40 TVirtualGeoConverter::~TVirtualGeoConverter()
51 TVirtualGeoConverter *TVirtualGeoConverter::Instance(TGeoManager *geom)
54 TGeoManager *mgr = geom;
55 if (!mgr) mgr = gGeoManager;
56 if (!fgGeoConverter) {
58 if ((h = gROOT->GetPluginManager()->FindHandler(
"TVirtualGeoConverter"))) {
59 if (h->LoadPlugin() == -1) {
60 ::Error(
"TVirtualGeoConverter::Instance()",
61 "\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
62 "It appears that you are missing or having outdated support for VecGeom package. "
63 "To enable it, configure ROOT with:\n"
64 " -Dvecgeom -DCMAKE_PREFIX_PATH=<vecgeom_prefix_path>/lib/CMake/VecGeom"
65 "\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
68 fgGeoConverter = (TVirtualGeoConverter*)h->ExecPlugin(1,mgr);
71 if (fgGeoConverter) fgGeoConverter->SetGeometry(mgr);
72 return fgGeoConverter;
78 void TVirtualGeoConverter::SetConverter(
const TVirtualGeoConverter *converter)
80 fgGeoConverter = (TVirtualGeoConverter*)converter;