Details: Electromagnetic fields#

[TO BE COMPLETED]

Base class reference#

class FieldBase(*args, **kwargs)[source]#

Bases: GateObject

Base class for electric and magnetic fields.

User input parameters and default values:

  • delta_chord:

    • Default value: 0.001

    • Description: Maximum miss distance between chord and curved trajectory.

  • delta_intersection:

    • Default value: 0.0001

    • Description: Positional accuracy at volume boundaries.

  • delta_one_step:

    • Default value: 0.001

    • Description: Positional accuracy per integration step.

  • max_epsilon_step:

    • Default value: 1e-05

    • Description: Maximum relative integration accuracy.

  • min_epsilon_step:

    • Default value: 1e-07

    • Description: Minimum relative integration accuracy.

  • name (must be provided):

    • Default value: None

  • step_minimum:

    • Default value: 0.01

    • Description: Minimum step size for the chord finder.

  • stepper:

    • Default value: DormandPrince745

    • Description: Integration stepper type. General-purpose (any field): ‘DormandPrince745’ (default), ‘ClassicalRK4’, ‘CashKarpRKF45’, ‘BogackiShampine45’, ‘BogackiShampine23’, ‘DormandPrinceRK56’, ‘DormandPrinceRK78’. Magnetic-only: ‘NystromRK4’, ‘ExactHelixStepper’.

close() None[source]#

Dummy implementation for inherited classes which do not implement this method.

create_field_manager(volume_obj) opengate_core.G4FieldManager[source]#

Construct the field and return a configured G4FieldManager.

property delta_chord[source]#

delta_chord:

  • Default value: 0.001

  • Description: Maximum miss distance between chord and curved trajectory.

property delta_intersection[source]#

delta_intersection:

  • Default value: 0.0001

  • Description: Positional accuracy at volume boundaries.

property delta_one_step[source]#

delta_one_step:

  • Default value: 0.001

  • Description: Positional accuracy per integration step.

property field_changes_energy: bool[source]#

Whether the field changes particle energy (False for magnetic, True for others).

property max_epsilon_step[source]#

max_epsilon_step:

  • Default value: 1e-05

  • Description: Maximum relative integration accuracy.

property min_epsilon_step[source]#

min_epsilon_step:

  • Default value: 1e-07

  • Description: Minimum relative integration accuracy.

refresh_transforms() None[source]#

Recompute and push cached world-to-local transforms after dynamic geometry changes.

property step_minimum[source]#

step_minimum:

  • Default value: 0.01

  • Description: Minimum step size for the chord finder.

property stepper[source]#

stepper:

  • Default value: DormandPrince745

  • Description: Integration stepper type. General-purpose (any field): ‘DormandPrince745’ (default), ‘ClassicalRK4’, ‘CashKarpRKF45’, ‘BogackiShampine45’, ‘BogackiShampine23’, ‘DormandPrinceRK56’, ‘DormandPrinceRK78’. Magnetic-only: ‘NystromRK4’, ‘ExactHelixStepper’.

class MagneticField(*args, **kwargs)[source]#

Bases: FieldBase

Base class for magnetic fields.

User input parameters and default values:

  • delta_chord:

    • Default value: 0.001

    • Description: Maximum miss distance between chord and curved trajectory.

  • delta_intersection:

    • Default value: 0.0001

    • Description: Positional accuracy at volume boundaries.

  • delta_one_step:

    • Default value: 0.001

    • Description: Positional accuracy per integration step.

  • max_epsilon_step:

    • Default value: 1e-05

    • Description: Maximum relative integration accuracy.

  • min_epsilon_step:

    • Default value: 1e-07

    • Description: Minimum relative integration accuracy.

  • name (must be provided):

    • Default value: None

  • step_minimum:

    • Default value: 0.01

    • Description: Minimum step size for the chord finder.

  • stepper:

    • Default value: DormandPrince745

    • Description: Integration stepper type. General-purpose (any field): ‘DormandPrince745’ (default), ‘ClassicalRK4’, ‘CashKarpRKF45’, ‘BogackiShampine45’, ‘BogackiShampine23’, ‘DormandPrinceRK56’, ‘DormandPrinceRK78’. Magnetic-only: ‘NystromRK4’, ‘ExactHelixStepper’.

