19#ifndef OPAL_BASICACTIONS_DUMPEMFIELDS_HH
20#define OPAL_BASICACTIONS_DUMPEMFIELDS_HH
25#include <unordered_set>
126 void print(std::ostream& os)
const override;
137 g->failWrite_m =
true;
149 static void checkInt(
double value,
const std::string& name,
double tolerance = 1e-9);
153 const double& time, std::ofstream& fout)
const;
155 std::unique_ptr<interpolation::NDGrid>
grid_m{};
161 static std::unordered_set<std::unique_ptr<DumpEMFields>>
dumpsSet_m;
Defines the abstract interface for a single beamline component in the accelerator model.
ippl::Vector< T, Dim > Vector_t
std::ostream & operator<<(std::ostream &os, const DumpEMFields &b)
The base class for all OPAL actions.
DumpEMFields * clone(const std::string &name) override
DumpEMFields & operator=(const DumpEMFields &dump)=delete
static std::unordered_set< std::unique_ptr< DumpEMFields > > dumpsSet_m
void print(std::ostream &os) const override
Vector_t< double, 3 > cylindricalOrigin_m
void parseCoordinateSystem()
static void checkInt(double value, const std::string &name, double tolerance=1e-9)
static void writeFields(const std::set< std::shared_ptr< Component > > &elements)
CoordinateSystem coordinates_m
void writeHeader(std::ofstream &fout) const
void writeFieldLine(const std::set< std::shared_ptr< Component > > &elements, const Vector_t< double, 3 > &point, const double &time, std::ofstream &fout) const
~DumpEMFields() override=default
std::unique_ptr< interpolation::NDGrid > grid_m
DumpEMFields(const DumpEMFields &dump)=delete
virtual void writeFieldThis(const std::set< std::shared_ptr< Component > > &elements)