21 #ifndef _OPAL_DATA_SINK_H
22 #define _OPAL_DATA_SINK_H
30 template <
class T,
unsigned Dim>
56 double refPr,
double refPt,
double refPz,
57 double refR,
double refTheta,
double refZ,
58 double azimuth,
double elevation,
bool local)
const;
62 double sposHead,
double sposRef,
63 double sposTail)
const;
67 const double& azimuth = -1)
const;
74 double sposHead,
double sposRef,
double sposTail)
const;
110 size_t numberOfFieldEmittedParticles,
134 void init(
bool restart =
false,
160 std::stringstream ss;
161 ss << std::setw(setw) << std::setfill(
'0') << number;
166 #endif // DataSink_H_
static std::string convertToString(int number, int setw=5)
core of the envelope tracker based on Rene Bakkers BET implementation
std::unique_ptr< H5Writer > h5Writer_t
void writeMultiBunchStatistics(PartBunchBase< double, 3 > *beam, MultiBunchHandler *mbhandler)
void changeH5Wrapper(H5PartWrapper *h5wrapper)
DataSink & operator=(const DataSink &)=delete
IpplTimings::TimerRef StatMarkerTimer_m
Timer to track statistics write time.
void writeGeomToVtk(BoundaryGeometry &bg, std::string fn)
DataSink()
Default constructor.
void writeImpactStatistics(PartBunchBase< double, 3 > *beam, long long int &step, size_t &impact, double &sey_num, size_t numberOfFieldEmittedParticles, bool nEmissionMode, std::string fn)
std::unique_ptr< SDDSWriter > sddsWriter_t
void dumpH5(PartBunchBase< double, 3 > *beam, Vector_t FDext[]) const
std::vector< mbWriter_t > mbWriter_m
std::vector< sddsWriter_t > sddsWriter_m
unsigned int lossWrCounter_m
needed to create index for vtk file
const bool isMultiBunch_m
std::unique_ptr< MultiBunchDump > mbWriter_t
std::vector< std::pair< std::string, unsigned int > > losses_t
void writePartlossZASCII(PartBunchBase< double, 3 > *beam, BoundaryGeometry &bg, std::string fn)
void init(bool restart=false, H5PartWrapper *h5wrapper=nullptr, short numBunch=1)
void setMultiBunchInitialPathLengh(MultiBunchHandler *mbhandler_p)
void dumpSDDS(PartBunchBase< double, 3 > *beam, Vector_t FDext[], const double &azimuth=-1) const
void initMultiBunchDump(short numBunch)
Timing::TimerRef TimerRef
StatWriter::losses_t losses_t
statWriter_t statWriter_m
void storeCavityInformation()
Write cavity information from H5 file.
std::unique_ptr< StatWriter > statWriter_t