20 explicit GMagneto(
const std::shared_ptr<GOptions>& gopts);
23 using gFieldMap = std::unordered_map<std::string, std::shared_ptr<GField>>;
24 using gFieldMgrMap = std::unordered_map<std::string, std::shared_ptr<G4FieldManager>>;
26 std::shared_ptr<gFieldMap> fields_map;
27 std::shared_ptr<gFieldMgrMap> fields_manager;
35 bool isField(
const std::string& name)
const {
return fields_map->find(name) != fields_map->end(); }
43 std::shared_ptr<GField>
getField(std::string name) {
44 bool not_found = (fields_map->find(name) == fields_map->end());
47 return fields_map->at(name);
56 std::shared_ptr<G4FieldManager>
getFieldMgr(std::string name) {
57 if (fields_manager->find(name) == fields_manager->end()) { log->error(
ERR_WRONG_FIELD_NOT_FOUND,
"GField ", name,
" not found. Exiting."); }
59 return fields_manager->at(name);
Represents a world containing collections of GFields and G4FieldManagers.
std::shared_ptr< G4FieldManager > getFieldMgr(std::string name)
Retrieves a G4FieldManager object by its name.
std::shared_ptr< GField > getField(std::string name)
Retrieves a GField object by its name.
bool isField(const std::string &name) const
Checks if a field with the given name exists.
GMagneto(const std::shared_ptr< GOptions > &gopts)
Constructs a GMagneto object and loads field definitions from options.
#define ERR_WRONG_FIELD_NOT_FOUND