|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|


Public Member Functions | |
| FakeFieldmap () | |
| void | setOutOfBounds (bool v) |
| bool | getFieldstrength (const Vector_t< double, 3 > &, Vector_t< double, 3 > &E, Vector_t< double, 3 > &B) const override |
| Get the field strength at a given point. | |
| void | getFieldDimensions (double &zBegin, double &zEnd) const override |
| Get the longitudinal dimensions of the field. | |
| void | getFieldDimensions (double &zBegin, double &zEnd, double &, double &, double &, double &) const override |
| Get the full 3D bounding box of the field. | |
| bool | isInside (const Vector_t< double, 3 > &) const override |
| Check if a point is inside the field map. | |
| void | applyField (std::shared_ptr< ParticleContainer_t >, double=1.0) override |
| Apply the FM to all the particles. | |
| bool | getFieldDerivative (const Vector_t< double, 3 > &, Vector_t< double, 3 > &, Vector_t< double, 3 > &, const DiffDirection &) const override |
| Get the field derivative with respect to a direction. | |
| void | swap () override |
| Swap coordinates (implementation dependent). | |
| void | getInfo (Inform *) override |
| Print info about the field map. | |
| double | getFrequency () const override |
| Get the frequency. | |
| void | setFrequency (double) override |
| Set the frequency. | |
| void | readMap () override |
| Pure virtual method to read the map data. Called by the public static readMap(). | |
| void | freeMap () override |
| Pure virtual method to free the map data. | |
| 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 () |
| virtual void | getOnaxisEz (std::vector< std::pair< double, double > > &onaxis) |
| template<class T > | |
| bool | interpretLine (std::ifstream &in, T &value, const bool &file_length_known) |
| Parses a single value of type T from a line in the stream. | |
Static Public Member Functions | |
| static Fieldmap * | getFieldmap (std::string Filename, bool fast=false) |
| Get a field map instance. Use this factory method to obtain a field map. It checks the cache (FieldmapDictionary) first. | |
| static std::vector< std::string > | getListFieldmapNames () |
| Get a list of all loaded field map names. | |
| static void | deleteFieldmap (std::string Filename) |
| Delete a specific field map from the cache and memory. | |
| static void | clearDictionary () |
| Clear the entire field map cache. | |
| static MapType | readHeader (std::string Filename) |
| Read the header of a field map file to determine its type. | |
| static void | readMap (std::string Filename) |
| Trigger the actual reading of the field map data. | |
| static void | freeMap (std::string Filename) |
| Decrease reference count or delete field map if unused. | |
| static std::string | typeset_msg (const std::string &msg, const std::string &title) |
Protected Member Functions | |
| 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) |
| Parses two values (types S, T) from a line. | |
| template<class S , class T , class U > | |
| bool | interpretLine (std::ifstream &in, S &value1, T &value2, U &value3, const bool &file_length_known=true) |
| Parses three values (types S, T, U) from a line. | |
| 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) |
| Parses four values (types S, T, U, V) from a line. | |
| 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) |
| Parses six values of the same type S from a line. | |
| 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< double, 3 > > &ef, const std::vector< Vector_t< double, 3 > > &bf) |
Static Protected Member Functions | |
| static void | getLine (std::ifstream &in, int &lines_read, std::string &buffer) |
Protected Attributes | |
| MapType | Type |
| std::string | Filename_m |
| int | lines_read_m |
| bool | normalize_m |
Private Attributes | |
| bool | outOfBounds_ |
Static Private Attributes | |
| static char | buffer_m [256] |
| static std::string | alpha_numeric |
| static std::map< std::string, FieldmapDescription > | FieldmapDictionary |
Definition at line 67 of file TestRFCavity.cpp.
|
inline |
Definition at line 69 of file TestRFCavity.cpp.
|
inlineoverridevirtual |
Apply the FM to all the particles.
| pc | Particle container |
| scale | Scaling factor applied to the field (default 1.0) |
Implements Fieldmap.
Definition at line 97 of file TestRFCavity.cpp.
|
protectedinherited |
Definition at line 346 of file Fieldmap.cpp.
References Fieldmap::checkMap(), Util::combineFilePath(), Fieldmap::Filename_m, OpalData::getInstance(), gsl_spline_eval(), Fieldmap::lowResolutionWarning(), and Physics::two_pi.

|
protectedinherited |
Definition at line 330 of file Fieldmap.cpp.
References Fieldmap::checkMap().
Referenced by Fieldmap::checkMap(), and Fieldmap::checkMap().

|
staticinherited |
Clear the entire field map cache.
Definition at line 160 of file Fieldmap.cpp.
References Fieldmap::clearDictionary(), and Fieldmap::FieldmapDictionary.
Referenced by Fieldmap::clearDictionary().

|
staticinherited |
Delete a specific field map from the cache and memory.
| Filename | The filename of the map to delete. |
Definition at line 158 of file Fieldmap.cpp.
References Fieldmap::deleteFieldmap(), and Fieldmap::freeMap().
Referenced by Fieldmap::deleteFieldmap().

|
protectedinherited |
Definition at line 489 of file Fieldmap.cpp.
References Fieldmap::disableFieldmapWarning(), and Fieldmap::Filename_m.
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), Fieldmap::disableFieldmapWarning(), FM2DDynamic::FM2DDynamic(), and FM2DMagnetoStatic::FM2DMagnetoStatic().

|
protectedinherited |
Definition at line 479 of file Fieldmap.cpp.
References Fieldmap::exceedingValuesWarning(), Fieldmap::Filename_m, and Fieldmap::lines_read_m.
Referenced by Fieldmap::exceedingValuesWarning(), and Fieldmap::interpreteEOF().

|
inlineoverridevirtual |
Pure virtual method to free the map data.
Implements Fieldmap.
Definition at line 109 of file TestRFCavity.cpp.
|
staticinherited |
Decrease reference count or delete field map if unused.
| Filename | The file to free. |
Definition at line 311 of file Fieldmap.cpp.
References Fieldmap::FieldmapDictionary, and Fieldmap::freeMap().
Referenced by Fieldmap::freeMap(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

|
virtualinherited |
Definition at line 590 of file Fieldmap.cpp.
References Fieldmap::get1DProfile1EngeCoeffs().
Referenced by Fieldmap::get1DProfile1EngeCoeffs().

|
virtualinherited |
Definition at line 593 of file Fieldmap.cpp.
References Fieldmap::get1DProfile1EntranceParam().
Referenced by Fieldmap::get1DProfile1EntranceParam().

|
virtualinherited |
Definition at line 597 of file Fieldmap.cpp.
References Fieldmap::get1DProfile1ExitParam().
Referenced by Fieldmap::get1DProfile1ExitParam().

|
inlineoverridevirtual |
Get the field derivative with respect to a direction.
| R | Position [m]. |
| E | Output derivative of Electric field. |
| B | Output derivative of Magnetic field. |
| dir | Direction of derivative (DX, DY, DZ). |
Implements Fieldmap.
Definition at line 98 of file TestRFCavity.cpp.
|
inlineoverridevirtual |
Get the longitudinal dimensions of the field.
| zBegin | Output start of field [m]. |
| zEnd | Output end of field [m]. |
Implements Fieldmap.
Definition at line 83 of file TestRFCavity.cpp.
|
inlineoverridevirtual |
Get the full 3D bounding box of the field.
| xIni | Output minimum x [m]. |
| xFinal | Output maximum x [m]. |
| yIni | Output minimum y [m]. |
| yFinal | Output maximum y [m]. |
| zIni | Output minimum z [m]. |
| zFinal | Output maximum z [m]. |
Implements Fieldmap.
Definition at line 88 of file TestRFCavity.cpp.
|
virtualinherited |
Definition at line 600 of file Fieldmap.cpp.
References Fieldmap::getFieldGap().
Referenced by Fieldmap::getFieldGap().

|
staticinherited |
Get a field map instance. Use this factory method to obtain a field map. It checks the cache (FieldmapDictionary) first.
Factory method to obtain a Fieldmap instance.
| Filename | The path to the field map file. |
| fast | If true, load a "fast" version if available (implementation dependent). |
Checks the FieldmapDictionary cache to see if the file is already loaded. If not, it calls readHeader() to determine the map type, instantiates the corresponding subclass, and adds it to the dictionary.
| Filename | Absolute path to the fieldmap file. |
| fast | Not implemented. Previously attempted to load a "fast" version. |
Found matching entry?
Return fieldmap pointer
Determine fieldmap type
Based on type:
Definition at line 72 of file Fieldmap.cpp.
References Fieldmap::FieldmapDictionary, Fieldmap::getFieldmap(), Fieldmap::readHeader(), T2DDynamic, T2DMagnetoStatic, TAstraDynamic, and TAstraMagnetoStatic.
Referenced by Fieldmap::getFieldmap().

|
inlineoverridevirtual |
Get the field strength at a given point.
| R | Position [m] relative to the field map origin. |
| E | Output Electric field [MV/m]. |
| B | Output Magnetic field [T]. |
Implements Fieldmap.
Definition at line 73 of file TestRFCavity.cpp.
References outOfBounds_.
|
inlineoverridevirtual |
Get the frequency.
Implements Fieldmap.
Definition at line 106 of file TestRFCavity.cpp.
|
inlineoverridevirtual |
Print info about the field map.
Implements Fieldmap.
Definition at line 105 of file TestRFCavity.cpp.
|
staticprotectedinherited |
Definition at line 414 of file Fieldmap.cpp.
References Fieldmap::alpha_numeric, Fieldmap::buffer_m, Fieldmap::getLine(), and READ_BUFFER_LENGTH.

|
inlineprotectedinherited |
Definition at line 237 of file Fieldmap.h.
References Fieldmap::getLine(), and Fieldmap::lines_read_m.
Referenced by Fieldmap::getLine(), Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::readHeader(), Astra1DDynamic::readMap(), Astra1DMagnetoStatic::readMap(), FM2DDynamic::readMap(), and FM2DMagnetoStatic::readMap().

|
staticinherited |
Get a list of all loaded field map names.
Definition at line 149 of file Fieldmap.cpp.
References Fieldmap::FieldmapDictionary, and Fieldmap::getListFieldmapNames().
Referenced by Fieldmap::getListFieldmapNames().

|
virtualinherited |
Reimplemented in Astra1DDynamic, FM2DDynamic, and FakeTWFieldmap.
Definition at line 588 of file Fieldmap.cpp.
References Fieldmap::getOnaxisEz().
Referenced by RFCavity::getAutoPhaseEstimate(), TravelingWave::getAutoPhaseEstimate(), and Fieldmap::getOnaxisEz().

|
inlineinherited |
Definition at line 206 of file Fieldmap.h.
References Fieldmap::Type.
|
protectedinherited |
Definition at line 436 of file Fieldmap.cpp.
References Fieldmap::alpha_numeric, Fieldmap::buffer_m, Fieldmap::exceedingValuesWarning(), Fieldmap::interpreteEOF(), Fieldmap::lines_read_m, and READ_BUFFER_LENGTH.
Referenced by FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), and Fieldmap::interpreteEOF().

|
protectedinherited |
|
protectedinherited |
Parses six values of the same type S from a line.
Definition at line 176 of file Fieldmap.hpp.
References Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretWarning(), and Fieldmap::missingValuesWarning().

|
protectedinherited |
Parses two values (types S, T) from a line.
Definition at line 55 of file Fieldmap.hpp.
References Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretWarning(), and Fieldmap::missingValuesWarning().

|
protectedinherited |
Parses three values (types S, T, U) from a line.
Definition at line 92 of file Fieldmap.hpp.
References Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretWarning(), and Fieldmap::missingValuesWarning().

|
protectedinherited |
Parses four values (types S, T, U, V) from a line.
Definition at line 132 of file Fieldmap.hpp.
References Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretWarning(), and Fieldmap::missingValuesWarning().

|
inherited |
Parses a single value of type T from a line in the stream.
Reads a line using getLine(), then attempts to extract one value. Validates that the extraction matches the type and that no unexpected data remains on the line.
| in | Input file stream. |
| value | Output variable reference. |
| file_length_known | If false, EOF is acceptable. |
Definition at line 23 of file Fieldmap.hpp.
References Fieldmap::getLine(), Fieldmap::interpretLine(), Fieldmap::interpretWarning(), and Fieldmap::missingValuesWarning().

|
protectedinherited |
Definition at line 452 of file Fieldmap.cpp.
References Fieldmap::Filename_m, Fieldmap::interpretWarning(), and Fieldmap::lines_read_m.
Referenced by Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), and Fieldmap::interpretWarning().

|
inlineoverridevirtual |
Check if a point is inside the field map.
Implements Fieldmap.
Definition at line 94 of file TestRFCavity.cpp.
|
protectedinherited |
Definition at line 503 of file Fieldmap.cpp.
References Fieldmap::Filename_m, OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), Fieldmap::lowResolutionWarning(), and Fieldmap::typeset_msg().
Referenced by Fieldmap::checkMap(), and Fieldmap::lowResolutionWarning().

|
protectedinherited |
Definition at line 470 of file Fieldmap.cpp.
References Fieldmap::Filename_m, Fieldmap::lines_read_m, and Fieldmap::missingValuesWarning().
Referenced by Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), Fieldmap::interpretLine(), and Fieldmap::missingValuesWarning().

|
protectedinherited |
Definition at line 496 of file Fieldmap.cpp.
References Fieldmap::Filename_m, and Fieldmap::noFieldmapWarning().
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), and Fieldmap::noFieldmapWarning().

|
staticinherited |
Read the header of a field map file to determine its type.
Determines the fieldmap type.
| Filename | The file to check. |
Definition at line 174 of file Fieldmap.cpp.
References Fieldmap::getLine(), Fieldmap::lines_read_m, Fieldmap::readHeader(), T1DDynamic, T1DElectroStatic, T1DMagnetoStatic, T1DProfile1, T2DDynamic, T2DElectroStatic, T2DMagnetoStatic, T3DDynamic, T3DDynamicH5Block, T3DElectroStatic, T3DMagnetoStatic, T3DMagnetoStatic_Extended, T3DMagnetoStaticH5Block, TAstraDynamic, TAstraElectroStatic, TAstraMagnetoStatic, and UNKNOWN.
Referenced by Fieldmap::getFieldmap(), and Fieldmap::readHeader().

|
inlineoverridevirtual |
Pure virtual method to read the map data. Called by the public static readMap().
Implements Fieldmap.
Definition at line 108 of file TestRFCavity.cpp.
|
staticinherited |
Trigger the actual reading of the field map data.
| Filename | The file to read. |
Definition at line 301 of file Fieldmap.cpp.
References Fieldmap::FieldmapDictionary, and Fieldmap::readMap().
Referenced by Fieldmap::readMap(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

|
virtualinherited |
Definition at line 408 of file Fieldmap.cpp.
References Fieldmap::setEdgeConstants().
Referenced by Fieldmap::setEdgeConstants().

|
virtualinherited |
Definition at line 602 of file Fieldmap.cpp.
References Fieldmap::setFieldGap().
Referenced by Fieldmap::setFieldGap().

|
virtualinherited |
Definition at line 412 of file Fieldmap.cpp.
References Fieldmap::setFieldLength().
Referenced by Fieldmap::setFieldLength().

|
inlineoverridevirtual |
Set the frequency.
| freq | Frequency [MHz]. |
Implements Fieldmap.
Definition at line 107 of file TestRFCavity.cpp.
|
inline |
Definition at line 71 of file TestRFCavity.cpp.
References outOfBounds_.
|
inlineoverridevirtual |
Swap coordinates (implementation dependent).
Implements Fieldmap.
Definition at line 104 of file TestRFCavity.cpp.
|
staticinherited |
Definition at line 527 of file Fieldmap.cpp.
References Fieldmap::typeset_msg().
Referenced by FM2DMagnetoStatic::freeMap(), Fieldmap::lowResolutionWarning(), FM2DMagnetoStatic::readMap(), and Fieldmap::typeset_msg().

|
protectedinherited |
Definition at line 604 of file Fieldmap.cpp.
References Util::combineFilePath(), Fieldmap::Filename_m, OpalData::getAuxiliaryOutputDirectory(), OpalData::getInstance(), and Fieldmap::write3DField().
Referenced by Fieldmap::write3DField().

|
staticprivateinherited |
Definition at line 302 of file Fieldmap.h.
Referenced by Fieldmap::getLine(), and Fieldmap::interpreteEOF().
|
staticprivateinherited |
Definition at line 301 of file Fieldmap.h.
Referenced by Fieldmap::getLine(), and Fieldmap::interpreteEOF().
|
staticprivateinherited |
Definition at line 313 of file Fieldmap.h.
Referenced by Fieldmap::clearDictionary(), Fieldmap::freeMap(), Fieldmap::getFieldmap(), Fieldmap::getListFieldmapNames(), and Fieldmap::readMap().
|
protectedinherited |
Definition at line 233 of file Fieldmap.h.
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), Fieldmap::checkMap(), Fieldmap::disableFieldmapWarning(), Fieldmap::exceedingValuesWarning(), FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), Astra1DDynamic::freeMap(), Astra1DMagnetoStatic::freeMap(), FM2DDynamic::freeMap(), FM2DMagnetoStatic::freeMap(), Astra1DDynamic::getInfo(), Astra1DMagnetoStatic::getInfo(), FM2DDynamic::getInfo(), FM2DMagnetoStatic::getInfo(), Astra1DDynamic::getOnaxisEz(), Fieldmap::interpretWarning(), Fieldmap::lowResolutionWarning(), Fieldmap::missingValuesWarning(), Fieldmap::noFieldmapWarning(), Astra1DDynamic::readMap(), Astra1DMagnetoStatic::readMap(), FM2DDynamic::readMap(), FM2DMagnetoStatic::readMap(), and Fieldmap::write3DField().
|
protectedinherited |
Definition at line 234 of file Fieldmap.h.
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), Fieldmap::exceedingValuesWarning(), FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), Fieldmap::getLine(), Fieldmap::interpreteEOF(), Fieldmap::interpretWarning(), Fieldmap::missingValuesWarning(), and Fieldmap::readHeader().
|
protectedinherited |
Definition at line 236 of file Fieldmap.h.
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), Astra1DDynamic::readMap(), Astra1DMagnetoStatic::readMap(), FM2DDynamic::readMap(), and FM2DMagnetoStatic::readMap().
|
private |
Definition at line 112 of file TestRFCavity.cpp.
Referenced by getFieldstrength(), and setOutOfBounds().
|
protectedinherited |
Definition at line 231 of file Fieldmap.h.
Referenced by Astra1DDynamic::Astra1DDynamic(), Astra1DMagnetoStatic::Astra1DMagnetoStatic(), FM2DDynamic::FM2DDynamic(), FM2DMagnetoStatic::FM2DMagnetoStatic(), and Fieldmap::getType().