OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
LBalWriter.h
Go to the documentation of this file.
1 //
2 // Class LBalWriter
3 // This class writes a SDDS file with MPI load balancing information.
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_LBAL_WRITER_H
20 #define OPAL_LBAL_WRITER_H
21 
22 #include "SDDSWriter.h"
23 
24 class LBalWriter : public SDDSWriter {
25 
26 public:
27  LBalWriter(const std::string& fname, bool restart);
28 
29 #ifdef ENABLE_AMR
30  void write(PartBunchBase<double, 3> *beam);
31 #else
32  void write(const PartBunchBase<double, 3> *beam) override;
33 #endif
34 
35 private:
36 #ifdef ENABLE_AMR
38 #else
39  void fillHeader();
40 #endif
41 };
42 
43 
44 #endif
LBalWriter(const std::string &fname, bool restart)
Definition: LBalWriter.cpp:31
void write(PartBunchBase< double, 3 > *beam)
Definition: LBalWriter.cpp:96
void fillHeader(PartBunchBase< double, 3 > *beam)
Definition: LBalWriter.cpp:37