OPAL (Object Oriented Parallel Accelerator Library)
2024.1
OPAL
|
#include <Astra1D_fast.h>
Public Member Functions | |
virtual | ~_Astra1D_fast () |
virtual bool | getFieldstrength (const Vector_t &R, Vector_t &E, Vector_t &B) const =0 |
virtual bool | getFieldDerivative (const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const =0 |
virtual void | getFieldDimensions (double &zBegin, double &zEnd) const =0 |
virtual void | getFieldDimensions (double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const =0 |
virtual void | swap ()=0 |
virtual void | getInfo (Inform *)=0 |
virtual double | getFrequency () const =0 |
virtual void | setFrequency (double freq)=0 |
virtual void | getOnaxisEz (std::vector< std::pair< double, double > > &F) |
virtual bool | isInside (const Vector_t &r) const |
![]() | |
virtual void | setEdgeConstants (const double &bendAngle, const double &entranceAngle, const double &exitAngle) |
virtual void | setFieldLength (const double &) |
virtual void | get1DProfile1EngeCoeffs (std::vector< double > &engeCoeffsEntry, std::vector< double > &engeCoeffsExit) |
virtual void | get1DProfile1EntranceParam (double &entranceParameter1, double &entranceParameter2, double &entranceParameter3) |
virtual void | get1DProfile1ExitParam (double &exitParameter1, double &exitParameter2, double &exitParameter3) |
virtual double | getFieldGap () |
virtual void | setFieldGap (double gap) |
MapType | getType () |
template<class T > | |
bool | interpretLine (std::ifstream &in, T &value, const bool &file_length_known) |
Protected Member Functions | |
_Astra1D_fast (const std::string &filename) | |
virtual void | readMap () |
virtual void | freeMap () |
bool | determineNumSamplingPoints (std::ifstream &file) |
double | readFieldData (std::ifstream &file) |
void | normalizeFieldData (double maxEz) |
std::vector< double > | getEvenlyDistributedSamplingPoints () |
std::vector< double > | interpolateFieldData (std::vector< double > &samplingPoints) |
void | computeFieldDerivatives (std::vector< double > &fourierComponents, int accuracy) |
std::vector< double > | computeFourierCoefficients (int accuracy, std::vector< double > &evenSampling) |
![]() | |
_Fieldmap ()=delete | |
_Fieldmap (const std::string &filename) | |
virtual | ~_Fieldmap () |
void | getLine (std::ifstream &in, std::string &buffer) |
template<class S > | |
bool | interpretLine (std::ifstream &in, S &value, const bool &file_length_known=true) |
template<class S , class T > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, const bool &file_length_known=true) |
template<class S , class T , class U > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, U &value3, const bool &file_length_known=true) |
template<class S , class T , class U , class V > | |
bool | interpretLine (std::ifstream &in, S &value1, T &value2, U &value3, V &value4, const bool &file_length_known=true) |
template<class S > | |
bool | interpretLine (std::ifstream &in, S &value1, S &value2, S &value3, S &value4, S &value5, S &value6, const bool &file_length_known=true) |
bool | interpreteEOF (std::ifstream &in) |
void | interpretWarning (const std::ios_base::iostate &state, const bool &read_all, const std::string &error_msg, const std::string &found) |
void | missingValuesWarning () |
void | exceedingValuesWarning () |
void | disableFieldmapWarning () |
void | noFieldmapWarning () |
void | lowResolutionWarning (double squareError, double maxError) |
void | checkMap (unsigned int accuracy, std::pair< double, double > fieldDimensions, double deltaZ, const std::vector< double > &fourierCoefficients, gsl_spline *splineCoefficients, gsl_interp_accel *splineAccelerator) |
void | checkMap (unsigned int accuracy, double length, const std::vector< double > &zSampling, const std::vector< double > &fourierCoefficients, gsl_spline *splineCoefficients, gsl_interp_accel *splineAccelerator) |
void | write3DField (unsigned int nx, unsigned int ny, unsigned int nz, const std::pair< double, double > &xrange, const std::pair< double, double > &yrange, const std::pair< double, double > &zrange, const std::vector< Vector_t > &ef, const std::vector< Vector_t > &bf) |
Protected Attributes | |
double * | onAxisField_m |
double * | zvals_m |
gsl_spline * | onAxisInterpolants_m [4] |
gsl_interp_accel * | onAxisAccel_m [4] |
double | hz_m |
double | zbegin_m |
double | zend_m |
double | length_m |
int | num_gridpz_m |
int | numHeaderLines_m |
![]() | |
MapType | Type |
std::string | Filename_m |
int | lines_read_m |
bool | normalize_m |
Friends | |
class | _Fieldmap |
Additional Inherited Members | |
![]() | |
static Fieldmap | getFieldmap (std::string Filename, bool fast=false) |
static std::vector< std::string > | getListFieldmapNames () |
static void | deleteFieldmap (std::string Filename) |
static void | clearDictionary () |
static MapType | readHeader (std::string Filename) |
static void | readMap (std::string Filename) |
static void | freeMap (std::string Filename) |
static std::string | typeset_msg (const std::string &msg, const std::string &title) |
![]() | |
static void | getLine (std::ifstream &in, int &lines_read, std::string &buffer) |
Definition at line 6 of file Astra1D_fast.h.
|
virtual |
Definition at line 15 of file Astra1D_fast.cpp.
References freeMap().
|
protected |
Definition at line 10 of file Astra1D_fast.cpp.
References _Fieldmap::normalize_m.
|
protected |
Definition at line 147 of file Astra1D_fast.cpp.
References cos(), hz_m, length_m, num_gridpz_m, onAxisAccel_m, onAxisInterpolants_m, sin(), and Physics::two_pi.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 119 of file Astra1D_fast.cpp.
References num_gridpz_m, real(), and work.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 39 of file Astra1D_fast.cpp.
References Physics::e, _Fieldmap::lines_read_m, num_gridpz_m, numHeaderLines_m, zbegin_m, and zend_m.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), and _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast().
|
protectedvirtual |
Implements _Fieldmap.
Definition at line 22 of file Astra1D_fast.cpp.
References onAxisAccel_m, onAxisField_m, onAxisInterpolants_m, and zvals_m.
Referenced by ~_Astra1D_fast(), _Astra1DDynamic_fast::~_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::~_Astra1DElectroStatic_fast(), and _Astra1DMagnetoStatic_fast::~_Astra1DMagnetoStatic_fast().
|
protected |
Definition at line 92 of file Astra1D_fast.cpp.
References hz_m, num_gridpz_m, and zvals_m.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
virtual |
Reimplemented from _Fieldmap.
Reimplemented in _Astra1DDynamic_fast.
Definition at line 36 of file Astra1D_fast.cpp.
|
protected |
Definition at line 103 of file Astra1D_fast.cpp.
References num_gridpz_m, onAxisAccel_m, onAxisField_m, onAxisInterpolants_m, and zvals_m.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
inlinevirtual |
Reimplemented from _Fieldmap.
Definition at line 54 of file Astra1D_fast.h.
|
protected |
Definition at line 84 of file Astra1D_fast.cpp.
References num_gridpz_m, onAxisField_m, and zvals_m.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 60 of file Astra1D_fast.cpp.
References abs(), Physics::e, hz_m, _Fieldmap::normalize_m, num_gridpz_m, onAxisField_m, zbegin_m, zend_m, and zvals_m.
Referenced by _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protectedvirtual |
Implements _Fieldmap.
Reimplemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
Definition at line 19 of file Astra1D_fast.cpp.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
pure virtual |
Implements _Fieldmap.
Implemented in _Astra1DDynamic_fast, _Astra1DMagnetoStatic_fast, and _Astra1DElectroStatic_fast.
|
friend |
Definition at line 51 of file Astra1D_fast.h.
|
protected |
Definition at line 42 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), computeFieldDerivatives(), getEvenlyDistributedSamplingPoints(), _Astra1DDynamic_fast::getOnaxisEz(), and readFieldData().
|
protected |
Definition at line 46 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), computeFieldDerivatives(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 48 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), computeFieldDerivatives(), computeFourierCoefficients(), determineNumSamplingPoints(), getEvenlyDistributedSamplingPoints(), _Astra1DDynamic_fast::getOnaxisEz(), interpolateFieldData(), normalizeFieldData(), readFieldData(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 49 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), and determineNumSamplingPoints().
|
protected |
Definition at line 40 of file Astra1D_fast.h.
Referenced by computeFieldDerivatives(), freeMap(), _Astra1DDynamic_fast::getFieldDerivative(), _Astra1DElectroStatic_fast::getFieldstrength(), _Astra1DMagnetoStatic_fast::getFieldstrength(), _Astra1DDynamic_fast::getFieldstrength(), interpolateFieldData(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 37 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), freeMap(), _Astra1DDynamic_fast::getOnaxisEz(), interpolateFieldData(), normalizeFieldData(), readFieldData(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 39 of file Astra1D_fast.h.
Referenced by computeFieldDerivatives(), freeMap(), _Astra1DDynamic_fast::getFieldDerivative(), _Astra1DElectroStatic_fast::getFieldstrength(), _Astra1DMagnetoStatic_fast::getFieldstrength(), _Astra1DDynamic_fast::getFieldstrength(), interpolateFieldData(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().
|
protected |
Definition at line 44 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), determineNumSamplingPoints(), _Astra1DDynamic_fast::getFieldDerivative(), _Astra1DElectroStatic_fast::getFieldDimensions(), _Astra1DMagnetoStatic_fast::getFieldDimensions(), _Astra1DDynamic_fast::getFieldDimensions(), _Astra1DElectroStatic_fast::getFieldstrength(), _Astra1DMagnetoStatic_fast::getFieldstrength(), _Astra1DDynamic_fast::getFieldstrength(), _Astra1DElectroStatic_fast::getInfo(), _Astra1DMagnetoStatic_fast::getInfo(), _Astra1DDynamic_fast::getInfo(), isInside(), and readFieldData().
|
protected |
Definition at line 45 of file Astra1D_fast.h.
Referenced by _Astra1DDynamic_fast::_Astra1DDynamic_fast(), _Astra1DElectroStatic_fast::_Astra1DElectroStatic_fast(), _Astra1DMagnetoStatic_fast::_Astra1DMagnetoStatic_fast(), determineNumSamplingPoints(), _Astra1DElectroStatic_fast::getFieldDimensions(), _Astra1DMagnetoStatic_fast::getFieldDimensions(), _Astra1DDynamic_fast::getFieldDimensions(), _Astra1DElectroStatic_fast::getInfo(), _Astra1DMagnetoStatic_fast::getInfo(), _Astra1DDynamic_fast::getInfo(), isInside(), and readFieldData().
|
protected |
Definition at line 38 of file Astra1D_fast.h.
Referenced by freeMap(), getEvenlyDistributedSamplingPoints(), _Astra1DDynamic_fast::getOnaxisEz(), interpolateFieldData(), normalizeFieldData(), readFieldData(), _Astra1DElectroStatic_fast::readMap(), _Astra1DMagnetoStatic_fast::readMap(), and _Astra1DDynamic_fast::readMap().