|
ImpactX
|
#include <Source.H>
Public Types | |
| using | PType = ImpactXParticleContainer::ParticleType |
Public Attributes | |
| std::string | m_distribution |
| std::string | m_series_name |
| Distribution type of particles in the source. | |
| bool | m_active_once = true |
| openPMD filename | |
Static Public Attributes | |
| static constexpr auto | type = "Source" |
| static constexpr bool | DEFAULT_active_once = true |
| Static Public Attributes inherited from impactx::elements::mixin::Named | |
| static constexpr std::nullopt_t | DEFAULT_name = std::nullopt |
| Static Public Attributes inherited from impactx::elements::mixin::LinearTransport< Source > | |
| static constexpr bool | has_linear_transport |
|
inline |
A particle source
| distribution | Must read "openPMD" for this constructor |
| openpmd_path | path to openPMD series as accepted by openPMD::Series |
| active_once | inject particles only for the first lattice period |
| name | a user defined and not necessarily unique name of the element |
| void impactx::elements::Source::operator() | ( | ImpactXParticleContainer & | pc, |
| int | step, | ||
| int | period ) |
Initialize/Load particles.
Particles are relative to the reference particle.
| [in,out] | pc | particle container to push |
| [in] | step | global step for diagnostics |
| [in] | period | for periodic lattices, this is the current period (turn or cycle) |
|
inline |
Reverse the element (not supported for Source)
|
inline |
This function returns the linear transport map.
| [in] | refpart | reference particle |
|
staticconstexpr |
| bool impactx::elements::Source::m_active_once = true |
openPMD filename
| std::string impactx::elements::Source::m_distribution |
| std::string impactx::elements::Source::m_series_name |
Distribution type of particles in the source.
|
staticconstexpr |