gfields
|
The GField framework provides an extensible mechanism for managing magnetic fields in GEMC simulations. It allows users to define, instantiate, and manage various types of magnetic fields, including multipoles fields. The users definitions are external to the framework and are loaded dynamically at runtime through plugins. The framework consists of several core classes:
add_map_parameter
method.The framework supports dynamic loading of field definitions and seamless integration with Geant4 field management.
G4DormandPrince745
.0
for X-axis1
for Y-axis2
for Z-axisTODO
To be completed
virtual void GetFieldValue(const double x[3], double* bfield)
: Computes the magnetic field vector at a given position.G4FieldManager* create_FieldManager()
: Creates a Geant4 field manager for the field. The field manager is created automatically by gemc using G4Mag_UsualEqRhs
and the basic field parameters:void init_parameters(string name, string stepper, double step, string type, int verbosity)
: Initializes field parameters.void add_map_parameter(string key, string value)
: Adds a key-value pair to the field's configuration.string gfieldPluginName()
: Returns the name of the field plugin.bool isField(string name)
: Checks if a field exists.GField* getField(string name)
: Retrieves a field by name.G4FieldManager* getFieldMgr(string name)
: Retrieves a field manager by name.void GetFieldValue(const G4double pos[4], G4double* bfield) const
: Computes the multipole field vector at a given position.The GFields framework is continuously integrated and tested to ensure stability and reliability across updates.