BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Detector properties (efficiency, transmission).
Definition at line 27 of file PolFilter.h.
Public Member Functions | |
PolFilter () | |
PolFilter (R3 direction, double efficiency, double total_transmission) | |
~PolFilter () override=default | |
R3 | analyzerDirection () const |
Retrieve the analyzer characteristics. More... | |
double | analyzerEfficiency () const |
will always return positive value More... | |
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... | |
SpinMatrix | matrix () const |
Return the polarization density matrix (in spin basis along z-axis) 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... | |
double | totalTransmission () const |
Protected Attributes | |
std::vector< double > | m_P |
Private Attributes | |
R3 | m_direction |
direction of polarization analysis More... | |
double | m_efficiency |
efficiency of polarization analysis More... | |
double | m_total_transmission |
total transmission of polarization analysis More... | |
PolFilter::PolFilter | ( | R3 | direction, |
double | efficiency, | ||
double | total_transmission | ||
) |
Definition at line 18 of file PolFilter.cpp.
References m_direction, m_efficiency, and m_total_transmission.
PolFilter::PolFilter | ( | ) |
Definition at line 35 of file PolFilter.cpp.
|
overridedefault |
R3 PolFilter::analyzerDirection | ( | ) | const |
Retrieve the analyzer characteristics.
Definition at line 48 of file PolFilter.cpp.
References m_direction.
Referenced by ISimulation2D::force_polarized().
double PolFilter::analyzerEfficiency | ( | ) | const |
will always return positive value
Definition at line 53 of file PolFilter.cpp.
References m_efficiency.
|
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::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 33 of file PolFilter.h.
SpinMatrix PolFilter::matrix | ( | ) | const |
Return the polarization density matrix (in spin basis along z-axis)
Definition at line 40 of file PolFilter.cpp.
References SpinMatrix::FromBlochVector(), m_direction, m_efficiency, m_total_transmission, and SpinMatrix::One().
Referenced by ISimulation2D::generateElements(), and DetectorContext::setup_context().
|
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 34 of file PolFilter.h.
double PolFilter::totalTransmission | ( | ) | const |
Definition at line 58 of file PolFilter.cpp.
References m_total_transmission.
|
private |
direction of polarization analysis
Definition at line 49 of file PolFilter.h.
Referenced by PolFilter(), analyzerDirection(), and matrix().
|
private |
efficiency of polarization analysis
Definition at line 50 of file PolFilter.h.
Referenced by PolFilter(), analyzerEfficiency(), and matrix().
|
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().
|
private |
total transmission of polarization analysis
Definition at line 51 of file PolFilter.h.
Referenced by PolFilter(), matrix(), and totalTransmission().