BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
Public Member Functions | Data Fields | Private Attributes
BDSIntegratorSet Class Reference

Which integrator to use for each type of magnet / field object. More...

#include <BDSIntegratorSet.hh>

Collaboration diagram for BDSIntegratorSet:
Collaboration graph

Public Member Functions

 BDSIntegratorSet (BDSIntegratorType solenoidIn, BDSIntegratorType dipoleIn, BDSIntegratorType dipoleQuadrupoleIn, BDSIntegratorType quadrupoleIn, BDSIntegratorType sextupoleIn, BDSIntegratorType octupoleIn, BDSIntegratorType decapoleIn, BDSIntegratorType multipoleThickIn, BDSIntegratorType muonSpoilerIn, BDSIntegratorType rfpillboxIn, BDSIntegratorType rfconstantinxIn, BDSIntegratorType rfconstantinyIn, BDSIntegratorType rfconstantinzIn, BDSIntegratorType generalIn, BDSIntegratorType skewQuadrupoleIn, BDSIntegratorType skewSextupoleIn, BDSIntegratorType skewOctupoleIn, BDSIntegratorType skewDecapoleIn, BDSIntegratorType dipoleFringeIn, BDSIntegratorType multipoleThinIn, BDSIntegratorType multipoleOuterIn, BDSIntegratorType rmatrixThinIn, BDSIntegratorType parallelTransporterIn, BDSIntegratorType undulator, BDSIntegratorType cavityFringeIn)
 
BDSIntegratorType Integrator (const BDSFieldType field) const
 Get appropriate integrator based on the field type.
 
G4bool IsMatrixIntegratorSet () const
 Accessor for bool of is the integrator set matrix style.
 

Data Fields

BDSIntegratorType solenoid
 
BDSIntegratorType dipole
 
BDSIntegratorType dipoleQuadrupole
 
BDSIntegratorType quadrupole
 
BDSIntegratorType sextupole
 
BDSIntegratorType octupole
 
BDSIntegratorType decapole
 
BDSIntegratorType multipoleThick
 
BDSIntegratorType muonSpoiler
 
BDSIntegratorType rfpillbox
 
BDSIntegratorType rfconstantinx
 
BDSIntegratorType rfconstantiny
 
BDSIntegratorType rfconstantinz
 
BDSIntegratorType general
 
BDSIntegratorType skewQuadrupole
 
BDSIntegratorType skewSextupole
 
BDSIntegratorType skewOctupole
 
BDSIntegratorType skewDecapole
 
BDSIntegratorType dipoleFringe
 
BDSIntegratorType multipoleThin
 
BDSIntegratorType multipoleOuter
 
BDSIntegratorType rmatrixThin
 
BDSIntegratorType parallelTransporter
 
BDSIntegratorType undulator
 
BDSIntegratorType cavityFringe
 

Private Attributes

G4bool isMatrix
 

Detailed Description

Which integrator to use for each type of magnet / field object.

There is one to match every type of field in BDSFieldType. There are also a few others such as dipolefringe and multipolethin that can be used in explicit circumstances as these do not have a different physical field, merely a different integrator in different situations. These should be accessed directly rather than through the method Integrator().

Author
Laurie Nevay

Definition at line 50 of file BDSIntegratorSet.hh.

Constructor & Destructor Documentation

◆ BDSIntegratorSet()

BDSIntegratorSet::BDSIntegratorSet ( BDSIntegratorType  solenoidIn,
BDSIntegratorType  dipoleIn,
BDSIntegratorType  dipoleQuadrupoleIn,
BDSIntegratorType  quadrupoleIn,
BDSIntegratorType  sextupoleIn,
BDSIntegratorType  octupoleIn,
BDSIntegratorType  decapoleIn,
BDSIntegratorType  multipoleThickIn,
BDSIntegratorType  muonSpoilerIn,
BDSIntegratorType  rfpillboxIn,
BDSIntegratorType  rfconstantinxIn,
BDSIntegratorType  rfconstantinyIn,
BDSIntegratorType  rfconstantinzIn,
BDSIntegratorType  generalIn,
BDSIntegratorType  skewQuadrupoleIn,
BDSIntegratorType  skewSextupoleIn,
BDSIntegratorType  skewOctupoleIn,
BDSIntegratorType  skewDecapoleIn,
BDSIntegratorType  dipoleFringeIn,
BDSIntegratorType  multipoleThinIn,
BDSIntegratorType  multipoleOuterIn,
BDSIntegratorType  rmatrixThinIn,
BDSIntegratorType  parallelTransporterIn,
BDSIntegratorType  undulator,
BDSIntegratorType  cavityFringeIn 
)

Definition at line 27 of file BDSIntegratorSet.cc.

Member Function Documentation

◆ Integrator()

BDSIntegratorType BDSIntegratorSet::Integrator ( const BDSFieldType  field) const

