k4SimGeant4
|
SimG4MagneticFieldTool.h. More...
#include <SimG4Components/src/SimG4MagneticFieldTool.h>
Public Member Functions | |
SimG4MagneticFieldTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Standard constructor. | |
virtual | ~SimG4MagneticFieldTool () |
Destructor. | |
virtual StatusCode | initialize () final |
Initialize method. | |
virtual StatusCode | finalize () final |
Finalize method. | |
virtual const G4MagneticField * | field () const final |
Get the magnetic field. | |
G4MagIntegratorStepper * | stepper (const std::string &, G4MagneticField *) const |
Get the stepper. | |
Public Member Functions inherited from ISimG4MagneticFieldTool | |
DeclareInterfaceID (ISimG4MagneticFieldTool, 1, 0) | |
Private Attributes | |
ServiceHandle< IGeoSvc > | m_geoSvc |
Pointer to the geometry service. | |
G4MagneticField * | m_field = nullptr |
Pointer to the actual Geant4 magnetic field. | |
Gaudi::Property< bool > | m_fieldOn {this, "FieldOn", false, "Switch to turn field off"} |
Switch to turn field on or off (default is off). Set with property FieldOn. | |
Gaudi::Property< double > | m_minEps {this, "MinimumEpsilon", 0, "Minimum epsilon (see G4 documentation)"} |
Minimum epsilon (relative error of position / momentum, see G4 doc for more details). | |
Gaudi::Property< double > | m_maxEps {this, "MaximumEpsilon", 0, "Maximum epsilon (see G4 documentation)"} |
Maximum epsilon (relative error of position / momentum, see G4 doc for more details). | |
Gaudi::Property< double > | m_deltaChord {this, "DeltaChord", 0, "Missing distance for the chord finder"} |
This parameter governs accuracy of volume intersection, see G4 doc for more details. Set with property DeltaChord. | |
Gaudi::Property< double > | m_deltaOneStep {this, "DeltaOneStep", 0, "Delta(one-step)"} |
This parameter is roughly the position error which is acceptable in an integration step, see G4 doc for details. | |
Gaudi::Property< double > | m_maxStep {this, "MaximumStep", 1. * m, "Maximum step length in field (see G4 documentation)"} |
Upper limit of the step size, see G4 doc for more details. Set with property MaximumStep. | |
Gaudi::Property< double > | m_minStep {this, "MinimumStep", 0.01 * mm, "Minimum step length in field (see G4 documentation)"} |
Lower limit of the step size, see G4 doc for more details. Set with property MinimumStep. | |
Gaudi::Property< std::string > | m_integratorStepper {this, "IntegratorStepper", "NystromRK4", "Integrator stepper name"} |
Name of the integration stepper, defaults to NystromRK4. | |
Implementation of ISimG4MagneticFieldTool that propagates magnetic field defined in the DD4hep compact file.
SimG4MagneticFieldTool::SimG4MagneticFieldTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent ) |
Standard constructor.
|
virtual |
Destructor.
|
finalvirtual |
|
finalvirtual |
Finalize method.
|
finalvirtual |
Initialize method.
G4MagIntegratorStepper * SimG4MagneticFieldTool::stepper | ( | const std::string & | name, |
G4MagneticField * | field ) const |
Get the stepper.
|
private |
This parameter governs accuracy of volume intersection, see G4 doc for more details. Set with property DeltaChord.
|
private |
This parameter is roughly the position error which is acceptable in an integration step, see G4 doc for details.
Set with property DeltaOneStep
|
private |
Pointer to the actual Geant4 magnetic field.
|
private |
Switch to turn field on or off (default is off). Set with property FieldOn.
|
private |
Pointer to the geometry service.
|
private |
Name of the integration stepper, defaults to NystromRK4.
|
private |
Maximum epsilon (relative error of position / momentum, see G4 doc for more details).
Set with property MaximumEpsilon
|
private |
Upper limit of the step size, see G4 doc for more details. Set with property MaximumStep.
|
private |
Minimum epsilon (relative error of position / momentum, see G4 doc for more details).
Set with property MinimumEpsilon
|
private |
Lower limit of the step size, see G4 doc for more details. Set with property MinimumStep.