/* * AddPotentialAction.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 ("add-potential")("potential-charges") #define paramdescriptions ("potential type to instantiate")("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) #define statereferences (potential_name)(chargenumbers) // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Potential #define MENUNAME "potential" #define MENUPOSITION 1 #define ACTIONNAME AddPotential #define TOKEN "add-potential" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "add a new potential to the internal registry" #undef SHORTFORM