Get appropriate integrator based on the field type.

Definition at line 277 of file BDSIntegratorSet.cc.

References BDSTypeSafeEnum< def, inner >::underlying().

Referenced by BDSComponentFactory::CreateMagnet(), BDS::GetDipoleIntegratorType(), and BDSComponentFactory::PrepareMagnetOuterFieldInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMatrixIntegratorSet()

G4bool BDSIntegratorSet::IsMatrixIntegratorSet ( ) const
inline

Accessor for bool of is the integrator set matrix style.

Definition at line 109 of file BDSIntegratorSet.hh.

Referenced by BDS::BuildRBendLine(), BDS::BuildSBendLine(), BDSComponentFactory::IncomingFaceAngle(), and BDSComponentFactory::OutgoingFaceAngle().

Here is the caller graph for this function:

Field Documentation

◆ cavityFringe

BDSIntegratorType BDSIntegratorSet::cavityFringe

Definition at line 106 of file BDSIntegratorSet.hh.

◆ decapole

BDSIntegratorType BDSIntegratorSet::decapole

Definition at line 88 of file BDSIntegratorSet.hh.

◆ dipole

BDSIntegratorType BDSIntegratorSet::dipole

Definition at line 83 of file BDSIntegratorSet.hh.

◆ dipoleFringe

BDSIntegratorType BDSIntegratorSet::dipoleFringe

Definition at line 100 of file BDSIntegratorSet.hh.

◆ dipoleQuadrupole

BDSIntegratorType BDSIntegratorSet::dipoleQuadrupole

Definition at line 84 of file BDSIntegratorSet.hh.

◆ general

BDSIntegratorType BDSIntegratorSet::general

Definition at line 95 of file BDSIntegratorSet.hh.

◆ isMatrix

G4bool BDSIntegratorSet::isMatrix
private

Definition at line 112 of file BDSIntegratorSet.hh.

◆ multipoleOuter

BDSIntegratorType BDSIntegratorSet::multipoleOuter

Definition at line 102 of file BDSIntegratorSet.hh.

◆ multipoleThick

BDSIntegratorType BDSIntegratorSet::multipoleThick

Definition at line 89 of file BDSIntegratorSet.hh.

◆ multipoleThin

BDSIntegratorType BDSIntegratorSet::multipoleThin

Definition at line 101 of file BDSIntegratorSet.hh.

◆ muonSpoiler

BDSIntegratorType BDSIntegratorSet::muonSpoiler

Definition at line 90 of file BDSIntegratorSet.hh.

◆ octupole

BDSIntegratorType BDSIntegratorSet::octupole

Definition at line 87 of file BDSIntegratorSet.hh.

◆ parallelTransporter

BDSIntegratorType BDSIntegratorSet::parallelTransporter

Definition at line 104 of file BDSIntegratorSet.hh.

◆ quadrupole

BDSIntegratorType BDSIntegratorSet::quadrupole

Definition at line 85 of file BDSIntegratorSet.hh.

◆ rfconstantinx

BDSIntegratorType BDSIntegratorSet::rfconstantinx

Definition at line 92 of file BDSIntegratorSet.hh.

◆ rfconstantiny

BDSIntegratorType BDSIntegratorSet::rfconstantiny

Definition at line 93 of file BDSIntegratorSet.hh.

◆ rfconstantinz

BDSIntegratorType BDSIntegratorSet::rfconstantinz

Definition at line 94 of file BDSIntegratorSet.hh.

◆ rfpillbox

BDSIntegratorType BDSIntegratorSet::rfpillbox

Definition at line 91 of file BDSIntegratorSet.hh.

◆ rmatrixThin

BDSIntegratorType BDSIntegratorSet::rmatrixThin

Definition at line 103 of file BDSIntegratorSet.hh.

◆ sextupole

BDSIntegratorType BDSIntegratorSet::sextupole

Definition at line 86 of file BDSIntegratorSet.hh.

◆ skewDecapole

BDSIntegratorType BDSIntegratorSet::skewDecapole

Definition at line 99 of file BDSIntegratorSet.hh.

◆ skewOctupole

BDSIntegratorType BDSIntegratorSet::skewOctupole

Definition at line 98 of file BDSIntegratorSet.hh.

◆ skewQuadrupole

BDSIntegratorType BDSIntegratorSet::skewQuadrupole

Definition at line 96 of file BDSIntegratorSet.hh.

◆ skewSextupole

BDSIntegratorType BDSIntegratorSet::skewSextupole

Definition at line 97 of file BDSIntegratorSet.hh.

◆ solenoid

BDSIntegratorType BDSIntegratorSet::solenoid

Definition at line 82 of file BDSIntegratorSet.hh.

◆ undulator

BDSIntegratorType BDSIntegratorSet::undulator

Definition at line 105 of file BDSIntegratorSet.hh.


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