OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
FM1DProfile2 Class Reference

#include <FM1DProfile2.h>

Inheritance diagram for FM1DProfile2:
Inheritance graph
[legend]
Collaboration diagram for FM1DProfile2:
Collaboration graph
[legend]

Public Member Functions

virtual bool getFieldstrength (const Vector_t &X, Vector_t &strength, Vector_t &info) const
 
virtual bool getFieldDerivative (const Vector_t &X, Vector_t &E, Vector_t &B, const DiffDirection &dir) const
 
virtual void getFieldDimensions (double &zBegin, double &zEnd) const
 
virtual void getFieldDimensions (double &xIni, double &xFinal, double &yIni, double &yFinal, double &zIni, double &zFinal) const
 
virtual void swap ()
 
virtual void getInfo (Inform *)
 
virtual double getFrequency () const
 
virtual void setFrequency (double freq)
 
virtual void setExitFaceSlope (const double &)
 
virtual void setEdgeConstants (const double &bendAngle, const double &entranceAngle, const double &exitAngle)
 
- Public Member Functions inherited from Fieldmap
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 ()
 
virtual void getOnaxisEz (std::vector< std::pair< double, double > > &onaxis)
 
virtual bool isInside (const Vector_t &) const
 
template<class T >
bool interpretLine (std::ifstream &in, T &value, const bool &file_length_known)
 

Private Member Functions

 FM1DProfile2 (std::string aFilename)
 
 ~FM1DProfile2 ()
 
virtual void readMap ()
 
virtual void freeMap ()
 

Private Attributes

double * EngeCoefs_entry_m
 
double * EngeCoefs_exit_m
 
double zbegin_entry_m
 
double zend_entry_m
 
double polynomialOrigin_entry_m
 
int polynomialOrder_entry_m
 
double exit_slope_m
 
double zbegin_exit_m
 
double zend_exit_m
 
double polynomialOrigin_exit_m
 
int polynomialOrder_exit_m
 
bool rectangular_m
 
double length_m
 
double gapHeight_m
 
double xExit_m
 
double zExit_m
 
double cosExitRotation_m
 Cos and sin of the exit edge rotation with respect to the local coordinates. More...
 
double sinExitRotation_m
 

Friends

class Fieldmap
 

Additional Inherited Members

- Static Public Member Functions inherited from Fieldmap
static FieldmapgetFieldmap (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)
 
- Protected Member Functions inherited from Fieldmap
 Fieldmap ()=delete
 
 Fieldmap (const std::string &aFilename)
 
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)
 
- Static Protected Member Functions inherited from Fieldmap
static void getLine (std::ifstream &in, int &lines_read, std::string &buffer)
 
- Protected Attributes inherited from Fieldmap
MapType Type
 
std::string Filename_m
 
int lines_read_m
 
bool normalize_m
 

Detailed Description

Definition at line 6 of file FM1DProfile2.h.

Constructor & Destructor Documentation

◆ FM1DProfile2()

FM1DProfile2::FM1DProfile2 ( std::string  aFilename)
private

◆ ~FM1DProfile2()

FM1DProfile2::~FM1DProfile2 ( )
private

Definition at line 82 of file FM1DProfile2.cpp.

References EngeCoefs_entry_m, and EngeCoefs_exit_m.

Member Function Documentation

◆ freeMap()

void FM1DProfile2::freeMap ( )
privatevirtual

Implements Fieldmap.

Definition at line 194 of file FM1DProfile2.cpp.

References endl(), EngeCoefs_entry_m, EngeCoefs_exit_m, Fieldmap::Filename_m, INFOMSG, level3(), and Fieldmap::typeset_msg().

Here is the call graph for this function:

◆ getFieldDerivative()

bool FM1DProfile2::getFieldDerivative ( const Vector_t X,
Vector_t E,
Vector_t B,
const DiffDirection dir 
) const
virtual

Implements Fieldmap.

Definition at line 325 of file FM1DProfile2.cpp.

◆ getFieldDimensions() [1/2]

void FM1DProfile2::getFieldDimensions ( double &  xIni,
double &  xFinal,
double &  yIni,
double &  yFinal,
double &  zIni,
double &  zFinal 
) const
virtual

Implements Fieldmap.

Definition at line 333 of file FM1DProfile2.cpp.

◆ getFieldDimensions() [2/2]

void FM1DProfile2::getFieldDimensions ( double &  zBegin,
double &  zEnd 
) const
virtual

Implements Fieldmap.

Definition at line 329 of file FM1DProfile2.cpp.

References zbegin_entry_m, and zend_exit_m.

◆ getFieldstrength()

bool FM1DProfile2::getFieldstrength ( const Vector_t X,
Vector_t strength,
Vector_t info 
) const
virtual

◆ getFrequency()

double FM1DProfile2::getFrequency ( ) const
virtual

Implements Fieldmap.

Definition at line 342 of file FM1DProfile2.cpp.

◆ getInfo()

