BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Public Member Functions | Private Member Functions | Private Attributes
BDSFieldMagDipoleQuadrupole Class Reference

Class that provides the magnetic strength in a mixed dipole / quadrupole. More...

#include <BDSFieldMagDipoleQuadrupole.hh>

Inheritance diagram for BDSFieldMagDipoleQuadrupole:
Inheritance graph
Collaboration diagram for BDSFieldMagDipoleQuadrupole:
Collaboration graph

Public Member Functions

 BDSFieldMagDipoleQuadrupole (BDSMagnetStrength const *strength, G4double const brho)
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t=0) const
 Access the field value. More...
 
virtual void SetTransform (const G4Transform3D &transformIn)
 
- Public Member Functions inherited from BDSFieldMag
 BDSFieldMag ()
 
 BDSFieldMag (G4Transform3D transformIn)
 
virtual G4ThreeVector GetField (const G4ThreeVector &position, const G4double t=0) const =0
 
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. More...
 
virtual void SetTransform (const G4Transform3D &transformIn)
 
G4bool FiniteStrength () const
 Accessor. More...
 

Private Member Functions

 BDSFieldMagDipoleQuadrupole ()
 Private default constructor to force use of supplied constructor.
 

Private Attributes

BDSFieldMagQuadrupolequad
 
BDSFieldMagDipoledipole
 

Additional Inherited Members

- Protected Attributes inherited from BDSFieldMag
G4bool finiteStrength
 Flag to cache whether finite nor not. More...
 
G4Transform3D transform
 Transform to apply for the field relative to the local coordinates of the geometry. More...
 

Detailed Description

Class that provides the magnetic strength in a mixed dipole / quadrupole.

This is the linear sum of a dipole and quadrupolar field (as defined by k1).

Author
Laurie Nevay

Definition at line 40 of file BDSFieldMagDipoleQuadrupole.hh.

Constructor & Destructor Documentation

◆ BDSFieldMagDipoleQuadrupole()

BDSFieldMagDipoleQuadrupole::BDSFieldMagDipoleQuadrupole ( BDSMagnetStrength const *  strength,
G4double const  brho 
)

Definition at line 28 of file BDSFieldMagDipoleQuadrupole.cc.

◆ ~BDSFieldMagDipoleQuadrupole()

BDSFieldMagDipoleQuadrupole::~BDSFieldMagDipoleQuadrupole ( )
virtual

Definition at line 36 of file BDSFieldMagDipoleQuadrupole.cc.

Member Function Documentation

◆ GetField()

G4ThreeVector BDSFieldMagDipoleQuadrupole::GetField ( const G4ThreeVector &  position,
const G4double  t = 0 
) const
virtual

Access the field value.

Implements BDSFieldMag.

Definition at line 42 of file BDSFieldMagDipoleQuadrupole.cc.

References BDSFieldMag::GetFieldTransformed().

Here is the call graph for this function:

◆ SetTransform()

void BDSFieldMagDipoleQuadrupole::SetTransform ( const G4Transform3D &  transformIn)
virtual

Set the transform applied before evaluating the field. This can be used to account for any difference between the field coordinate system and the coordinate system of the geometry. Ie an offset aperture. This is a public interface to allow the transform to be set after construction so that derived classes don't need modified constructors.

Reimplemented from BDSFieldMag.

Definition at line 50 of file BDSFieldMagDipoleQuadrupole.cc.

References BDSFieldMag::SetTransform().

Here is the call graph for this function:

Field Documentation

◆ dipole

BDSFieldMagDipole* BDSFieldMagDipoleQuadrupole::dipole
private

Definition at line 59 of file BDSFieldMagDipoleQuadrupole.hh.

◆ quad

BDSFieldMagQuadrupole* BDSFieldMagDipoleQuadrupole::quad
private

Definition at line 58 of file BDSFieldMagDipoleQuadrupole.hh.


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