|
ImpactX
|
Namespaces | |
| detail | |
| diagnostics | |
| distribution | |
| elements | |
| initialization | |
| integrators | |
| madx_to_impactx | |
| MADXParser | |
| RFCavityData | |
| SoftQuadrupoleData | |
| SoftSolenoidData | |
| spacecharge | |
| transformation | |
Classes | |
| class | ImpactX |
| struct | ChrDrift |
| struct | ChrQuad |
| struct | ChrAcc |
| struct | ConstF |
| struct | DipEdge |
| struct | Drift |
| struct | ExactDrift |
| struct | Multipole |
| struct | None |
| struct | NonlinearLens |
| struct | Programmable |
| struct | PRot |
| struct | Quad |
| struct | RF_field_data |
| struct | RFCavity |
| struct | Sbend |
| struct | ShortRF |
| struct | Quad_field_data |
| struct | SoftQuadrupole |
| struct | Sol_field_data |
| struct | SoftSolenoid |
| struct | Sol |
| struct | RealAoS |
| struct | RealSoA |
| struct | IntSoA |
| class | ParIter |
| class | ParConstIter |
| class | ImpactXParticleContainer |
| struct | RefPart |
| struct | Config |
Typedefs | |
| using | KnownElements = std::variant< None, ChrAcc, ChrDrift, ChrQuad, ConstF, diagnostics::BeamMonitor, DipEdge, Drift, ExactDrift, Multipole, NonlinearLens, Programmable, PRot, Quad, RFCavity, Sbend, ShortRF, SoftSolenoid, SoftQuadrupole, Sol > |
Functions | |
| void | read_element (std::string element_name, std::list< KnownElements > &m_lattice, int nslice_default, int mapsteps_default) |
| bool | do_omp_dynamic () |
| void | Push (ImpactXParticleContainer &pc, KnownElements &element_variant, int step) |
| template<typename T_Element > | |
| void | push_all (ImpactXParticleContainer &pc, T_Element &element, [[maybe_unused]] int step, [[maybe_unused]] bool omp_parallel=true) |
Variables | |
| pwd = __file__.rsplit(os.sep, 1)[0] + os.sep | |
| paths = os.environ.get("PATH", "") | |
| __version__ = cxx.__version__ | |
| __doc__ = cxx.__doc__ | |
| __license__ = cxx.__license__ | |
| __author__ = cxx.__author__ | |
| load_file | |
| self | |
| madx_file | |
| nslice | |
| using impactx::KnownElements = typedef std::variant< None, ChrAcc, ChrDrift, ChrQuad, ConstF, diagnostics::BeamMonitor, DipEdge, Drift, ExactDrift, Multipole, NonlinearLens, Programmable, PRot, Quad, RFCavity, Sbend, ShortRF, SoftSolenoid, SoftQuadrupole, Sol > |
| bool impactx::do_omp_dynamic | ( | ) |
| void impactx::Push | ( | ImpactXParticleContainer & | pc, |
| KnownElements & | element_variant, | ||
| int | step | ||
| ) |
Push particles
| [in,out] | pc | container of the particles to push |
| [in,out] | element_variant | a single element to push the particles through |
| [in] | step | global step for diagnostics |
| void impactx::push_all | ( | ImpactXParticleContainer & | pc, |
| T_Element & | element, | ||
| [[maybe_unused] ] int | step, | ||
| [[maybe_unused] ] bool | omp_parallel = true |
||
| ) |
Push all particles in a particle container.
This element pushes first the reference particle, then all other particles. All particles are pushed independently with the same logic. Particles are relative to the reference particle.
| [in,out] | pc | particle container to push |
| [in,out] | element | the beamline element |
| [in] | step | global step for diagnostics |
| [in] | omp_parallel | allow threading via OpenMP for the particle iterator loop (note: if OMP backend is active) |
| void impactx::read_element | ( | std::string | element_name, |
| std::list< KnownElements > & | m_lattice, | ||
| int | nslice_default, | ||
| int | mapsteps_default | ||
| ) |
Read a lattice element
Read a lattice element from amrex::ParmParse, initialize it and append it to m_lattice.
| [in] | element_name | element name |
| [in,out] | m_lattice | the accelerator lattice |
| [in] | nslice_default | |
| [in] | mapsteps_default |
|
private |
|
private |
|
private |
|
private |
| impactx.load_file |
| impactx.madx_file |
| impactx.nslice |
| impactx.paths = os.environ.get("PATH", "") |
| impactx.pwd = __file__.rsplit(os.sep, 1)[0] + os.sep |
| impactx.self |