Skip to content

Class rayx::DesignSource

ClassList > rayx > DesignSource

Inherits the following classes: rayx::BeamlineNode

Public Attributes

Type Name
DesignMap m_elementParameters

Public Functions

Type Name
DesignSource ()
DesignSource (std::string name)
DesignSource (const DesignSource & other) = delete
DesignSource (DesignSource && other) noexcept
virtual std::unique_ptr< BeamlineNode > clone () override const
Creates a deep copy (clone) of this BeamlineNode .
double getBendingRadius () const
Rad getDeltaOpeningAngle () const
double getElectronEnergy () const
ElectronEnergyOrientation getElectronEnergyOrientation () const
double getElectronSigmaX () const
double getElectronSigmaXs () const
double getElectronSigmaY () const
double getElectronSigmaYs () const
double getEnergy () const
EnergyDistributionVariant getEnergyDistribution () const
EnergyDistributionType getEnergyDistributionType () const
double getEnergySpread () const
SpreadType getEnergySpreadType () const
EnergySpreadUnit getEnergySpreadUnit () const
SourceDist getHeightDist () const
SourceDist getHorDist () const
double getHorDivergence () const
Rad getMaxOpeningAngle () const
Rad getMinOpeningAngle () const
virtual std::string getName () override const
int getNumOfCircles () const
int getNumberOfRays () const
int getNumberOfSeparateEnergies () const
virtual glm::dmat4x4 getOrientation () override const
Gets the local orientation (rotation/transform) of this node.
double getPhotonFlux () const
virtual glm::dvec4 getPosition () override const
Gets the local position of this node.
std::shared_ptr< Rays > getRayList () const
SigmaType getSigmaType () const
double getSourceDepth () const
double getSourceHeight () const
double getSourceWidth () const
glm::dvec4 getStokes () const
ElementType getType () const
double getUndulatorLength () const
SourceDist getVerDist () const
double getVerDivergence () const
double getVerEBeamDivergence () const
SourceDist getWidthDist () const
virtual bool isSource () override const
DesignSource & operator= (const DesignSource & other) = delete
DesignSource & operator= (DesignSource && other) noexcept
void setBendingRadius (double value)
void setDeltaOpeningAngle (Rad value)
void setElectronEnergy (double value)
void setElectronEnergyOrientation (ElectronEnergyOrientation value)
void setElectronSigmaX (double value)
void setElectronSigmaXs (double value)
void setElectronSigmaY (double value)
void setElectronSigmaYs (double value)
void setEnergy (double value)
void setEnergyDistributionFile (std::string value)
void setEnergyDistributionType (EnergyDistributionType value)
void setEnergySpread (double value)
void setEnergySpreadType (SpreadType value)
void setEnergySpreadUnit (EnergySpreadUnit value)
void setHeightDist (SourceDist value)
void setHorDist (SourceDist value)
void setHorDivergence (double value)
void setMaxOpeningAngle (Rad value)
void setMinOpeningAngle (Rad value)
virtual void setName (std::string s) override
void setNumOfCircles (int value)
void setNumberOfRays (int value)
void setNumberOfSeparateEnergies (int value)
void setOrientation (glm::dmat4x4 o)
void setPhotonFlux (double value)
void setPosition (glm::dvec4 p)
void setRayList (Rays rays)
void setRayList (std::shared_ptr< Rays > & rays)
void setSigmaType (SigmaType value)
void setSourceDepth (double value)
void setSourceHeight (double value)
void setSourceWidth (double value)
void setStokescirc (double value)
void setStokeslin0 (double value)
void setStokeslin45 (double value)
void setType (ElementType s)
void setUndulatorLength (double value)
void setVerDist (SourceDist value)
void setVerDivergence (double value)
void setVerEBeamDivergence (double value)
void setWidthDist (SourceDist value)
~DesignSource () = default

Public Functions inherited from rayx::BeamlineNode

See rayx::BeamlineNode

Type Name
const DesignElement * asElement () const
DesignElement * asElement ()
const Group * asGroup () const
Group * asGroup ()
const DesignSource * asSource () const
DesignSource * asSource ()
virtual std::unique_ptr< BeamlineNode > clone () const = 0
Creates a deep copy (clone) of this BeamlineNode .
virtual std::string getName () const = 0
int getObjectId () const
virtual glm::dmat4 getOrientation () const = 0
Gets the local orientation (rotation/transform) of this node.
const BeamlineNode * getParent () const
BeamlineNode * getParent ()
virtual glm::dvec4 getPosition () const = 0
Gets the local position of this node.
const BeamlineNode * getRoot () const
BeamlineNode * getRoot ()
glm::dmat4 getWorldOrientation () const
Computes the absolute/world orientation of this node.
glm::dvec4 getWorldPosition () const
Computes the absolute/world position of this node.
bool hasParent () const
virtual bool isElement () const
virtual bool isGroup () const
virtual bool isSource () const
virtual const BeamlineNode * operator[] (size_t index) const
virtual BeamlineNode * operator[] (size_t index)
virtual const BeamlineNode * operator[] (const std::string & name) const
virtual BeamlineNode * operator[] (const std::string & name)
virtual void setName (std::string name) = 0
virtual ~BeamlineNode () = default

