7 #ifndef WARPX_ACCELERATORLATTICE_ACCELERATORLATTICE_H_
8 #define WARPX_ACCELERATORLATTICE_ACCELERATORLATTICE_H_
33 ReadLattice (std::string
const & root_name, amrex::ParticleReal & z_location);
Definition: AcceleratorLattice.H:21
std::unique_ptr< amrex::LayoutData< LatticeElementFinder > > m_element_finder
Definition: AcceleratorLattice.H:60
void InitElementFinder(int const lev, amrex::BoxArray const &ba, amrex::DistributionMapping const &dm)
Initialize the element finder instance at the given level of refinement.
Definition: AcceleratorLattice.cpp:79
void ReadLattice(std::string const &root_name, amrex::ParticleReal &z_location)
Read in the MAD like lattice description.
Definition: AcceleratorLattice.cpp:34
HardEdgedPlasmaLens h_plasmalens
Definition: AcceleratorLattice.H:74
Drift h_drift
Definition: AcceleratorLattice.H:72
void UpdateElementFinder(int const lev)
Update the element finder, needed when the simulation frame has moved relative to the lab frame.
Definition: AcceleratorLattice.cpp:91
bool m_lattice_defined
Definition: AcceleratorLattice.H:39
HardEdgedQuadrupole h_quad
Definition: AcceleratorLattice.H:73
AcceleratorLattice()
Definition: AcceleratorLattice.cpp:20
LatticeElementFinderDevice GetFinderDeviceInstance(WarpXParIter const &a_pti, int const a_offset) const
Return an instance of a lattice finder associated with the grid and that can be used on the device (s...
Definition: AcceleratorLattice.cpp:102
int m_level
Definition: AcceleratorLattice.H:36
Definition: WarpXParticleContainer.H:52
Definition: HardEdgedPlasmaLens.H:27
Definition: HardEdgedQuadrupole.H:27
The lattice element finder class that can be trivially copied to the device. This only has simple dat...
Definition: LatticeElementFinder.H:153