84 virtual std::vector<std::string>
99 std::size_t
getEc()
const;
102 typedef std::map<std::string,
160 return !((*this) == rhs);
165 return rhs < (*this);
170 return !((*this) > rhs);
175 return !((*this) < rhs);
Symmetry function base class.
std::size_t type
Symmetry function type.
bool operator>=(SymGrp const &rhs) const
Overload >= operator.
std::size_t getType() const
Get private type member variable.
static PrintFormat const printFormat
Map of parameter format strings and empty strings.
std::size_t index
Symmetry function group index.
static PrintFormat const initializePrintFormat()
Initialize static print format map for all possible parameters.
virtual bool operator<(SymGrp const &rhs) const =0
Overload < operator.
std::vector< size_t > memberIndex
Vector containing indices of all member symmetry functions.
std::string getPrintFormatCommon() const
Get common parameter line format string.
bool operator<=(SymGrp const &rhs) const
Overload <= operator.
virtual void sortMembers()=0
Sort member symmetry functions.
virtual ~SymGrp()
Virtual destructor.
virtual std::vector< std::string > parameterLines() const =0
Give symmetry function group parameters on multiple lines.
bool operator!=(SymGrp const &rhs) const
Overload != operator.
std::size_t ec
Element index of center atom (common feature).
std::vector< std::vector< std::size_t > > memberIndexPerElement
Vector containing per-element indices of all member symmetry functions.
std::size_t getEc() const
Get private ec member variable.
std::map< std::string, std::pair< std::string, std::string > > PrintFormat
double convLength
Data set normalization length conversion factor.
std::set< std::string > parametersCommon
Set of common parameters IDs.
std::vector< std::string > PrintOrder
ElementMap elementMap
Copy of element map.
std::size_t getIndex() const
Get private index member variable.
virtual bool operator==(SymGrp const &rhs) const =0
Overload == operator.
std::string getPrintFormatMember() const
Get member parameter line format string.
void setIndex(std::size_t index)
Set private index member variable.
virtual bool addMember(SymFnc const *const symmetryFunction)=0
Potentially add a member to group.
std::vector< double > scalingFactors
Scaling factors of all member symmetry functions.
std::set< std::string > parametersMember
Set of common parameters IDs.
static PrintOrder const printOrder
Vector of parameters in order of printing.
SymGrp(std::size_t type, ElementMap const &elementMap)
Constructor, sets type.
virtual void setScalingFactors()=0
Fill scalingFactors with values from member symmetry functions.
static PrintOrder const initializePrintOrder()
Initialize static print order vector for all possible parameters.
virtual void calculate(Atom &atom, bool const derivatives) const =0
Calculate all symmetry functions of this group for one atom.
bool operator>(SymGrp const &rhs) const
Overload > operator.
Storage for a single atom.