OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
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 {
25
26public:
27 typedef std::vector<std::pair<std::string, unsigned int> > losses_t;
28
29 StatWriter(const std::string& fname, bool restart);
30
48 void write(const PartBunchBase<double, 3> *beam, Vector_t FDext[],
49 const losses_t &losses = losses_t(), const double& azimuth = -1,
50 const size_t npOutside = 0);
51
52private:
53 void fillHeader(const losses_t &losses = losses_t());
54};
55
56#endif
virtual void write(const PartBunchBase< double, 3 > *)
Definition: SDDSWriter.h:66
std::vector< std::pair< std::string, unsigned int > > losses_t
Definition: StatWriter.h:27
void write(const PartBunchBase< double, 3 > *beam, Vector_t FDext[], const losses_t &losses=losses_t(), const double &azimuth=-1, const size_t npOutside=0)
Write statistical data.
Definition: StatWriter.cpp:224
void fillHeader(const losses_t &losses=losses_t())
Definition: StatWriter.cpp:33
StatWriter(const std::string &fname, bool restart)
Definition: StatWriter.cpp:28