OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
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 size_t particleContainerIndex = 0);
51
52private:
53 void fillHeader(const losses_t& losses = losses_t(), const std::string& species = "");
54};
55
56#endif
ippl::Vector< T, Dim > Vector_t
virtual void write(const PartBunch_t &)
Definition SDDSWriter.h:56
std::vector< std::pair< std::string, unsigned int > > losses_t
Definition StatWriter.h:26
void fillHeader(const losses_t &losses=losses_t(), const std::string &species="")
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, size_t particleContainerIndex=0)
Write statistical data.