k4SimGeant4
Loading...
Searching...
No Matches
SimG4ConstantMagneticFieldTool Class Reference

SimG4ConstantMagneticFieldTool.h. More...

#include <SimG4Components/src/SimG4ConstantMagneticFieldTool.h>

Inheritance diagram for SimG4ConstantMagneticFieldTool:
Collaboration diagram for SimG4ConstantMagneticFieldTool:

Public Member Functions

 SimG4ConstantMagneticFieldTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
 
virtual ~SimG4ConstantMagneticFieldTool ()
 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

sim::ConstantFieldm_field
 Pointer to the actual Geant 4 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 MaximumStep.
 
Gaudi::Property< std::string > m_integratorStepper {this, "IntegratorStepper", "NystromRK4", "Integrator stepper name"}
 Name of the integration stepper, defaults to NystromRK4.
 
Gaudi::Property< double > m_fieldComponentX {this, "FieldComponentX", 0, "Field X component"}
 Field component in X direction. Set with property FieldComponentX.
 
Gaudi::Property< double > m_fieldComponentY {this, "FieldComponentY", 0, "Field Y component"}
 Field component in Y direction. Set with property FieldComponentY.
 
Gaudi::Property< double > m_fieldComponentZ {this, "FieldComponentZ", -4 * tesla, "Field Z component"}
 Field component in Z direction. Set with property FieldComponentZ.
 
Gaudi::Property< double > m_fieldRadMax {this, "FieldRMax", 6 * m, "Field max radius"}
 Size of the field in radial direction. Set with property FieldRMax.
 
Gaudi::Property< double > m_fieldZMax {this, "FieldZMax", 20. * m, "Field max Z"}
 Size of the field along the beam line. Set with property FieldZMax.
 

Detailed Description

SimG4ConstantMagneticFieldTool.h.

Implementation of ISimG4MagneticFieldTool that generates a constant field

Author
Andrea Dell'Acqua
Date
2016-02-22

Constructor & Destructor Documentation

◆ SimG4ConstantMagneticFieldTool()

SimG4ConstantMagneticFieldTool::SimG4ConstantMagneticFieldTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Standard constructor.

◆ ~SimG4ConstantMagneticFieldTool()

SimG4ConstantMagneticFieldTool::~SimG4ConstantMagneticFieldTool ( )
virtual

Destructor.

Member Function Documentation

◆ field()

const G4MagneticField * SimG4ConstantMagneticFieldTool::field ( ) const
finalvirtual

Get the magnetic field.

Returns
pointer to G4MagneticField

Implements ISimG4MagneticFieldTool.

◆ finalize()

StatusCode SimG4ConstantMagneticFieldTool::finalize ( )
finalvirtual

Finalize method.

◆ initialize()

StatusCode SimG4ConstantMagneticFieldTool::initialize ( )
finalvirtual

Initialize method.

◆ stepper()

G4MagIntegratorStepper * SimG4ConstantMagneticFieldTool::stepper ( const std::string & name,
G4MagneticField * field ) const

Get the stepper.

Returns
pointer to G4MagIntegratorStepper (ownership is transferred to the caller)

Member Data Documentation

◆ m_deltaChord

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_deltaChord {this, "DeltaChord", 0, "Missing distance for the chord finder"}
private

This parameter governs accuracy of volume intersection, see G4 doc for more details. Set with property DeltaChord.

◆ m_deltaOneStep

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_deltaOneStep {this, "DeltaOneStep", 0, "Delta(one-step)"}
private

This parameter is roughly the position error which is acceptable in an integration step, see G4 doc for details.

Set with property DeltaOneStep

◆ m_field

sim::ConstantField* SimG4ConstantMagneticFieldTool::m_field
private

Pointer to the actual Geant 4 magnetic field.

◆ m_fieldComponentX

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_fieldComponentX {this, "FieldComponentX", 0, "Field X component"}
private

Field component in X direction. Set with property FieldComponentX.

◆ m_fieldComponentY

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_fieldComponentY {this, "FieldComponentY", 0, "Field Y component"}
private

Field component in Y direction. Set with property FieldComponentY.

◆ m_fieldComponentZ

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_fieldComponentZ {this, "FieldComponentZ", -4 * tesla, "Field Z component"}
private

Field component in Z direction. Set with property FieldComponentZ.

◆ m_fieldOn

Gaudi::Property<bool> SimG4ConstantMagneticFieldTool::m_fieldOn {this, "FieldOn", false, "Switch to turn field off"}
private

Switch to turn field on or off (default is off). Set with property FieldOn.

◆ m_fieldRadMax

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_fieldRadMax {this, "FieldRMax", 6 * m, "Field max radius"}
private

Size of the field in radial direction. Set with property FieldRMax.

◆ m_fieldZMax

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_fieldZMax {this, "FieldZMax", 20. * m, "Field max Z"}
private

Size of the field along the beam line. Set with property FieldZMax.

◆ m_integratorStepper

Gaudi::Property<std::string> SimG4ConstantMagneticFieldTool::m_integratorStepper {this, "IntegratorStepper", "NystromRK4", "Integrator stepper name"}
private

Name of the integration stepper, defaults to NystromRK4.

◆ m_maxEps

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_maxEps {this, "MaximumEpsilon", 0, "Maximum epsilon (see G4 documentation)"}
private

Maximum epsilon (relative error of position / momentum, see G4 doc for more details).

Set with property MaximumEpsilon

◆ m_maxStep

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_maxStep {this, "MaximumStep", 1. * m, "Maximum step length in field (see G4 documentation)"}
private

Upper limit of the step size, see G4 doc for more details. Set with property MaximumStep.

◆ m_minEps

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_minEps {this, "MinimumEpsilon", 0, "Minimum epsilon (see G4 documentation)"}
private

Minimum epsilon (relative error of position / momentum, see G4 doc for more details).

Set with property MinimumEpsilon

◆ m_minStep

Gaudi::Property<double> SimG4ConstantMagneticFieldTool::m_minStep {this, "MinimumStep", 0.01 * mm, "Minimum step length in field (see G4 documentation)"}
private

Lower limit of the step size, see G4 doc for more details. Set with property MaximumStep.


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