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 
18 class
20 {
21 public:
22 
25  virtual ~ComputeParticleDiagFunctor() = default;
26 
32 
49  virtual void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
50  amrex::Real old_z_boost,
51  amrex::Real current_z_boost, amrex::Real t_lab,
52  int snapshot_full)
53  {
54  amrex::ignore_unused(i_buffer,
55  ZSliceInDomain, old_z_boost,
56  current_z_boost, t_lab, snapshot_full);
57  }
63  virtual void operator () (PinnedMemoryParticleContainer& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
64  virtual void InitData () {}
65 };
66 
67 #endif // WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
Functor to compute a diagnostic and store the result in existing ParticleContainer.
Definition: ComputeParticleDiagFunctor.H:20
ComputeParticleDiagFunctor(ComputeParticleDiagFunctor &&)=default
ComputeParticleDiagFunctor & operator=(ComputeParticleDiagFunctor &&)=default
virtual ~ComputeParticleDiagFunctor()=default
ComputeParticleDiagFunctor & operator=(const ComputeParticleDiagFunctor &)=default
ComputeParticleDiagFunctor()
Definition: ComputeParticleDiagFunctor.H:23
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 attribtutes for lab-frame snapshot,...
Definition: ComputeParticleDiagFunctor.H:49
ComputeParticleDiagFunctor(const ComputeParticleDiagFunctor &)=default
virtual void InitData()
Definition: ComputeParticleDiagFunctor.H:64
Definition: NamedComponentParticleContainer.H:49
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ignore_unused(const Ts &...)