|
BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
|
Class that provides the magnetic field due to a square annulus of current. More...
#include <BDSFieldMagSolenoidBlock.hh>


Public Member Functions | |
| BDSFieldMagSolenoidBlock (G4double strength, G4bool strengthIsCurrent, G4double innerRadiusIn, G4double radialThicknessIn, G4double fullLengthZIn, G4double toleranceIn, G4int nSheetsIn) | |
| Explicit constructor. | |
| BDSFieldMagSolenoidBlock (const BDSMagnetStrength *st, G4double innerRadiusIn) | |
| virtual G4ThreeVector | GetField (const G4ThreeVector &position, const G4double t=0) const |
| Calculate the field value. | |
| G4double | GetB0 () const |
| Accessor. | |
| G4double | GetI () const |
| Accessor. | |
Public Member Functions inherited from BDSFieldMag | |
| BDSFieldMag () | |
| BDSFieldMag (G4Transform3D transformIn) | |
| virtual G4bool | TimeVarying () const |
| virtual void | GetFieldValue (const G4double point[4], G4double *field) const |
| virtual G4ThreeVector | GetFieldTransformed (const G4ThreeVector &position, const G4double t) const |
| Get the field value after applying transform for local offset. | |
| virtual void | SetTransform (const G4Transform3D &transformIn) |
| void | SetModulator (BDSModulator *modulatorIn) |
| Set the optional modulator. | |
| G4bool | FiniteStrength () const |
| Accessor. | |
Private Attributes | |
| G4double | a |
| G4double | radialThickness |
| G4double | fullLengthZ |
| G4double | B0 |
| G4double | I |
| G4double | coilTolerance |
| G4int | nSheetsBlock |
| G4double | currentDensity |
Additional Inherited Members | |
Protected Attributes inherited from BDSFieldMag | |
| G4bool | finiteStrength |
| Flag to cache whether finite nor not. | |
| G4Transform3D | transform |
| Transform to apply for the field relative to the local coordinates of the geometry. | |
| G4bool | transformIsNotIdentity |
| Cache of whether to use transform at all. | |
| BDSModulator * | modulator |
| Optional modulator;. | |
Class that provides the magnetic field due to a square annulus of current.
Looking in the z,r plane we would see two square blocks with an inner edge at +-r and centered at z = 0. In r, the square extends from innerRadiusIn to innerRadiusIn+radialThicknessIn. There is a +- this in r with the top one being the sign of the strength and the bottom one being the return of the annulus with current in the opposite direction. In phi, it is circular.
Definition at line 40 of file BDSFieldMagSolenoidBlock.hh.
| BDSFieldMagSolenoidBlock::BDSFieldMagSolenoidBlock | ( | G4double | strength, |
| G4bool | strengthIsCurrent, | ||
| G4double | innerRadiusIn, | ||
| G4double | radialThicknessIn, | ||
| G4double | fullLengthZIn, | ||
| G4double | toleranceIn, | ||
| G4int | nSheetsIn | ||
| ) |
Explicit constructor.
Definition at line 42 of file BDSFieldMagSolenoidBlock.cc.
References BDSFieldMag::finiteStrength, and BDS::IsFinite().

| BDSFieldMagSolenoidBlock::BDSFieldMagSolenoidBlock | ( | const BDSMagnetStrength * | st, |
| G4double | innerRadiusIn | ||
| ) |
Alternative constructor for field factory that uses "field" (i.e. B) strength from the magnet strength instance, the argument innerRadiusIn, coilRadialThickness, and length from the strength instance.
Definition at line 36 of file BDSFieldMagSolenoidBlock.cc.
|
inline |
Accessor.
Definition at line 64 of file BDSFieldMagSolenoidBlock.hh.
|
virtual |
Calculate the field value.
Implements BDSFieldMag.
Definition at line 73 of file BDSFieldMagSolenoidBlock.cc.
|
inline |
Accessor.
Definition at line 65 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 69 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 72 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 74 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 76 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 71 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 73 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 75 of file BDSFieldMagSolenoidBlock.hh.
|
private |
Definition at line 70 of file BDSFieldMagSolenoidBlock.hh.