void FM1DProfile2::getInfo ( Inform msg)
virtual

Implements Fieldmap.

Definition at line 338 of file FM1DProfile2.cpp.

References endl(), Fieldmap::Filename_m, zbegin_entry_m, and zend_exit_m.

Here is the call graph for this function:

◆ readMap()

void FM1DProfile2::readMap ( )
privatevirtual

◆ setEdgeConstants()

void FM1DProfile2::setEdgeConstants ( const double &  bendAngle,
const double &  entranceAngle,
const double &  exitAngle 
)
virtual

Reimplemented from Fieldmap.

Definition at line 353 of file FM1DProfile2.cpp.

References cos(), cosExitRotation_m, polynomialOrigin_entry_m, polynomialOrigin_exit_m, sin(), sinExitRotation_m, xExit_m, and zExit_m.

Here is the call graph for this function:

◆ setExitFaceSlope()

void FM1DProfile2::setExitFaceSlope ( const double &  m)
virtual

Definition at line 349 of file FM1DProfile2.cpp.

References exit_slope_m.

◆ setFrequency()

void FM1DProfile2::setFrequency ( double  freq)
virtual

Implements Fieldmap.

Definition at line 346 of file FM1DProfile2.cpp.

◆ swap()

void FM1DProfile2::swap ( )
virtual

Implements Fieldmap.

Definition at line 335 of file FM1DProfile2.cpp.

Friends And Related Function Documentation

◆ Fieldmap

friend class Fieldmap
friend

Definition at line 58 of file FM1DProfile2.h.

Member Data Documentation

◆ cosExitRotation_m

double FM1DProfile2::cosExitRotation_m
private

Cos and sin of the exit edge rotation with respect to the local coordinates.

Definition at line 55 of file FM1DProfile2.h.

Referenced by getFieldstrength(), and setEdgeConstants().

◆ EngeCoefs_entry_m

double* FM1DProfile2::EngeCoefs_entry_m
private

Definition at line 27 of file FM1DProfile2.h.

Referenced by freeMap(), getFieldstrength(), readMap(), and ~FM1DProfile2().

◆ EngeCoefs_exit_m

double* FM1DProfile2::EngeCoefs_exit_m
private

Definition at line 28 of file FM1DProfile2.h.

Referenced by freeMap(), getFieldstrength(), readMap(), and ~FM1DProfile2().

◆ exit_slope_m

double FM1DProfile2::exit_slope_m
private

Definition at line 35 of file FM1DProfile2.h.

Referenced by getFieldstrength(), and setExitFaceSlope().

◆ gapHeight_m

double FM1DProfile2::gapHeight_m
private

Definition at line 44 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), and readMap().

◆ length_m

double FM1DProfile2::length_m
private

Definition at line 43 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), and readMap().

◆ polynomialOrder_entry_m

int FM1DProfile2::polynomialOrder_entry_m
private

Definition at line 33 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), and readMap().

◆ polynomialOrder_exit_m

int FM1DProfile2::polynomialOrder_exit_m
private

Definition at line 39 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), and readMap().

◆ polynomialOrigin_entry_m

double FM1DProfile2::polynomialOrigin_entry_m
private

Definition at line 32 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), readMap(), and setEdgeConstants().

◆ polynomialOrigin_exit_m

double FM1DProfile2::polynomialOrigin_exit_m
private

Definition at line 38 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), readMap(), and setEdgeConstants().

◆ rectangular_m

bool FM1DProfile2::rectangular_m
private

Definition at line 41 of file FM1DProfile2.h.

◆ sinExitRotation_m

double FM1DProfile2::sinExitRotation_m
private

Definition at line 56 of file FM1DProfile2.h.

Referenced by getFieldstrength(), and setEdgeConstants().

◆ xExit_m

double FM1DProfile2::xExit_m
private

x position in local coordinate system where central trajectory intersects the exit edge.

Definition at line 48 of file FM1DProfile2.h.

Referenced by getFieldstrength(), and setEdgeConstants().

◆ zbegin_entry_m

double FM1DProfile2::zbegin_entry_m
private

Definition at line 30 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldDimensions(), getFieldstrength(), getInfo(), and readMap().

◆ zbegin_exit_m

double FM1DProfile2::zbegin_exit_m
private

Definition at line 36 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), and readMap().

◆ zend_entry_m

double FM1DProfile2::zend_entry_m
private

Definition at line 31 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldstrength(), and readMap().

◆ zend_exit_m

double FM1DProfile2::zend_exit_m
private

Definition at line 37 of file FM1DProfile2.h.

Referenced by FM1DProfile2(), getFieldDimensions(), getFieldstrength(), getInfo(), and readMap().

◆ zExit_m

double FM1DProfile2::zExit_m
private

z position in local coordinate system where central trajectory intersects the exit edge.

Definition at line 52 of file FM1DProfile2.h.

Referenced by getFieldstrength(), and setEdgeConstants().


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