BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
ReCoreShell Class Reference

Description

A reprocessed core shell particle.

Definition at line 29 of file ReCoreShell.h.

Inheritance diagram for ReCoreShell:
[legend]
Collaboration diagram for ReCoreShell:
[legend]

Public Member Functions

 ReCoreShell (IReParticle *core, IReParticle *shell)
 
 ~ReCoreShell () override
 
double bottomZ (const IRotation *rotation) const override
 Returns the z-coordinate of the lowest point in this shape after a given rotation. More...
 
ReCoreShellclone () const override
 
double radialExtension () const override
 Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations. More...
 
void setAmbientMaterial (const Material &material) override
 Passes the material in which this particle is embedded. More...
 
complex_t theFF (const WavevectorInfo &wavevectors) const override
 Returns scattering amplitude for complex wavevectors ki, kf. More...
 
SpinMatrix thePolFF (const WavevectorInfo &wavevectors) const override
 Returns scattering amplitude for matrix interactions. More...
 
double topZ (const IRotation *rotation) const override
 Returns the z-coordinate of the lowest point in this shape after a given rotation. More...
 
virtual void transferToCPP ()
 Used for Python overriding of clone (see swig/tweaks.py) More...
 
virtual double volume () const
 Returns the total volume of the particle of this form factor's shape. More...
 

Protected Attributes

std::unique_ptr< IReParticlem_core
 
std::unique_ptr< IReParticlem_shell
 

Constructor & Destructor Documentation

◆ ReCoreShell()

ReCoreShell::ReCoreShell ( IReParticle core,
IReParticle shell 
)

Definition at line 19 of file ReCoreShell.cpp.

20  : m_core(core)
21  , m_shell(shell)
22 {
23 }
std::unique_ptr< IReParticle > m_core
Definition: ReCoreShell.h:48
std::unique_ptr< IReParticle > m_shell
Definition: ReCoreShell.h:49

Referenced by clone().

◆ ~ReCoreShell()

ReCoreShell::~ReCoreShell ( )
overridedefault

Member Function Documentation

◆ bottomZ()

double ReCoreShell::bottomZ ( const IRotation rotation) const
overridevirtual

Returns the z-coordinate of the lowest point in this shape after a given rotation.

Implements IReParticle.

Definition at line 37 of file ReCoreShell.cpp.

38 {
39  return m_shell->bottomZ(rotation);
40 }

References m_shell.

◆ clone()

ReCoreShell * ReCoreShell::clone ( ) const
overridevirtual

Implements IReParticle.

Definition at line 27 of file ReCoreShell.cpp.

28 {
29  return new ReCoreShell(m_core->clone(), m_shell->clone());
30 }
ReCoreShell(IReParticle *core, IReParticle *shell)
Definition: ReCoreShell.cpp:19

References ReCoreShell(), m_core, and m_shell.

Here is the call graph for this function:

◆ radialExtension()

double ReCoreShell::radialExtension ( ) const
overridevirtual

Returns the (approximate in some cases) radial size of the particle of this form factor's shape. This is used for SSCA calculations.

Implements IReParticle.

Definition at line 32 of file ReCoreShell.cpp.

33 {
34  return m_shell->radialExtension();
35 }

References m_shell.

◆ setAmbientMaterial()

void ReCoreShell::setAmbientMaterial ( const Material )
overridevirtual

Passes the material in which this particle is embedded.

Reimplemented from IReParticle.

Definition at line 47 of file ReCoreShell.cpp.

48 {
49  m_shell->setAmbientMaterial(material);
50 }

References m_shell.

◆ theFF()

complex_t ReCoreShell::theFF ( const WavevectorInfo wavevectors) const
overridevirtual

Returns scattering amplitude for complex wavevectors ki, kf.

Implements IReParticle.

Definition at line 52 of file ReCoreShell.cpp.

53 {
54  return m_shell->theFF(wavevectors) + m_core->theFF(wavevectors);
55 }

References m_core, and m_shell.

◆ thePolFF()

SpinMatrix ReCoreShell::thePolFF ( const WavevectorInfo wavevectors) const
overridevirtual

Returns scattering amplitude for matrix interactions.

Reimplemented from IReParticle.

Definition at line 57 of file ReCoreShell.cpp.

58 {
59  return m_shell->thePolFF(wavevectors) + m_core->thePolFF(wavevectors);
60 }

References m_core, and m_shell.

◆ topZ()

double ReCoreShell::topZ ( const IRotation rotation) const
overridevirtual

Returns the z-coordinate of the lowest point in this shape after a given rotation.

Implements IReParticle.

Definition at line 42 of file ReCoreShell.cpp.

43 {
44  return m_shell->topZ(rotation);
45 }

References m_shell.

◆ transferToCPP()

virtual void ICloneable::transferToCPP ( )
inlinevirtualinherited

Used for Python overriding of clone (see swig/tweaks.py)

Definition at line 32 of file ICloneable.h.

◆ volume()

double IReParticle::volume ( ) const
virtualinherited

Returns the total volume of the particle of this form factor's shape.

Reimplemented in ReParticle, and ReMesocrystal.

Definition at line 26 of file IReParticle.cpp.

27 {
28  auto zero_wavevectors = WavevectorInfo::makeZeroQ();
29  return std::abs(theFF(zero_wavevectors));
30 }
virtual complex_t theFF(const WavevectorInfo &wavevectors) const =0
Returns scattering amplitude for complex wavevectors ki, kf.
static WavevectorInfo makeZeroQ()

References WavevectorInfo::makeZeroQ(), and IReParticle::theFF().

Here is the call graph for this function:

Member Data Documentation

◆ m_core

std::unique_ptr<IReParticle> ReCoreShell::m_core
protected

Definition at line 48 of file ReCoreShell.h.

Referenced by clone(), theFF(), and thePolFF().

◆ m_shell

std::unique_ptr<IReParticle> ReCoreShell::m_shell
protected

Definition at line 49 of file ReCoreShell.h.

Referenced by bottomZ(), clone(), radialExtension(), setAmbientMaterial(), theFF(), thePolFF(), and topZ().


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