OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
BSingleMultipoleField< order > Class Template Reference

Representation for a single magnetic multipole field. More...

#include <BSingleMultipoleField.h>

Inheritance diagram for BSingleMultipoleField< order >:
Collaboration diagram for BSingleMultipoleField< order >:

Public Member Functions

 BSingleMultipoleField ()
 Default constructor.
 BSingleMultipoleField (const BSingleMultipoleField &)
virtual ~BSingleMultipoleField ()
BSingleMultipoleFieldoperator= (const BSingleMultipoleField &)
 operator BMultipoleField () const
 Conversion operator.
virtual BVector Bfield (const Point3D &X) const
 Field at a given point.
virtual BVector Bfield (const Point3D &P, double t) const
 Get field.
virtual double getComponent () const
 Return field coefficient.
virtual void setComponent (double)
 Set field coefficient.
void scale (double scalar)
 Scale the field.
int size () const
 Return order.
virtual EVector Efield (const Point3D &P) const
 Get field.
virtual EVector Efield (const Point3D &P, double t) const
 Get field.
virtual EBVectors EBfield (const Point3D &P) const
 Get field.
virtual EBVectors EBfield (const Point3D &P, double t) const
 Get field.

Static Public Attributes

static const EVector ZeroEfield
 The constant representing a zero electric field.
static const BVector ZeroBfield
 The constant representing a zero magnetic field.
static const EBVectors ZeroEBfield
 The constant representing a zero electromagnetic field.

Private Attributes

double strength

Detailed Description

template<int order>
class BSingleMultipoleField< order >

Representation for a single magnetic multipole field.

Definition at line 40 of file BSingleMultipoleField.h.

Constructor & Destructor Documentation

◆ BSingleMultipoleField() [1/2]

template<int order>
BSingleMultipoleField< order >::BSingleMultipoleField ( )
inline

Default constructor.

Definition at line 91 of file BSingleMultipoleField.h.

References strength.

Referenced by BSingleMultipoleField(), operator BMultipoleField(), and operator=().

Here is the caller graph for this function:

◆ BSingleMultipoleField() [2/2]

template<int order>
BSingleMultipoleField< order >::BSingleMultipoleField ( const BSingleMultipoleField< order > & field)
inline

Definition at line 97 of file BSingleMultipoleField.h.

References BSingleMultipoleField(), and strength.

Here is the call graph for this function:

◆ ~BSingleMultipoleField()

template<int order>
BSingleMultipoleField< order >::~BSingleMultipoleField ( )
virtual

Definition at line 104 of file BSingleMultipoleField.h.

Member Function Documentation

◆ Bfield() [1/2]

template<int order>
BVector BSingleMultipoleField< order >::Bfield ( const Point3D & P,
double t ) const
inlinevirtual

Get field.

Reimplemented from EMField.

Definition at line 148 of file BSingleMultipoleField.h.

References Bfield().

Here is the call graph for this function:

◆ Bfield() [2/2]

template<int order>
BVector BSingleMultipoleField< order >::Bfield ( const Point3D & X) const
inlinevirtual

Field at a given point.

Reimplemented from EMField.

Definition at line 129 of file BSingleMultipoleField.h.

References Point3D::getX(), Point3D::getY(), and strength.

Referenced by Bfield().

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

◆ EBfield() [1/2]

EBVectors EMField::EBfield ( const Point3D & P) const
virtualinherited

Get field.

Definition at line 183 of file EMField.cpp.

References Bfield(), and Efield().

Referenced by Component::EBfield(), Component::EBfield(), and EBfield().

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

◆ EBfield() [2/2]

EBVectors EMField::EBfield ( const Point3D & P,
double t ) const
virtualinherited

Get field.

Definition at line 188 of file EMField.cpp.

References EBfield().

Here is the call graph for this function:

◆ Efield() [1/2]

EVector EMField::Efield ( const Point3D & P) const
virtualinherited

Get field.

Reimplemented in ConstEzField, and OscillatingField< ConstEzField >.

Definition at line 163 of file EMField.cpp.

References ZeroEfield.

Referenced by EBfield(), Component::Efield(), Component::Efield(), and Efield().

Here is the caller graph for this function:

◆ Efield() [2/2]

EVector EMField::Efield ( const Point3D & P,
double t ) const
virtualinherited

Get field.

Reimplemented in ConstEzField, and OscillatingField< ConstEzField >.

Definition at line 173 of file EMField.cpp.

References Efield().

Here is the call graph for this function:

◆ getComponent()

template<int order>
double BSingleMultipoleField< order >::getComponent ( ) const
inlinevirtual

Return field coefficient.

Definition at line 155 of file BSingleMultipoleField.h.

References strength.

◆ operator BMultipoleField()

template<int order>
BSingleMultipoleField< order >::operator BMultipoleField ( ) const
inline

Conversion operator.

Definition at line 117 of file BSingleMultipoleField.h.

References BSingleMultipoleField(), BMultipoleField::setNormalComponent(), BMultipoleField::setSkewComponent(), and strength.

Here is the call graph for this function:

◆ operator=()

template<int order>
BSingleMultipoleField< order > & BSingleMultipoleField< order >::operator= ( const BSingleMultipoleField< order > & field)
inline

Definition at line 109 of file BSingleMultipoleField.h.

References BSingleMultipoleField(), and strength.

Here is the call graph for this function:

◆ scale()

template<int order>
void BSingleMultipoleField< order >::scale ( double scalar)
inlinevirtual

Scale the field.

Implements EMField.

Definition at line 167 of file BSingleMultipoleField.h.

References strength.

◆ setComponent()

template<int order>
void BSingleMultipoleField< order >::setComponent ( double value)
inlinevirtual

Set field coefficient.

Definition at line 161 of file BSingleMultipoleField.h.

References strength.

◆ size()

template<int order>
int BSingleMultipoleField< order >::size ( ) const
inline

Return order.

Definition at line 173 of file BSingleMultipoleField.h.

Member Data Documentation

◆ strength

template<int order>
double BSingleMultipoleField< order >::strength
private

◆ ZeroBfield

const BVector EMField::ZeroBfield
staticinherited

The constant representing a zero magnetic field.

Definition at line 239 of file EMField.h.

Referenced by Bfield().

◆ ZeroEBfield

const EBVectors EMField::ZeroEBfield
staticinherited

The constant representing a zero electromagnetic field.

Definition at line 242 of file EMField.h.

◆ ZeroEfield

const EVector EMField::ZeroEfield
staticinherited

The constant representing a zero electric field.

Definition at line 236 of file EMField.h.

Referenced by Efield().


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