58 columns_m.
addColumn(
"ref_x",
"double",
"m",
"x coordinate of reference particle in lab cs");
59 columns_m.
addColumn(
"ref_y",
"double",
"m",
"y coordinate of reference particle in lab cs");
60 columns_m.
addColumn(
"ref_z",
"double",
"m",
"z coordinate of reference particle in lab cs");
62 columns_m.
addColumn(
"ref_px",
"double",
"1",
"x momentum of reference particle in lab cs");
63 columns_m.
addColumn(
"ref_py",
"double",
"1",
"y momentum of reference particle in lab cs");
64 columns_m.
addColumn(
"ref_pz",
"double",
"1",
"z momentum of reference particle in lab cs");
91 columns_m.
addColumn(
"DebyeLength",
"double",
"m",
"Debye length in the boosted frame");
92 columns_m.
addColumn(
"plasmaParameter",
"double",
"1",
"Plasma parameter that gives no. of particles in a Debye sphere");
175 for (
size_t i = 0; i < losses.size(); ++i) {
179 if (
mode_m == std::ios::app)
183 std::string dateStr(simtimer.
date());
184 std::string timeStr(simtimer.
time());
186 std::stringstream ss;
199 const size_t npOutside) {
202 double Ekin = pc->getMeanKineticEnergy();
204 double pathLength = beam->
get_sPos();
357 for (
size_t i = 0; i < losses.size(); ++i) {
358 long unsigned int loss = losses[i].second;
constexpr KOKKOS_INLINE_FUNCTION auto first()
std::unique_ptr< mpi::Communicator > Comm
std::string getInputFn()
get opals input filename
static OpalData * getInstance()
Vector_t< double, Dim > R(size_t)
double get_plasmaParameter() const
double get_rmsDensity() const
double getCharge() const
get the total charge per simulation particle
Vector_t< T, Dim > get_halo() const
double get_debyeLength() const
Vector_t< T, Dim > RefPartR_m
Reference particle structures.
std::shared_ptr< ParticleContainer_t > getParticleContainer()
size_t getLocalNum() const
ParticleAttrib< Vector_t< T, Dim > > P
double get_temperature() const
size_t getTotalNum() const
Vector_t< T, Dim > RefPartP_m
Vector_t< T, Dim > get_rprms() const
Vector_t< T, Dim > get_norm_emit() const
void addColumn(const std::string &name, const std::string &type, const std::string &unit, const std::string &desc, std::ios_base::fmtflags flags=std::ios_base::scientific, unsigned short precision=15)
void addColumnValue(const std::string &name, const T &val)
void addDefaultParameters()
void addDescription(const std::string &text, const std::string &content)
void writeHeader()
Write SDDS header.
std::ios_base::openmode mode_m
First write to the statistics output file.
void addInfo(const std::string &mode, const size_t &no_row_counts)
std::vector< std::pair< std::string, unsigned int > > losses_t
void write(PartBunch_t *beam, Vector_t< double, 3 > FDext[], const losses_t &losses=losses_t(), const double &azimuth=-1, const size_t npOutside=0)
Write statistical data.
void fillHeader(const losses_t &losses=losses_t())
StatWriter(const std::string &fname, bool restart)
std::string date() const
Return date.
std::string time() const
Return time.