BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Which integrator to use for each type of magnet / field object. More...
#include <BDSIntegratorSet.hh>
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. | |
Private Attributes | |
G4bool | isMatrix |
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().
Definition at line 50 of file BDSIntegratorSet.hh.
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.
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().
|
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().
BDSIntegratorType BDSIntegratorSet::cavityFringe |
Definition at line 106 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::decapole |
Definition at line 88 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::dipole |
Definition at line 83 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::dipoleFringe |
Definition at line 100 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::dipoleQuadrupole |
Definition at line 84 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::general |
Definition at line 95 of file BDSIntegratorSet.hh.
|
private |
Definition at line 112 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::multipoleOuter |
Definition at line 102 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::multipoleThick |
Definition at line 89 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::multipoleThin |
Definition at line 101 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::muonSpoiler |
Definition at line 90 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::octupole |
Definition at line 87 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::parallelTransporter |
Definition at line 104 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::quadrupole |
Definition at line 85 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::rfconstantinx |
Definition at line 92 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::rfconstantiny |
Definition at line 93 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::rfconstantinz |
Definition at line 94 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::rfpillbox |
Definition at line 91 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::rmatrixThin |
Definition at line 103 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::sextupole |
Definition at line 86 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::skewDecapole |
Definition at line 99 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::skewOctupole |
Definition at line 98 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::skewQuadrupole |
Definition at line 96 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::skewSextupole |
Definition at line 97 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::solenoid |
Definition at line 82 of file BDSIntegratorSet.hh.
BDSIntegratorType BDSIntegratorSet::undulator |
Definition at line 105 of file BDSIntegratorSet.hh.