ARTEMIS
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 
43  virtual void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
44  amrex::Real old_z_boost,
45  amrex::Real current_z_boost, amrex::Real t_lab,
46  int snapshot_full)
47  {
48  amrex::ignore_unused(i_buffer,
49  ZSliceInDomain, old_z_boost,
50  current_z_boost, t_lab, snapshot_full);
51  }
57  virtual void operator () (PinnedMemoryParticleContainer& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
58  virtual void InitData () {}
59 };
60 
61 #endif // WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
Functor to compute a diagnostic and store the result in existing ParticleContainer.
Definition: ComputeParticleDiagFunctor.H:20
virtual ~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:43
virtual void InitData()
Definition: ComputeParticleDiagFunctor.H:58
Definition: NamedComponentParticleContainer.H:47
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ignore_unused(const Ts &...)