WarpX
ComputeDiagFunctor.H
Go to the documentation of this file.
1 #ifndef WARPX_COMPUTEDIAGFUNCTOR_H_
2 #define WARPX_COMPUTEDIAGFUNCTOR_H_
3 
4 #include <AMReX.H>
5 #include <AMReX_MultiFab.H>
6 
11 class
13 {
14 public:
15  ComputeDiagFunctor( int ncomp, amrex::IntVect crse_ratio) :
16  m_ncomp(ncomp), m_crse_ratio(crse_ratio) {}
17  //** Virtual Destructor to handle clean destruction of derived classes */
18  virtual ~ComputeDiagFunctor() = default;
26  virtual void operator() (amrex::MultiFab& mf_dst, int dcomp, const int i_buffer = 0) const = 0;
29  int nComp () const { return m_ncomp; }
30 
31  virtual void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
32  amrex::Real current_z_boost,
33  amrex::Box buffer_box, const int k_index_zlab) {
34  amrex::ignore_unused(i_buffer,
35  ZSliceInDomain,
36  current_z_boost, buffer_box,
37  k_index_zlab);
38  }
39  virtual void InitData() {}
40 private:
42  int m_ncomp;
43 protected:
45  amrex::IntVect m_crse_ratio;
46 };
47 
48 #endif // WARPX_COMPUTEDIAGFUNCTOR_H_
int nComp() const
Definition: ComputeDiagFunctor.H:29
virtual void InitData()
Definition: ComputeDiagFunctor.H:39
ComputeDiagFunctor(int ncomp, amrex::IntVect crse_ratio)
Definition: ComputeDiagFunctor.H:15
Functor to compute a diagnostic and store the result in existing MultiFab.
Definition: ComputeDiagFunctor.H:11
virtual void PrepareFunctorData(int i_buffer, bool ZSliceInDomain, amrex::Real current_z_boost, amrex::Box buffer_box, const int k_index_zlab)
Definition: ComputeDiagFunctor.H:31
int m_ncomp
Definition: ComputeDiagFunctor.H:42
amrex::IntVect m_crse_ratio
Definition: ComputeDiagFunctor.H:45