ImpactX
thick.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_ELEMENTS_MIXIN_THICK_H
11 #define IMPACTX_ELEMENTS_MIXIN_THICK_H
12 
14 
15 #include <AMReX_Extension.H>
16 #include <AMReX_REAL.H>
17 
18 
19 namespace impactx::elements
20 {
23  struct Thick
24  {
31  amrex::ParticleReal ds,
32  int nslice
33  )
34  : m_ds(ds), m_nslice(nslice)
35  {
36  }
37 
43  int nslice () const
44  {
45  return m_nslice;
46  }
47 
53  amrex::ParticleReal ds () const
54  {
55  return m_ds;
56  }
57 
58  amrex::ParticleReal m_ds;
59  int m_nslice;
60  };
61 
62 } // namespace impactx::elements
63 
64 #endif // IMPACTX_ELEMENTS_MIXIN_THICK_H
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
Definition: alignment.H:23
Definition: thick.H:24
Thick(amrex::ParticleReal ds, int nslice)
Definition: thick.H:30
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::ParticleReal ds() const
Definition: thick.H:53
int m_nslice
segment length in m
Definition: thick.H:59
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int nslice() const
Definition: thick.H:43
amrex::ParticleReal m_ds
Definition: thick.H:58