5 #ifndef OPAL_LOSSOUTPUT_H_
6 #define OPAL_LOSSOUTPUT_H_
52 struct less<
SetStatistics> : binary_function<SetStatistics, SetStatistics, bool> {
79 long long globalTrackStep);
84 const double time,
const size_t turn,
const size_t& bunchNum = 0);
93 os_m.open(
fn_m.c_str(), std::ios::out);
96 void openH5(h5_int32_t mode = H5_O_WRONLY);
100 os_m.open(
fn_m.c_str(), std::ios::app);
107 os_m <<
"# Element " <<
element_m <<
" x (m), y (m), z (m), px ( ), py ( ), pz ( ), id";
109 os_m <<
", turn, bunchNumber, time (ns) ";
117 void saveH5(
unsigned int setIdx);
128 void reportOnError(h5_int64_t rc,
const char* file,
int line);
180 std::set<SetStatistics> stats;
184 for (
unsigned int i = 0; i < numStatistics; ++ i) {
186 if (setStats.nTotal_m > 0) {
187 stats.insert(setStats);
ElementBase::ElementType type_m
void reportOnError(h5_int64_t rc, const char *file, int line)
std::vector< unsigned long > startSet_m
h5_file_t H5file_m
used to write out data in H5hut mode
std::vector< double > pz_m
std::set< SetStatistics > computeStatistics(unsigned int numSets)
std::vector< double > z_m
void save(unsigned int numSets=1, OpalData::OPENMODE openMode=OpalData::OPENMODE::UNDEFINED)
std::vector< size_t > bunchNum_m
std::vector< double > px_m
std::vector< Vector_t > RefPartP_m
void saveH5(unsigned int setIdx)
OPENMODE
Enum for writing to files.
~LossDataSink() noexcept(false)
h5_int64_t H5call_m
Current record, or time step, of H5 file.
std::vector< double > py_m
std::vector< double > spos_m
void addReferenceParticle(const Vector_t &x, const Vector_t &p, double time, double spos, long long globalTrackStep)
std::vector< Vector_t > RefPartR_m
void splitSets(unsigned int numSets)
std::vector< size_t > turn_m
std::vector< double > x_m
void openH5(h5_int32_t mode=H5_O_WRONLY)
std::vector< double > time_m
std::vector< double > y_m
bool hasNoParticlesToDump()
SetStatistics computeSetStatistics(unsigned int setIdx)
std::vector< double > refTime_m
void addParticle(const Vector_t &x, const Vector_t &p, const size_t id)
Inform & endl(Inform &inf)
std::vector< h5_int64_t > globalTrackStep_m