OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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 
24 class StatWriter : public StatBaseWriter {
25 
26 public:
27  typedef std::vector<std::pair<std::string, unsigned int> > losses_t;
28 
29  StatWriter(const std::string& fname, bool restart);
30 
31  using SDDSWriter::write;
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 
52 private:
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
virtual void write(const PartBunchBase< double, 3 > *)
Definition: SDDSWriter.h:66
void fillHeader(const losses_t &losses=losses_t())
Definition: StatWriter.cpp:32
StatWriter(const std::string &fname, bool restart)
Definition: StatWriter.cpp:27