/* * RotateToPrincipalAxisSystemAction.def * * Created on: Aug 26, 2010 * Author: heber */ // all includes and forward declarations necessary for non-integral types below #include "Actions/Values.hpp" #include "LinearAlgebra/Vector.hpp" class MoleculeListClass; #include "Parameters/Validators/Specific/VectorNotZeroValidator.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 (Vector) #define paramtokens ("rotate-to-principal-axis-system") #define paramdescriptions ("vector to which to align the biggest eigenvector with") #undef paramdefaults #define paramreferences (Axis) #define paramvalids \ (VectorNotZeroValidator()) #undef statetypes #undef statereferences // some defines for all the names, you may use ACTION, STATE and PARAMS #define CATEGORY Molecule #define MENUNAME "molecule" #define MENUPOSITION 9 #define ACTIONNAME RotateToPrincipalAxisSystem #define TOKEN "rotate-to-principal-axis-system" // finally the information stored in the ActionTrait specialization #define DESCRIPTION "calculate the principal axis system of the specified molecule and rotate specified axis to align with main axis" #define SHORTFORM "m"