24#include <unordered_map>
95 std::optional<distribution::SpinvMF> spin_distr = std::nullopt
136 std::unique_ptr<initialization::AmrCoreData>
amr_data;
167 void call_hook (std::string
const & name);
bool initialized()
Definition ImpactX.H:154
std::unique_ptr< initialization::AmrCoreData > amr_data
Definition ImpactX.H:136
void track_envelope()
Definition envelope.cpp:34
ImpactX(ImpactX const &)=delete
void add_particles(amrex::ParticleReal bunch_charge, distribution::KnownDistributions distr, amrex::Long npart, std::optional< distribution::SpinvMF > spin_distr=std::nullopt)
Definition InitDistribution.cpp:279
std::list< elements::KnownElements > m_lattice
Definition ImpactX.H:146
void track_particles()
Definition particles.cpp:33
TrackingState m_tracking_state
hooks that users can call
Definition ImpactX.H:176
ImpactX()
Definition ImpactX.cpp:31
void initBeamDistributionFromInputs()
Definition InitDistribution.cpp:535
~ImpactX()
Definition ImpactX.cpp:38
bool early_param_check()
Definition Warnings.cpp:61
void initLatticeElementsFromInputs()
Definition InitElement.cpp:726
std::unordered_map< std::string, std::function< void(ImpactX *)> > m_hook
Definition ImpactX.H:172
void init_warning_logger()
Definition Warnings.cpp:25
void ResizeMesh()
Definition InitMeshRefinement.cpp:81
void init_grids()
Definition ImpactX.cpp:74
void track_reference(RefPart &ref)
Definition reference.cpp:30
void finalize()
Definition ImpactX.cpp:43
bool m_grids_initialized
Definition ImpactX.H:185
void operator=(ImpactX const &)=delete
void finalize_elements()
Definition ImpactX.cpp:63
void call_hook(std::string const &name)
Definition Hooks.cpp:17
void validate()
Definition Validate.cpp:22
void evolve()
Definition ImpactX.cpp:127
ImpactX(ImpactX &&)=delete
amrex_particle_real ParticleReal
std::variant< Empty, Gaussian, Kurth4D, Kurth6D, KVdist, Thermal, Triangle, Semigaussian, Waterbag > KnownDistributions
Definition All.H:30
Definition CovarianceMatrixMath.H:25
Definition ReferenceParticle.H:33
Definition TrackingState.H:24