OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
StatWriter.h
Go to the documentation of this file.
1//
2// Class StatWriter
3// This class writes bunch statistics (*.stat).
4//
5// Copyright (c) 2019, Matthias Frey, Paul Scherrer Institut, Villigen PSI, Switzerland
6// Christof Metzger-Kraus, Open Sourcerer
7// All rights reserved
8//
9// This file is part of OPAL.
10//
11// OPAL is free software: you can redistribute it and/or modify
12// it under the terms of the GNU General Public License as published by
13// the Free Software Foundation, either version 3 of the License, or
14// (at your option) any later version.
15//
16// You should have received a copy of the GNU General Public License
17// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
18//
19#ifndef OPAL_STAT_WRITER_H
20#define OPAL_STAT_WRITER_H
21
22#include "StatBaseWriter.h"
23
24class StatWriter : public StatBaseWriter {
25public:
26 typedef std::vector<std::pair<std::string, unsigned int> > losses_t;
27
28 StatWriter(const std::string& fname, bool restart);
29
47 void write(
48 PartBunch_t* beam, Vector_t<double, 3> FDext[], const losses_t& losses = losses_t(),
49 const double& azimuth = -1, const size_t npOutside = 0);
50
51private:
52 void fillHeader(const losses_t& losses = losses_t());
53};
54
55#endif
PartBunch< PLayout_t< double, 3 >, double, 3 > PartBunch_t
ippl::Vector< T, Dim > Vector_t
virtual void write(const PartBunch_t *)
Definition SDDSWriter.h:56
StatBaseWriter(const std::string &fname, bool restart)
std::vector< std::pair< std::string, unsigned int > > losses_t
Definition StatWriter.h:26
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)