28#ifndef _OPAL_DATA_SINK_H
29#define _OPAL_DATA_SINK_H
65 const std::vector<H5PartWrapper*>& h5wrappers,
bool restart,
66 size_t numParticleContainers);
73 const std::string& inputBasename,
size_t numContainers,
size_t index);
97 double refPt,
double refPz,
double refR,
double refTheta,
double refZ,
double azimuth,
98 double elevation,
bool local)
const;
107 const double& azimuth)
const;
116 const losses_t& losses,
const double& azimuth)
const;
140 const PartBunch_t& beam,
long long int& step,
size_t& impact,
double& sey_num,
141 size_t numberOfFieldEmittedParticles,
bool nEmissionMode, std::string fn);
155 long long step,
double time,
bool preMerge,
const std::vector<std::size_t>& binCounts,
156 const std::vector<double>& binWidths,
double xMin,
const std::string& fileName);
173 template <
typename FieldType>
175 long long step,
double time,
double zPlane,
const FieldType& field,
176 const std::string& solveTag);
185 bool restart,
const std::vector<H5PartWrapper*>& h5wrappers,
186 size_t numParticleContainers);
208 std::stringstream ss;
209 ss << std::setw(setw) << std::setfill(
'0') << number;
213template <
typename FieldType>
215 long long step,
double time,
double zPlane,
const FieldType& field,
216 const std::string& solveTag) {
217 if (ippl::Comm->rank() != 0) {
221 Inform m(
"DataSink::dumpDirichletPlane");
224 m << level4 <<
"Creating DirichletPlaneWriter in directory \"data/dirichletplanedumps\"."
ippl::Vector< T, Dim > Vector_t
Helper to write binning configuration snapshots as a JSON array.
std::vector< sddsWriter_t > sddsWriter_m
StatWriter::losses_t losses_t
DataSink & operator=(const DataSink &)=delete
DirichletPlaneWriter::PlaneDiagnostics dumpDirichletPlane(long long step, double time, double zPlane, const FieldType &field, const std::string &solveTag)
Interpolate and dump potential values on a 2D z-plane.
void dumpH5(PartBunch_t &beam, Vector_t< double, 3 > FDext[]) const
Write H5 phase-space data for all particle containers.
std::unique_ptr< DirichletPlaneWriter > dirichletPlaneWriter_m
void changeH5Wrappers(const std::vector< H5PartWrapper * > &h5wrappers)
void writeGeomToVtk(BoundaryGeometry &bg, std::string fn)
std::unique_ptr< SDDSWriter > sddsWriter_t
static std::string convertToString(int number, int setw=5)
void writeImpactStatistics(const PartBunch_t &beam, long long int &step, size_t &impact, double &sey_num, size_t numberOfFieldEmittedParticles, bool nEmissionMode, std::string fn)
std::vector< h5Writer_t > h5Writers_m
void storeCavityInformation()
Write cavity information from H5 file.
static std::string diagnosticStemForContainer(const std::string &inputBasename, size_t numContainers, size_t index)
IpplTimings::TimerRef StatMarkerTimer_m
Timer to track statistics write time.
void init(bool restart, const std::vector< H5PartWrapper * > &h5wrappers, size_t numParticleContainers)
std::unique_ptr< H5Writer > h5Writer_t
unsigned int lossWrCounter_m
needed to create index for vtk file
DataSink(const DataSink &ds)=delete
void dumpBinConfig(long long step, double time, bool preMerge, const std::vector< std::size_t > &binCounts, const std::vector< double > &binWidths, double xMin, const std::string &fileName)
Append a binning configuration snapshot to a JSON file.
std::unique_ptr< BinConfigWriter > binConfigWriter_m
DataSink()
Default constructor.
std::vector< statWriter_t > statWriters_m
std::unique_ptr< StatWriter > statWriter_t
void dumpSDDS(PartBunch_t &beam, const std::vector< std::array< Vector_t< double, 3 >, 2 > > &fdextPerContainer, const double &azimuth) const
Write SDDS statistics with per-container external fields.
Writes dirichlet-plane potential snapshots to ASCII files.
std::vector< std::pair< std::string, unsigned int > > losses_t