/* * RemovePotentialAction.def * * Created on: Aug 17, 2025 * Author: heber */ // all includes and forward declarations necessary for non-integral types below #include "FunctionApproximation/FunctionModel.hpp" #include "Parameters/Validators/Specific/ElementValidator.hpp" #include "Parameters/Validators/Specific/PotentialTypeValidator.hpp" #include "Parameters/Validators/STLVectorValidator.hpp" #include "Potentials/SerializablePotential.hpp" // i.e. there is an integer with variable name Z that can be found in // ValueStorage by the token "Z" -> first column: int, Z, "Z" // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value #define paramtypes (std::string)(std::vector) #define paramtokens ("remove-potential")("potential-charges") #define paramdescriptions ("potential type to remove")("charges specifying the potential") #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT) #define paramreferences (potential_type)(charges) #define paramvalids \ (PotentialTypeValidator()) \ (STLVectorValidator< std::vector >(0,99, ElementValidator())) #define statetypes (std::string)(SerializablePotential::ParticleTypes_t)(FunctionModel::parameters_t) #define statereferences (potential_name)(chargenumbers)(potential_params) // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Potential #define MENUNAME "potential" #define MENUPOSITION 2 #define ACTIONNAME RemovePotential #define TOKEN "remove-potential" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "remove a present potential from the internal registry" #undef SHORTFORM