WarpX
ComputeParticleDiagFunctor.H
Go to the documentation of this file.
1 /* Copyright 2021 Revathi Jambunathan
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
8 #define WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
9 
12 #include <AMReX.H>
13 #include <AMReX_AmrParticles.H>
14 
19 {
20 public:
21 
24  virtual ~ComputeParticleDiagFunctor() = default;
25 
31 
48  virtual void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
49  amrex::Real old_z_boost,
50  amrex::Real current_z_boost, amrex::Real t_lab,
51  int snapshot_full)
52  {
53  amrex::ignore_unused(i_buffer,
54  ZSliceInDomain, old_z_boost,
55  current_z_boost, t_lab, snapshot_full);
56  }
62  virtual void operator () (PinnedMemoryParticleContainer& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
63  virtual void InitData () {}
64 };
65 
66 #endif // WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
Functor to compute a diagnostic and store the result in existing ParticleContainer.
Definition: ComputeParticleDiagFunctor.H:19
ComputeParticleDiagFunctor(ComputeParticleDiagFunctor &&)=default
ComputeParticleDiagFunctor & operator=(ComputeParticleDiagFunctor &&)=default
virtual ~ComputeParticleDiagFunctor()=default
ComputeParticleDiagFunctor()=default
ComputeParticleDiagFunctor & operator=(const ComputeParticleDiagFunctor &)=default
virtual void operator()(PinnedMemoryParticleContainer &pc_dst, int &totalParticlesInBuffer, int i_buffer=0) const =0
virtual void PrepareFunctorData(int i_buffer, bool ZSliceInDomain, amrex::Real old_z_boost, amrex::Real current_z_boost, amrex::Real t_lab, int snapshot_full)
Prepare data required to back-transform particle attributes for lab-frame snapshot,...
Definition: ComputeParticleDiagFunctor.H:48
ComputeParticleDiagFunctor(const ComputeParticleDiagFunctor &)=default
virtual void InitData()
Definition: ComputeParticleDiagFunctor.H:63
Definition: NamedComponentParticleContainer.H:64
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ignore_unused(const Ts &...)