15 #ifndef BORNAGAIN_CORE_LATTICE_ISELECTIONRULE_H
16 #define BORNAGAIN_CORE_LATTICE_ISELECTIONRULE_H
52 : m_a(a), m_b(b), m_c(c), m_mod(modulus)
63 return (
m_a * coordinate[0] +
m_b * coordinate[1] +
m_c * coordinate[2]) %
m_mod == 0;
Defines basic vectors in R^3 and C^3.
Forked from CLHEP/Geometry by E.
Pure virtual base class for selection rules.
virtual bool coordinateSelected(const ivector_t &coordinate) const =0
virtual ISelectionRule * clone() const =0
virtual ~ISelectionRule()
Selection rule (v*q)modulus!=0, defined by vector v(a,b,c) and modulus.
SimpleSelectionRule(int a, int b, int c, int modulus)
virtual SimpleSelectionRule * clone() const
virtual bool coordinateSelected(const ivector_t &coordinate) const
virtual ~SimpleSelectionRule()