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

#include <Astra1DDynamic.h>

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

Public Member Functions

virtual bool getFieldstrength (const Vector_t &R, Vector_t &E, Vector_t &B) const
 
virtual bool getFieldDerivative (const Vector_t &R, Vector_t &E, Vector_t &B, const DiffDirection &dir) const
 
virtual void getFieldDimensions (double &zBegin, double &zEnd, double &rBegin, double &rEnd) 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 getOnaxisEz (std::vector< std::pair< double, double > > &F)
 
virtual bool isInside (const Vector_t &r) const
 
- Public Member Functions inherited from Fieldmap
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 interpreteLine (std::ifstream &in, T &value, const bool &file_length_known)
 

Private Member Functions

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

Private Attributes

double *__restrict__ FourCoefs_m
 
double frequency_m
 
double xlrep_m
 
double zbegin_m
 
double zend_m
 
double length_m
 
int accuracy_m
 
int num_gridpz_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 (const std::string &aFilename)
 
virtual ~Fieldmap ()
 
void getLine (std::ifstream &in, std::string &buffer)
 
template<class S >
bool interpreteLine (std::ifstream &in, S &value, const bool &file_length_known=true)
 
template<class S , class T >
bool interpreteLine (std::ifstream &in, S &value1, T &value2, const bool &file_length_known=true)
 
template<class S , class T , class U >
bool interpreteLine (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 interpreteLine (std::ifstream &in, S &value1, T &value2, U &value3, V &value4, const bool &file_length_known=true)
 
template<class S >
bool interpreteLine (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 interpreteWarning (const std::string &error_msg, const std::string &expecting, const std::string &found)
 
void interpreteWarning (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 Astra1DDynamic.h.

Constructor & Destructor Documentation

Astra1DDynamic::Astra1DDynamic ( std::string  aFilename)
private
Astra1DDynamic::~Astra1DDynamic ( )
private

Definition at line 92 of file Astra1DDynamic.cpp.

References freeMap().

Here is the call graph for this function:

Member Function Documentation

void Astra1DDynamic::freeMap ( )
privatevirtual

Implements Fieldmap.

Definition at line 181 of file Astra1DDynamic.cpp.

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

Referenced by ~Astra1DDynamic().

Here is the call graph for this function:

bool Astra1DDynamic::getFieldDerivative ( const Vector_t R,
Vector_t E,
Vector_t B,
const DiffDirection dir 
) const
virtual

Implements Fieldmap.

Definition at line 234 of file Astra1DDynamic.cpp.

References accuracy_m, cos(), FourCoefs_m, length_m, Hypervolume::n, Physics::pi, Attrib::Distribution::R, sin(), and Physics::two_pi.

Here is the call graph for this function:

void Astra1DDynamic::getFieldDimensions ( double &  zBegin,
double &  zEnd,
double &  rBegin,
double &  rEnd 
) const
virtual

Implements Fieldmap.

Definition at line 247 of file Astra1DDynamic.cpp.

References zbegin_m, and zend_m.

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

Implements Fieldmap.

Definition at line 252 of file Astra1DDynamic.cpp.

bool Astra1DDynamic::getFieldstrength ( const Vector_t R,
Vector_t E,
Vector_t B 
) const
virtual

Implements Fieldmap.

Definition at line 190 of file Astra1DDynamic.cpp.

References accuracy_m, Physics::c, cos(), FourCoefs_m, length_m, Hypervolume::n, Physics::pi, Attrib::Distribution::R, sin(), Physics::two_pi, and xlrep_m.

Here is the call graph for this function:

double Astra1DDynamic::getFrequency ( ) const
virtual

Implements Fieldmap.

Definition at line 261 of file Astra1DDynamic.cpp.

References frequency_m.

void Astra1DDynamic::getInfo ( Inform msg)
virtual

Implements Fieldmap.

Definition at line 257 of file Astra1DDynamic.cpp.

References endl(), Fieldmap::Filename_m, zbegin_m, and zend_m.

Here is the call graph for this function:

void Astra1DDynamic::getOnaxisEz ( std::vector< std::pair< double, double > > &  F)
virtual

Reimplemented from Fieldmap.

Definition at line 269 of file Astra1DDynamic.cpp.

References abs(), Fieldmap::Filename_m, and num_gridpz_m.

Here is the call graph for this function:

bool Astra1DDynamic::isInside ( const Vector_t r) const
inlinevirtual

Reimplemented from Fieldmap.

Definition at line 42 of file Astra1DDynamic.h.

References zbegin_m, and zend_m.

void Astra1DDynamic::readMap ( )
privatevirtual
void Astra1DDynamic::setFrequency ( double  freq)
virtual

Implements Fieldmap.

Definition at line 265 of file Astra1DDynamic.cpp.

References frequency_m.

void Astra1DDynamic::swap ( )
virtual

Implements Fieldmap.

Definition at line 254 of file Astra1DDynamic.cpp.

Friends And Related Function Documentation

friend class Fieldmap
friend

Definition at line 39 of file Astra1DDynamic.h.

Member Data Documentation

int Astra1DDynamic::accuracy_m
private

Definition at line 36 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getFieldDerivative(), getFieldstrength(), and readMap().

double* __restrict__ Astra1DDynamic::FourCoefs_m
private

Definition at line 27 of file Astra1DDynamic.h.

Referenced by freeMap(), getFieldDerivative(), getFieldstrength(), and readMap().

double Astra1DDynamic::frequency_m
private

Definition at line 29 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getFrequency(), and setFrequency().

double Astra1DDynamic::length_m
private

Definition at line 34 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getFieldDerivative(), and getFieldstrength().

int Astra1DDynamic::num_gridpz_m
private

Definition at line 37 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getOnaxisEz(), and readMap().

double Astra1DDynamic::xlrep_m
private

Definition at line 30 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), and getFieldstrength().

double Astra1DDynamic::zbegin_m
private

Definition at line 32 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getFieldDimensions(), getInfo(), isInside(), and readMap().

double Astra1DDynamic::zend_m
private

Definition at line 33 of file Astra1DDynamic.h.

Referenced by Astra1DDynamic(), getFieldDimensions(), getInfo(), isInside(), and readMap().


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