ImpactX
None.H
Go to the documentation of this file.
1 /* Copyright 2022-2023 The Regents of the University of California, through Lawrence
2  * Berkeley National Laboratory (subject to receipt of any required
3  * approvals from the U.S. Dept. of Energy). All rights reserved.
4  *
5  * This file is part of ImpactX.
6  *
7  * Authors: Axel Huebl
8  * License: BSD-3-Clause-LBNL
9  */
10 #ifndef IMPACTX_NONE_H
11 #define IMPACTX_NONE_H
12 
14 #include "mixin/thin.H"
15 #include "mixin/nofinalize.H"
16 
17 #include <AMReX_Extension.H>
18 #include <AMReX_REAL.H>
19 
20 
21 namespace impactx
22 {
23  struct None
24  : public elements::Thin,
26  {
27  static constexpr auto name = "None";
29 
32  None ()
33  {
34  }
35 
38  ImpactXParticleContainer & /* pc */,
39  int /* step */
40  ) {
41  // nothing to do
42  }
43 
47  RefPart & AMREX_RESTRICT /* ref_part */
48  ) {
49  // nothing to do
50  }
51 
62  [[maybe_unused]] PType& AMREX_RESTRICT p,
63  [[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT px,
64  [[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT py,
65  [[maybe_unused]] amrex::ParticleReal & AMREX_RESTRICT pt,
66  [[maybe_unused]] RefPart const & refpart) const
67  {
68  // nothing to do
69  }
70 
72  using Thin::operator();
73  };
74 
75 } // namespace impactx
76 
77 #endif // IMPACTX_NONE_H
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
Definition: ImpactXParticleContainer.H:138
Definition: ImpactXParticleContainer.H:107
Definition: ImpactX.cpp:33
Definition: None.H:26
static constexpr auto name
Definition: None.H:27
ImpactXParticleContainer::ParticleType PType
Definition: None.H:28
void operator()(ImpactXParticleContainer &, int)
Definition: None.H:37
None()
Definition: None.H:32
Definition: ReferenceParticle.H:30
Definition: nofinalize.H:22
Definition: thin.H:24