11 gFieldMap =
new map<string, GField *>;
12 gFieldMgrMap =
new map<string, G4FieldManager *>;
14 GManager gFieldManager(
"GMagneto", verbosity);
15 string pluginPath = string(getenv(
"GEMC")) +
"/lib/";
20 for (
auto &field_definition: field_definition_array) {
21 string name = field_definition.name;
22 string factory = field_definition.gfieldPluginName();
24 cout << field_definition << endl;
26 string pluginName = pluginPath + factory;
28 if (gFieldMap->find(name) == gFieldMap->end()) {
29 (*gFieldMap)[name] = gFieldManager.LoadAndRegisterObjectFromLibrary<
GField>(pluginName);
31 (*gFieldMgrMap)[name] = (*gFieldMap)[name]->create_FieldManager();
Abstract base class representing a magnetic field.
virtual void load_field_definitions(GFieldDefinition gfd)
Sets the field definition for the field.
GMagneto(GOptions *gopts)
Constructs a GMagneto object and loads field definitions from options.
vector< GFieldDefinition > get_GFieldDefinition(GOptions *gopts)