WarpX
MultiDiagnostics.H
Go to the documentation of this file.
1 #ifndef WARPX_MULTIDIAGNOSTICS_H_
2 #define WARPX_MULTIDIAGNOSTICS_H_
3 
4 #include "Diagnostics.H"
5 
6 #include "MultiDiagnostics_fwd.H"
7 
8 #include <AMReX_Vector.H>
9 
10 #include <memory>
11 #include <string>
12 #include <vector>
13 
16 
21 {
22 public:
25  void ReadParameters ();
27  void InitData ();
29  void FilterComputePackFlush (int step, bool force_flush=false, bool BackTransform=false);
32  void FilterComputePackFlushLastTimestep (int step);
37  void InitializeFieldFunctors (int lev);
39  void NewIteration ();
40  Diagnostics& GetDiag(int idiag) {return *alldiags[idiag]; }
41  int GetTotalDiags() {return ndiags;}
42  DiagTypes diagstypes(int idiag) {return diags_types[idiag];}
43 private:
46  int ndiags = 0;
47  std::vector<std::string> diags_names;
49  std::vector<DiagTypes> diags_types;
50 };
51 
52 #endif // WARPX_MULTIDIAGNOSTICS_H_
int GetTotalDiags()
Definition: MultiDiagnostics.H:41
std::vector< DiagTypes > diags_types
Definition: MultiDiagnostics.H:49
std::vector< std::string > diags_names
Definition: MultiDiagnostics.H:47
This class contains a vector of all diagnostics in the simulation.
Definition: MultiDiagnostics.H:20
DiagTypes
Definition: MultiDiagnostics.H:15
amrex::Vector< std::unique_ptr< Diagnostics > > alldiags
Definition: MultiDiagnostics.H:45
DiagTypes diagstypes(int idiag)
Definition: MultiDiagnostics.H:42
Diagnostics & GetDiag(int idiag)
Definition: MultiDiagnostics.H:40
base class for diagnostics. Contains main routines to filter, compute and flush diagnostics.
Definition: Diagnostics.H:30