Public Attributes Documentation

variable m_elementParameters

DesignMap rayx::DesignSource::m_elementParameters;

Public Functions Documentation

function DesignSource [1/4]

rayx::DesignSource::DesignSource () 

function DesignSource [2/4]

rayx::DesignSource::DesignSource (
    std::string name
) 

function DesignSource [3/4]

rayx::DesignSource::DesignSource (
    const DesignSource & other
) = delete

function DesignSource [4/4]

rayx::DesignSource::DesignSource (
    DesignSource && other
) noexcept

function clone

Creates a deep copy (clone) of this BeamlineNode .

virtual std::unique_ptr< BeamlineNode > rayx::DesignSource::clone () override const

Derived classes must implement this to allow duplication of their internal state.

Returns:

A unique_ptr to the newly cloned BeamlineNode.

Implements rayx::BeamlineNode::clone


function getBendingRadius

double rayx::DesignSource::getBendingRadius () const

function getDeltaOpeningAngle

Rad rayx::DesignSource::getDeltaOpeningAngle () const

function getElectronEnergy

double rayx::DesignSource::getElectronEnergy () const

function getElectronEnergyOrientation

ElectronEnergyOrientation rayx::DesignSource::getElectronEnergyOrientation () const

function getElectronSigmaX

double rayx::DesignSource::getElectronSigmaX () const

function getElectronSigmaXs

double rayx::DesignSource::getElectronSigmaXs () const

function getElectronSigmaY

double rayx::DesignSource::getElectronSigmaY () const

function getElectronSigmaYs

double rayx::DesignSource::getElectronSigmaYs () const

function getEnergy

double rayx::DesignSource::getEnergy () const

function getEnergyDistribution

EnergyDistributionVariant rayx::DesignSource::getEnergyDistribution () const

function getEnergyDistributionType

EnergyDistributionType rayx::DesignSource::getEnergyDistributionType () const

function getEnergySpread

double rayx::DesignSource::getEnergySpread () const

function getEnergySpreadType

SpreadType rayx::DesignSource::getEnergySpreadType () const

function getEnergySpreadUnit

EnergySpreadUnit rayx::DesignSource::getEnergySpreadUnit () const

function getHeightDist

SourceDist rayx::DesignSource::getHeightDist () const

function getHorDist

SourceDist rayx::DesignSource::getHorDist () const

function getHorDivergence

double rayx::DesignSource::getHorDivergence () const

function getMaxOpeningAngle

Rad rayx::DesignSource::getMaxOpeningAngle () const

function getMinOpeningAngle

Rad rayx::DesignSource::getMinOpeningAngle () const

function getName

virtual std::string rayx::DesignSource::getName () override const

Implements rayx::BeamlineNode::getName


function getNumOfCircles

int rayx::DesignSource::getNumOfCircles () const

function getNumberOfRays

int rayx::DesignSource::getNumberOfRays () const

function getNumberOfSeparateEnergies

int rayx::DesignSource::getNumberOfSeparateEnergies () const

function getOrientation

Gets the local orientation (rotation/transform) of this node.

virtual glm::dmat4x4 rayx::DesignSource::getOrientation () override const

Each node may have its own transform relative to its parent.

Returns:

A 4x4 matrix (dmat4) representing the local orientation.

Implements rayx::BeamlineNode::getOrientation


function getPhotonFlux

double rayx::DesignSource::getPhotonFlux () const

function getPosition

Gets the local position of this node.

virtual glm::dvec4 rayx::DesignSource::getPosition () override const

Each node may have its own transform relative to its parent.

Returns:

A 4D vector (dvec4) representing the local position.

Implements rayx::BeamlineNode::getPosition


function getRayList

std::shared_ptr< Rays > rayx::DesignSource::getRayList () const

function getSigmaType

SigmaType rayx::DesignSource::getSigmaType () const

function getSourceDepth

double rayx::DesignSource::getSourceDepth () const

function getSourceHeight

double rayx::DesignSource::getSourceHeight () const

function getSourceWidth

double rayx::DesignSource::getSourceWidth () const

function getStokes

glm::dvec4 rayx::DesignSource::getStokes () const

function getType

ElementType rayx::DesignSource::getType () const

function getUndulatorLength

double rayx::DesignSource::getUndulatorLength () const

function getVerDist

SourceDist rayx::DesignSource::getVerDist () const

function getVerDivergence

double rayx::DesignSource::getVerDivergence () const

