Project
Loading...
Searching...
No Matches
o2::g4config::O2MonopoleTransportation Class Reference

Inherits G4Transportation.

Public Member Functions

 O2MonopoleTransportation (const MonopoleFieldSetup &fieldSetup)
 
void StartTracking (G4Track *track) override
 
G4double AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety, G4GPILSelection *selection) override
 

Detailed Description

Transportation for the monopole species only.

These must be true for the monopoles and false for every other particle:

  • the field manager of the current volume (the global one, or a local one) has to use the monopole chord finder, otherwise O2MonopoleEquation might not be evaluated at all (such as it happens with the default NystromRK4)
  • G4Transportation has to consider the magnetic moment
  • the field manager has to declare that the field changes the energy: the g*B force does work on the monopole. Otherwise G4Transportation would reset the kinetic energy at the end of every step to the one at its start, keeping only the change of direction

Ordinary tracks keep the stepper the run was configured with, and neutral particles that happen to carry a magnetic moment (neutrons above all) keep their straight-line transport.

This mirrors G4MonopoleTransportation from the Geant4 monopole example, which takes the kinetic energy and the time of flight from the integrated track, but derives directly from G4Transportation, so that it follows the Geant4 versions

Definition at line 309 of file O2MonopolePhysics.cxx.

Constructor & Destructor Documentation

◆ O2MonopoleTransportation()

o2::g4config::O2MonopoleTransportation::O2MonopoleTransportation ( const MonopoleFieldSetup &  fieldSetup)
inline

Definition at line 312 of file O2MonopolePhysics.cxx.

Member Function Documentation

◆ AlongStepGetPhysicalInteractionLength()

G4double o2::g4config::O2MonopoleTransportation::AlongStepGetPhysicalInteractionLength ( const G4Track &  track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double &  currentSafety,
G4GPILSelection *  selection 
)
inlineoverride

Definition at line 326 of file O2MonopolePhysics.cxx.

◆ StartTracking()

void o2::g4config::O2MonopoleTransportation::StartTracking ( G4Track *  track)
inlineoverride

Definition at line 317 of file O2MonopolePhysics.cxx.


The documentation for this class was generated from the following file: