OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <MeshGenerator.h>
Public Member Functions | |
MeshGenerator () | |
void | add (const ElementBase &element) |
void | write (const std::string &fname) |
Private Types | |
enum | MeshType { OTHER = 0, DIPOLE, QUADRUPOLE, SEXTUPOLE, OCTUPOLE, SOLENOID, RFCAVITY } |
Static Private Member Functions | |
static MeshData | getCylinder (double length, double minor, double major, double formFactor, const unsigned int numSegments=36) |
static MeshData | getBox (double length, double width, double height, double formFactor) |
Private Attributes | |
std::vector< MeshData > | elements_m |
Definition at line 12 of file MeshGenerator.h.
|
private |
Enumerator | |
---|---|
OTHER | |
DIPOLE | |
QUADRUPOLE | |
SEXTUPOLE | |
OCTUPOLE | |
SOLENOID | |
RFCAVITY |
Definition at line 20 of file MeshGenerator.h.
MeshGenerator::MeshGenerator | ( | ) |
Definition at line 13 of file MeshGenerator.cpp.
void MeshGenerator::add | ( | const ElementBase & | element | ) |
Definition at line 17 of file MeshGenerator.cpp.
References ElementBase::CONIC_ELLIPTICAL, ElementBase::CONIC_RECTANGULAR, MeshData::decorations_m, DIPOLE, ElementBase::DRIFT, elements_m, ElementBase::ELLIPTICAL, ElementBase::getAperture(), getBox(), ElementBase::getCSTrafoGlobal2Local(), getCylinder(), ElementBase::getElementDimensions(), RBend3D::getSurfaceMesh(), Bend2D::getSurfaceMesh(), ElementBase::getType(), CoordinateSystemTrafo::inverted(), ElementBase::MULTIPOLE, OCTUPOLE, OTHER, QUADRUPOLE, ElementBase::RBEND, ElementBase::RBEND3D, ElementBase::RECTANGULAR, RFCAVITY, ElementBase::RFCAVITY, CoordinateSystemTrafo::rotateTo(), ElementBase::SBEND, SEXTUPOLE, SOLENOID, ElementBase::SOLENOID, CoordinateSystemTrafo::transformTo(), ElementBase::TRAVELINGWAVE, MeshData::type_m, ElementBase::VARIABLERFCAVITY, and MeshData::vertices_m.
Referenced by OpalBeamline::save3DLattice().
|
staticprivate |
Definition at line 921 of file MeshGenerator.cpp.
References MeshData::decorations_m, MeshData::triangles_m, and MeshData::vertices_m.
Referenced by add().
|
staticprivate |
Definition at line 881 of file MeshGenerator.cpp.
References cos(), MeshData::decorations_m, sin(), MeshData::triangles_m, Physics::two_pi, and MeshData::vertices_m.
Referenced by add().
void MeshGenerator::write | ( | const std::string & | fname | ) |
Definition at line 102 of file MeshGenerator.cpp.
References Util::base64_encode(), and elements_m.
Referenced by OpalBeamline::save3DLattice().
|
private |
Definition at line 41 of file MeshGenerator.h.