BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
A sequence of rotations about the z-x'-z'' axes.
Definition at line 146 of file Rotations.h.
Public Member Functions | |
RotationEuler (double alpha, double beta, double gamma) | |
RotationEuler (std::vector< double > P) | |
double | alpha () const |
double | beta () const |
void | checkNodeArgs () const |
Raises exception if a parameter value is invalid. More... | |
std::string | className () const final |
Returns the class name, to be hard-coded in each leaf class that inherits from INode. More... | |
RotationEuler * | clone () const override |
IRotation * | createInverse () const override |
Returns a new IRotation object that is the current object's inverse. More... | |
double | gamma () const |
virtual bool | isIdentity () const |
Returns true if rotation matrix is identity matrix (no rotations) More... | |
virtual std::vector< const INode * > | nodeChildren () const |
Returns all children. More... | |
std::vector< const INode * > | nodeOffspring () const |
Returns all descendants. More... | |
std::vector< ParaMeta > | parDefs () const final |
Returns the parameter definitions, to be hard-coded in each leaf class. More... | |
RotMatrix | rotMatrix () const override |
Returns transformation. More... | |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
R3 | transformed (const R3 &v) const |
bool | zInvariant () const |
Static Public Member Functions | |
static IRotation * | createRotation (const RotMatrix &transform) |
Protected Attributes | |
double | m_alpha |
double | m_beta |
double | m_gamma |
std::vector< double > | m_P |
RotationEuler::RotationEuler | ( | std::vector< double > | P | ) |
Definition at line 153 of file Rotations.cpp.
References INode::checkNodeArgs().
Referenced by clone().
RotationEuler::RotationEuler | ( | double | alpha, |
double | beta, | ||
double | gamma | ||
) |
Definition at line 162 of file Rotations.cpp.
References alpha(), beta(), and gamma().
|
inline |
|
inline |
|
inherited |
Raises exception if a parameter value is invalid.
Definition at line 27 of file INode.cpp.
References ASSERT, RealLimits::check(), INode::className(), INF, RealLimits::limited(), RealLimits::limitless(), INode::m_P, ParaMeta::name, RealLimits::nonnegative(), INode::parDefs(), ParaMeta::vMax, and ParaMeta::vMin.
Referenced by BarGauss::BarGauss(), BarLorentz::BarLorentz(), Bipyramid4::Bipyramid4(), Box::Box(), CantellatedCube::CantellatedCube(), Cone::Cone(), ConstantBackground::ConstantBackground(), CosineRippleBox::CosineRippleBox(), CosineRippleGauss::CosineRippleGauss(), CosineRippleLorentz::CosineRippleLorentz(), Cylinder::Cylinder(), DistributionCosine::DistributionCosine(), DistributionGate::DistributionGate(), DistributionGaussian::DistributionGaussian(), DistributionLogNormal::DistributionLogNormal(), DistributionLorentz::DistributionLorentz(), DistributionTrapezoid::DistributionTrapezoid(), Dodecahedron::Dodecahedron(), EllipsoidalCylinder::EllipsoidalCylinder(), FootprintGauss::FootprintGauss(), FootprintSquare::FootprintSquare(), FuzzySphere::FuzzySphere(), GaussSphere::GaussSphere(), HemiEllipsoid::HemiEllipsoid(), HollowSphere::HollowSphere(), HorizontalCylinder::HorizontalCylinder(), Icosahedron::Icosahedron(), LongBoxGauss::LongBoxGauss(), LongBoxLorentz::LongBoxLorentz(), PlatonicOctahedron::PlatonicOctahedron(), PlatonicTetrahedron::PlatonicTetrahedron(), Prism3::Prism3(), Prism6::Prism6(), Profile1DCauchy::Profile1DCauchy(), Profile1DCosine::Profile1DCosine(), Profile1DGate::Profile1DGate(), Profile1DGauss::Profile1DGauss(), Profile1DTriangle::Profile1DTriangle(), Profile1DVoigt::Profile1DVoigt(), Profile2DCauchy::Profile2DCauchy(), Profile2DCone::Profile2DCone(), Profile2DGate::Profile2DGate(), Profile2DGauss::Profile2DGauss(), Profile2DVoigt::Profile2DVoigt(), Pyramid2::Pyramid2(), Pyramid3::Pyramid3(), Pyramid4::Pyramid4(), Pyramid6::Pyramid6(), RotationEuler(), RotationX::RotationX(), RotationY::RotationY(), RotationZ::RotationZ(), SawtoothRippleBox::SawtoothRippleBox(), SawtoothRippleGauss::SawtoothRippleGauss(), SawtoothRippleLorentz::SawtoothRippleLorentz(), Sphere::Sphere(), Spheroid::Spheroid(), TruncatedCube::TruncatedCube(), TruncatedSphere::TruncatedSphere(), and TruncatedSpheroid::TruncatedSpheroid().
|
inlinefinalvirtual |
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Implements INode.
Definition at line 152 of file Rotations.h.
|
inlineoverridevirtual |
Implements IRotation.
Definition at line 151 of file Rotations.h.
References RotationEuler(), m_alpha, m_beta, and m_gamma.
|
overridevirtual |
Returns a new IRotation object that is the current object's inverse.
Implements IRotation.
Definition at line 167 of file Rotations.cpp.
References IRotation::createRotation(), ROOT::Minuit2::Inverse(), and rotMatrix().
Definition at line 28 of file Rotations.cpp.
References RotMatrix::angleAroundCoordAxis(), RotMatrix::isIdentity(), and RotMatrix::zxzEulerAngles().
Referenced by ReParticle::bottomZ(), createInverse(), createProduct(), and ReParticle::topZ().
|
inline |
|
virtualinherited |
Returns true if rotation matrix is identity matrix (no rotations)
Reimplemented in IdentityRotation.
Definition at line 47 of file Rotations.cpp.
References RotMatrix::isIdentity(), and IRotation::rotMatrix().
Referenced by ReParticle::createTransformedFormFactor().
|
virtualinherited |
Returns all children.
Reimplemented in ISimulation2D, ISimulation, ParticleCoreShell, ParticleComposition, Particle, MesoCrystal, IParticle, Crystal, MultiLayer, Layer, LayerInterface, ParticleLayout, InterferenceRadialParaCrystal, InterferenceFinite3DLattice, InterferenceFinite2DLattice, Interference3DLattice, Interference2DSuperLattice, Interference2DParaCrystal, Interference2DLattice, Interference1DLattice, ConvolutionDetectorResolution, IDetector, and Beam.
Definition at line 56 of file INode.cpp.
Referenced by NodeUtils::AllDescendantsOfType(), NodeUtils::ChildNodesOfType(), ISampleNode::containedMaterials(), and INode::nodeOffspring().
|
inherited |
Returns all descendants.
Definition at line 61 of file INode.cpp.
References INode::nodeChildren().
|
inlinefinalvirtual |
Returns the parameter definitions, to be hard-coded in each leaf class.
Reimplemented from INode.
Definition at line 154 of file Rotations.h.
References INF.
|
overridevirtual |
Returns transformation.
Implements IRotation.
Definition at line 173 of file Rotations.cpp.
References RotMatrix::EulerZXZ(), m_alpha, m_beta, and m_gamma.
Referenced by createInverse().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 32 of file ICloneable.h.
|
inherited |
Definition at line 42 of file Rotations.cpp.
References IRotation::rotMatrix(), and RotMatrix::transformed().
Referenced by ReParticle::bottomZ(), Sphere::bottomZ(), IParticle::rotate(), ReParticle::topZ(), and Sphere::topZ().
|
inherited |
Definition at line 52 of file Rotations.cpp.
References RotMatrix::isZRotation(), and IRotation::rotMatrix().
Referenced by IFormFactor::canSliceAnalytically().
|
protected |
Definition at line 169 of file Rotations.h.
Referenced by alpha(), clone(), and rotMatrix().
|
protected |
Definition at line 169 of file Rotations.h.
Referenced by beta(), clone(), and rotMatrix().
|
protected |
Definition at line 169 of file Rotations.h.
Referenced by clone(), gamma(), and rotMatrix().
|
protectedinherited |
Definition at line 63 of file INode.h.
Referenced by IFootprintFactor::IFootprintFactor(), INode::checkNodeArgs(), IProfile1D::pythonConstructor(), IProfile2D::pythonConstructor(), IFormFactor::pythonConstructor(), Profile1DVoigt::pythonConstructor(), and Profile2DVoigt::pythonConstructor().