BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SimpleSelectionRule Class Reference
Inheritance diagram for SimpleSelectionRule:
Collaboration diagram for SimpleSelectionRule:

Public Member Functions

 SimpleSelectionRule (int a, int b, int c, int modulus)
 
virtual ~SimpleSelectionRule ()
 
virtual SimpleSelectionRuleclone () const
 
virtual bool coordinateSelected (const ivector_t &coordinate) const
 

Private Attributes

int m_a
 
int m_b
 
int m_c
 
int m_mod
 

Detailed Description

Selection rule (v*q)modulus!=0, defined by vector v(a,b,c) and modulus.

Definition at line 36 of file ISelectionRule.h.

Constructor & Destructor Documentation

◆ SimpleSelectionRule()

SimpleSelectionRule::SimpleSelectionRule ( int  a,
int  b,
int  c,
int  modulus 
)
inline

Definition at line 51 of file ISelectionRule.h.

52  : m_a(a), m_b(b), m_c(c), m_mod(modulus)
53 {
54 }

Referenced by clone().

◆ ~SimpleSelectionRule()

virtual SimpleSelectionRule::~SimpleSelectionRule ( )
inlinevirtual

Definition at line 40 of file ISelectionRule.h.

40 {}

Member Function Documentation

◆ clone()

SimpleSelectionRule * SimpleSelectionRule::clone ( ) const
inlinevirtual

Implements ISelectionRule.

Definition at line 56 of file ISelectionRule.h.

57 {
58  return new SimpleSelectionRule(m_a, m_b, m_c, m_mod);
59 }
SimpleSelectionRule(int a, int b, int c, int modulus)

References m_a, m_b, m_c, m_mod, and SimpleSelectionRule().

Here is the call graph for this function:

◆ coordinateSelected()

bool SimpleSelectionRule::coordinateSelected ( const ivector_t coordinate) const
inlinevirtual

Implements ISelectionRule.

Definition at line 61 of file ISelectionRule.h.

62 {
63  return (m_a * coordinate[0] + m_b * coordinate[1] + m_c * coordinate[2]) % m_mod == 0;
64 }

References m_a, m_b, m_c, and m_mod.

Member Data Documentation

◆ m_a

int SimpleSelectionRule::m_a
private

Definition at line 47 of file ISelectionRule.h.

Referenced by clone(), and coordinateSelected().

◆ m_b

int SimpleSelectionRule::m_b
private

Definition at line 47 of file ISelectionRule.h.

Referenced by clone(), and coordinateSelected().

◆ m_c

int SimpleSelectionRule::m_c
private

Definition at line 47 of file ISelectionRule.h.

Referenced by clone(), and coordinateSelected().

◆ m_mod

int SimpleSelectionRule::m_mod
private

Definition at line 48 of file ISelectionRule.h.

Referenced by clone(), and coordinateSelected().


The documentation for this class was generated from the following file: