Class PolarizedSingleModeMagneticField
Defined in File PolarizedSingleModeMagneticField.h
Inheritance Relationships
Base Type
public MagneticField
(Class MagneticField)
Class Documentation
-
class PolarizedSingleModeMagneticField : public MagneticField
General polarized single mode magnetic field (including linear, circular and elliptic polarizations and the case of maximal helicity).
Public Functions
-
PolarizedSingleModeMagneticField(const double &B_0, const double &wavelength, const double &sigma, const Vector3d &r_0, const Vector3d &e_1, const Vector3d &e_2, std::string flagAmplitudeRms, std::string flagPolarizationHelicity, std::string flagMode)
Constructor
- Parameters:
B_0 – Magnetic field strength in the direction of e_1 at r_0 (for flagAmplitudeRms = “amplitude”), or the RMS value of the magnetic field (for flagAmplitudeRms = “rms”)
wavelength – Wavelength of the single mode (corresponds to its coherence length)
sigma – Polarization parameter
r_0 – Reference position
e_1 – First vector spanning the polarization plane
e_2 – Second vector spanning the polarization plane
flagAmplitudeRms – Flag to specify whether B_0 denotes the maximum (“amplitude”) or the RMS (“rms”) value of the magnetic field
flagPolarizationHelicity – Flag to specify whether sigma denotes the standard polarization parameter (“polarization”) or f_H, the fraction of maximal helicity (“helicity”)
flagMode – Flag to specify the polarization mode; possible choices are “elliptical”, “circular” or “linear”
-
inline size_t addReference() const
-
inline size_t removeReference() const
-
inline int removeReferenceNoDelete() const
-
inline size_t getReferenceCount() const
Protected Attributes
-
mutable size_t _referenceCount
-
PolarizedSingleModeMagneticField(const double &B_0, const double &wavelength, const double &sigma, const Vector3d &r_0, const Vector3d &e_1, const Vector3d &e_2, std::string flagAmplitudeRms, std::string flagPolarizationHelicity, std::string flagMode)