diff options
Diffstat (limited to 'Source/AcceleratorLattice/AcceleratorLattice.cpp')
-rw-r--r-- | Source/AcceleratorLattice/AcceleratorLattice.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Source/AcceleratorLattice/AcceleratorLattice.cpp b/Source/AcceleratorLattice/AcceleratorLattice.cpp index 1c22e6244..e05167c26 100644 --- a/Source/AcceleratorLattice/AcceleratorLattice.cpp +++ b/Source/AcceleratorLattice/AcceleratorLattice.cpp @@ -1,7 +1,10 @@ -/* Copyright 2022 David Grote +/* Copyright 2022-2023 The Regents of the University of California, through Lawrence + * Berkeley National Laboratory (subject to receipt of any required + * approvals from the U.S. Dept. of Energy). All rights reserved. * * This file is part of WarpX. * + * Authors: David Grote, Axel HUebl * License: BSD-3-Clause-LBNL */ #include "AcceleratorLattice.H" @@ -11,6 +14,9 @@ #include <AMReX_REAL.H> +#include <algorithm> + + AcceleratorLattice::AcceleratorLattice () { @@ -35,6 +41,13 @@ AcceleratorLattice::ReadLattice (std::string const & root_name, amrex::ParticleR m_lattice_defined = true; } + bool reverse = false; + pp_lattice.queryAdd("reverse", reverse); + + if (reverse) { + std::reverse(lattice_elements.begin(), lattice_elements.end()); + } + // Loop through lattice elements for (std::string const & element_name : lattice_elements) { // Check the element type @@ -52,7 +65,7 @@ AcceleratorLattice::ReadLattice (std::string const & root_name, amrex::ParticleR else if (element_type == "plasmalens") { h_plasmalens.AddElement(pp_element, z_location); } - else if (element_type == "lattice") { + else if (element_type == "line") { ReadLattice(element_name, z_location); } else { |