create_field_manager(volume_obj) opengate_core.G4FieldManager[source]#

Construct the field and return a configured G4FieldManager.

class ElectroMagneticField(*args, **kwargs)[source]#

Bases: FieldBase

Base class for electromagnetic fields (includes pure electric).

User input parameters and default values:

  • delta_chord:

    • Default value: 0.001

    • Description: Maximum miss distance between chord and curved trajectory.

  • delta_intersection:

    • Default value: 0.0001

    • Description: Positional accuracy at volume boundaries.

  • delta_one_step:

    • Default value: 0.001

    • Description: Positional accuracy per integration step.

  • max_epsilon_step:

    • Default value: 1e-05

    • Description: Maximum relative integration accuracy.

  • min_epsilon_step:

    • Default value: 1e-07

    • Description: Minimum relative integration accuracy.

  • name (must be provided):

    • Default value: None

  • step_minimum:

    • Default value: 0.01

    • Description: Minimum step size for the chord finder.

  • stepper:

    • Default value: DormandPrince745

    • Description: Integration stepper type. General-purpose (any field): ‘DormandPrince745’ (default), ‘ClassicalRK4’, ‘CashKarpRKF45’, ‘BogackiShampine45’, ‘BogackiShampine23’, ‘DormandPrinceRK56’, ‘DormandPrinceRK78’. Magnetic-only: ‘NystromRK4’, ‘ExactHelixStepper’.

create_field_manager(volume_obj) opengate_core.G4FieldManager[source]#

Construct the field and return a configured G4FieldManager.

class ElectricField(*args, **kwargs)[source]#

Bases: ElectroMagneticField

Base class for pure electric fields.

User input parameters and default values:

  • delta_chord:

    • Default value: 0.001

    • Description: Maximum miss distance between chord and curved trajectory.

  • delta_intersection:

    • Default value: 0.0001

    • Description: Positional accuracy at volume boundaries.

  • delta_one_step:

    • Default value: 0.001

    • Description: Positional accuracy per integration step.

  • max_epsilon_step:

    • Default value: 1e-05

    • Description: Maximum relative integration accuracy.

  • min_epsilon_step:

    • Default value: 1e-07

    • Description: Minimum relative integration accuracy.

  • name (must be provided):

    • Default value: None

  • step_minimum:

    • Default value: 0.01

    • Description: Minimum step size for the chord finder.

  • stepper:

    • Default value: DormandPrince745

    • Description: Integration stepper type. General-purpose (any field): ‘DormandPrince745’ (default), ‘ClassicalRK4’, ‘CashKarpRKF45’, ‘BogackiShampine45’, ‘BogackiShampine23’, ‘DormandPrinceRK56’, ‘DormandPrinceRK78’. Magnetic-only: ‘NystromRK4’, ‘ExactHelixStepper’.

Note

The class documention of G4FieldManager is incomplete (lacking method signatures and descriptions of what they actually do). It’s kind of a place holder and helps to get the number of Sphinx warnings to be zero.

G4 Field Manager class reference#

class opengate_core.G4FieldManager#
SetDetectorField()#
ProposeDetectorField()#
ChangeDetectorField()#
GetDetectorField()#
DoesFieldExist()#
CreateChordFinder()#
SetChordFinder()#
GetChordFinder()#
ConfigureForTrack()#
GetDeltaIntersection()#
GetDeltaOneStep()#
SetAccuraciesWithDeltaOneStep()#
SetDeltaOneStep()#
SetDeltaIntersection()#
GetMinimumEpsilonStep()#
SetMinimumEpsilonStep()#
GetMaximumEpsilonStep()#
SetMaximumEpsilonStep()#
DoesFieldChangeEnergy()#
SetFieldChangesEnergy()#
GetMaxAcceptedEpsilon()#
SetMaxAcceptedEpsilon()#