function getVerEBeamDivergence

double rayx::DesignSource::getVerEBeamDivergence () const

function getWidthDist

SourceDist rayx::DesignSource::getWidthDist () const

function isSource

inline virtual bool rayx::DesignSource::isSource () override const

Implements rayx::BeamlineNode::isSource


function operator=

DesignSource & rayx::DesignSource::operator= (
    const DesignSource & other
) = delete

function operator=

DesignSource & rayx::DesignSource::operator= (
    DesignSource && other
) noexcept

function setBendingRadius

void rayx::DesignSource::setBendingRadius (
    double value
) 

function setDeltaOpeningAngle

void rayx::DesignSource::setDeltaOpeningAngle (
    Rad value
) 

function setElectronEnergy

void rayx::DesignSource::setElectronEnergy (
    double value
) 

function setElectronEnergyOrientation

void rayx::DesignSource::setElectronEnergyOrientation (
    ElectronEnergyOrientation value
) 

function setElectronSigmaX

void rayx::DesignSource::setElectronSigmaX (
    double value
) 

function setElectronSigmaXs

void rayx::DesignSource::setElectronSigmaXs (
    double value
) 

function setElectronSigmaY

void rayx::DesignSource::setElectronSigmaY (
    double value
) 

function setElectronSigmaYs

void rayx::DesignSource::setElectronSigmaYs (
    double value
) 

function setEnergy

void rayx::DesignSource::setEnergy (
    double value
) 

function setEnergyDistributionFile

void rayx::DesignSource::setEnergyDistributionFile (
    std::string value
) 

function setEnergyDistributionType

void rayx::DesignSource::setEnergyDistributionType (
    EnergyDistributionType value
) 

function setEnergySpread

void rayx::DesignSource::setEnergySpread (
    double value
) 

function setEnergySpreadType

void rayx::DesignSource::setEnergySpreadType (
    SpreadType value
) 

function setEnergySpreadUnit

void rayx::DesignSource::setEnergySpreadUnit (
    EnergySpreadUnit value
) 

function setHeightDist

void rayx::DesignSource::setHeightDist (
    SourceDist value
) 

function setHorDist

void rayx::DesignSource::setHorDist (
    SourceDist value
) 

function setHorDivergence

void rayx::DesignSource::setHorDivergence (
    double value
) 

function setMaxOpeningAngle

void rayx::DesignSource::setMaxOpeningAngle (
    Rad value
) 

function setMinOpeningAngle

void rayx::DesignSource::setMinOpeningAngle (
    Rad value
) 

function setName

virtual void rayx::DesignSource::setName (
    std::string s
) override

Implements rayx::BeamlineNode::setName


function setNumOfCircles

void rayx::DesignSource::setNumOfCircles (
    int value
) 

function setNumberOfRays

void rayx::DesignSource::setNumberOfRays (
    int value
) 

function setNumberOfSeparateEnergies

void rayx::DesignSource::setNumberOfSeparateEnergies (
    int value
) 

function setOrientation

void rayx::DesignSource::setOrientation (
    glm::dmat4x4 o
) 

function setPhotonFlux

void rayx::DesignSource::setPhotonFlux (
    double value
) 

function setPosition

void rayx::DesignSource::setPosition (
    glm::dvec4 p
) 

function setRayList [1/2]

void rayx::DesignSource::setRayList (
    Rays rays
) 

function setRayList [2/2]

void rayx::DesignSource::setRayList (
    std::shared_ptr< Rays > & rays
) 

function setSigmaType

void rayx::DesignSource::setSigmaType (
    SigmaType value
) 

function setSourceDepth

void rayx::DesignSource::setSourceDepth (
    double value
) 

function setSourceHeight

void rayx::DesignSource::setSourceHeight (
    double value
) 

function setSourceWidth

void rayx::DesignSource::setSourceWidth (
    double value
) 

function setStokescirc

void rayx::DesignSource::setStokescirc (
    double value
) 

function setStokeslin0

void rayx::DesignSource::setStokeslin0 (
    double value
) 

function setStokeslin45

void rayx::DesignSource::setStokeslin45 (
    double value
) 

function setType

void rayx::DesignSource::setType (
    ElementType s
) 

function setUndulatorLength

void rayx::DesignSource::setUndulatorLength (
    double value
) 

function setVerDist

void rayx::DesignSource::setVerDist (
    SourceDist value
) 

function setVerDivergence

void rayx::DesignSource::setVerDivergence (
    double value
) 

function setVerEBeamDivergence

void rayx::DesignSource::setVerEBeamDivergence (
    double value
) 

function setWidthDist

void rayx::DesignSource::setWidthDist (
    SourceDist value
) 

function ~DesignSource

rayx::DesignSource::~DesignSource () = default


The documentation for this class was generated from the following file Intern/rayx-core/src/Design/DesignSource.h