ImpactX
Classes | Functions
detail Namespace Reference

Classes

struct  CellAdd
 
struct  CellAtomicAdd
 
struct  CellStore
 
struct  char_to_explicit_char
 
struct  char_to_explicit_char< false >
 
struct  char_to_explicit_char< true >
 

Functions

void fbv_copy (Vector< TagT > const &tags)
 
void fab_to_fab (Vector< Array4CopyTag< T0, T1 > > const &copy_tags, int scomp, int dcomp, int ncomp, F &&f)
 
void fab_to_fab (Vector< Array4CopyTag< T0, T1 > > const &copy_tags, int scomp, int dcomp, int ncomp, F &&f, Vector< Array4Tag< int > > const &masks)
 
void fab_to_fab_atomic_cpy (Vector< Array4CopyTag< T0, T1 > > const &copy_tags, int scomp, int dcomp, int ncomp, Vector< Array4Tag< int > > const &)
 
void fab_to_fab_atomic_add (Vector< Array4CopyTag< T0, T1 > > const &copy_tags, int scomp, int dcomp, int ncomp, Vector< Array4Tag< int > > const &)
 
Vector< Box > getBoundaryBoxes (const Box &box, int ncells)
 
std::string snakeToCamel (const std::string &snake_string)
 
std::string getSeriesOptions (std::string const &operator_type, std::map< std::string, std::string > const &operator_parameters, std::string const &engine_type, std::map< std::string, std::string > const &engine_parameters)
 
std::pair< std::string, std::string > name2openPMD (std::string const &fullName)
 
std::vector< std::string > getParticlePositionComponentLabels (bool ignore_dims=false)
 
std::vector< std::string > getFieldAxisLabels ([[maybe_unused]] bool const var_in_theta_mode)
 
std::vector< std::string > getFieldComponentLabels (bool const var_in_theta_mode)
 
std::map< openPMD::UnitDimension, double > getUnitDimension (std::string const &record_name)
 
void setOpenPMDUnit (openPMD::Mesh mesh, const std::string field_name)
 
template<typename T >
auto get_or_throw (std::string const &prefix, std::string const &name)
 

Function Documentation

◆ get_or_throw()

template<typename T >
auto detail::get_or_throw ( std::string const &  prefix,
std::string const &  name 
)

Helper Function for Property Getters

This queries an amrex::ParmParse entry. This throws a std::runtime_error if the entry is not found.

This handles most common throw exception logic in ImpactX instead of going over library boundaries via amrex::Abort().

Template Parameters
Ttype of the amrex::ParmParse entry
Parameters
prefixthe prefix, e.g., "impactx" or "amr"
namethe actual key of the entry, e.g., "particle_shape"
Returns
the queried value (or throws if not found)