WarpX
Loading...
Searching...
No Matches
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
11#include <AMReX.H>
12#include <AMReX_AmrParticles.H>
13
18{
19public:
20
23 virtual ~ComputeParticleDiagFunctor() = default;
24
30
47 virtual void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
48 amrex::Real old_z_boost,
49 amrex::Real current_z_boost, amrex::Real t_lab,
50 int snapshot_full)
51 {
52 amrex::ignore_unused(i_buffer,
53 ZSliceInDomain, old_z_boost,
54 current_z_boost, t_lab, snapshot_full);
55 }
56
61 virtual void operator () (WarpXParticleContainer::Base& pc_dst, int &totalParticlesInBuffer, int i_buffer = 0) const = 0;
62 virtual void InitData () {}
63};
64
65#endif // WARPX_COMPUTEPARTICLEDIAGFUNCTOR_H_
ComputeParticleDiagFunctor & operator=(const ComputeParticleDiagFunctor &)=default
ComputeParticleDiagFunctor(ComputeParticleDiagFunctor &&)=default
virtual ~ComputeParticleDiagFunctor()=default
ComputeParticleDiagFunctor()=default
ComputeParticleDiagFunctor & operator=(ComputeParticleDiagFunctor &&)=default
virtual void operator()(WarpXParticleContainer::Base &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:47
ComputeParticleDiagFunctor(const ComputeParticleDiagFunctor &)=default
virtual void InitData()
Definition ComputeParticleDiagFunctor.H:62
amrex::ParticleContainerPureSoA< PIdx::nattribs, 0, amrex::PolymorphicArenaAllocator > Base
Definition WarpXParticleContainer.H:199
amrex_real Real
__host__ __device__ void ignore_unused(const Ts &...)