BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
TransformFromDomain.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/TransformFromDomain.h
6 //! @brief Defines namespace TransformFromDomain
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_MODELS_TRANSFORMFROMDOMAIN_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_TRANSFORMFROMDOMAIN_H
17 
18 #include <QString>
19 
21 class BeamItem;
22 class ISimulation;
23 class GISASSimulation;
24 class IFootprintFactor;
31 class Layer;
32 class LayerInterface;
33 class LayerRoughness;
38 class SessionItem;
39 class SpecularBeamItem;
40 class SpecularSimulation;
41 class SphericalDetector;
43 class DetectorItem;
44 class MaskContainerItem;
45 class IDetector;
47 class Instrument2DItem;
48 class InstrumentItem;
49 class ISimulation2D;
51 class IAxis;
52 
55 
57 
59 
61 
63 
66 
67 void setLayerItem(SessionItem* layer_item, const Layer* layer, const LayerInterface* top_interface);
68 
69 void setRoughnessItem(SessionItem* item, const LayerRoughness& sample);
70 
72 
73 bool isValidRoughness(const LayerRoughness* roughness);
74 
75 void setGISASBeamItem(BeamItem* beam_item, const GISASSimulation& simulation);
76 
77 void setOffSpecularBeamItem(BeamItem* beam_item, const OffSpecularSimulation& simulation);
78 
79 void setSpecularBeamItem(SpecularBeamItem* beam_item, const SpecularSimulation& simulation);
80 
81 void setDetector(Instrument2DItem* instrument_item, const ISimulation2D& simulation);
82 
83 void setDetectorGeometry(Instrument2DItem* instrument_item, const IDetector& detector);
84 
85 void setDetectorResolution(DetectorItem* detector_item, const IDetector& detector);
86 
87 void setDetectorProperties(DetectorItem* detector_item, const IDetector& detector);
88 
89 void setSphericalDetector(SphericalDetectorItem* detector_item, const SphericalDetector& detector);
90 
92  const RectangularDetector& detector);
93 
94 void setDetectorMasks(DetectorItem* detector_item, const ISimulation& simulation);
95 
96 void setMaskContainer(MaskContainerItem* container_item, const IDetector& detector, double scale);
97 
98 void setItemFromSample(BeamDistributionItem* beam_distribution_item,
99  const ParameterDistribution& parameter_distribution);
100 
101 void setBackground(InstrumentItem* instrument_item, const ISimulation& simulation);
102 
103 void setFootprintFactor(const IFootprintFactor* footprint, SpecularBeamItem* beam_item);
104 
105 void setAxisItem(SessionItem* item, const IAxis& axis, double factor = 1.0);
106 
107 } // namespace TransformFromDomain
108 
109 #endif // BORNAGAIN_GUI_COREGUI_MODELS_TRANSFORMFROMDOMAIN_H
The BeamDistributionItem handles wavelength, inclination and azimuthal parameter distribution for Bea...
Main class to run a Grazing-Incidence Small-Angle Scattering simulation.
Interface for one-dimensional axes.
Definition: IAxis.h:25
Abstract detector interface.
Definition: IDetector.h:36
Abstract base for classes that calculate the beam footprint factor.
Abstract base class of OffSpecularSimulation and GISASSimulation.
Definition: ISimulation2D.h:27
Abstract base class of OffSpecularSimulation, GISASSimulation and SpecularSimulation.
Definition: ISimulation.h:38
Interference function of a 1D lattice.
Interference function of a 2D lattice.
Interference function of a 2D paracrystal.
Interference function of a finite 2D lattice.
Percus-Yevick hard disk interference function.
Interference function of radial paracrystal.
Interface between two layers, possibly with roughness.
A roughness of interface between two layers.
A layer in a MultiLayer sample.
Definition: Layer.h:27
Container holding various masks as children.
Definition: MaskItems.h:24
Main class to run an off-specular simulation.
A parametric distribution function, for use with any model parameter.
A particle type that is a parametric distribution of IParticle's.
A flat rectangular detector with axes and resolution function.
Main class to run a specular simulation.
A detector with coordinate axes along angles phi and alpha.
void setFinite2DLatticeItem(SessionItem *item, const InterferenceFunctionFinite2DLattice &sample)
void setRadialParaCrystalItem(SessionItem *item, const InterferenceFunctionRadialParaCrystal &sample)
bool isValidRoughness(const LayerRoughness *roughness)
Returns true if given roughness is non-zero roughness.
void setGISASBeamItem(BeamItem *beam_item, const GISASSimulation &simulation)
void setOffSpecularBeamItem(BeamItem *beam_item, const OffSpecularSimulation &simulation)
void setAxisItem(SessionItem *item, const IAxis &axis, double factor=1.0)
void setItemFromSample(BeamDistributionItem *beam_distribution_item, const ParameterDistribution &parameter_distribution)
void setRectangularDetector(RectangularDetectorItem *detector_item, const RectangularDetector &detector)
void setHardDiskItem(SessionItem *item, const InterferenceFunctionHardDisk &sample)
void set2DParaCrystalItem(SessionItem *item, const InterferenceFunction2DParaCrystal &sample)
void setRoughnessItem(SessionItem *item, const LayerRoughness &sample)
void setSphericalDetector(SphericalDetectorItem *detector_item, const SphericalDetector &detector)
void setDetectorResolution(DetectorItem *detector_item, const IDetector &detector)
void setDetectorGeometry(Instrument2DItem *instrument_item, const IDetector &detector)
void setLayerItem(SessionItem *layer_item, const Layer *layer, const LayerInterface *top_interface)
void setDetector(Instrument2DItem *instrument_item, const ISimulation2D &simulation)
void setMaskContainer(MaskContainerItem *container_item, const IDetector &detector, double scale)
void set2DLatticeItem(SessionItem *item, const InterferenceFunction2DLattice &sample)
void setDetectorProperties(DetectorItem *detector_item, const IDetector &detector)
void setBackground(InstrumentItem *instrument_item, const ISimulation &simulation)
void set1DLatticeItem(SessionItem *item, const InterferenceFunction1DLattice &sample)
void setParticleDistributionItem(SessionItem *item, const ParticleDistribution &sample)
Initialization of ParticleDistributionItem.
void setDetectorMasks(DetectorItem *detector_item, const ISimulation &simulation)
void setFootprintFactor(const IFootprintFactor *footprint, SpecularBeamItem *beam_item)
void setSpecularBeamItem(SpecularBeamItem *beam_item, const SpecularSimulation &simulation)