BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
BeamDistributionItem.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Models/BeamDistributionItem.h
6 //! @brief Defines class BeamDistributionItem
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_BEAMDISTRIBUTIONITEM_H
16 #define BORNAGAIN_GUI_COREGUI_MODELS_BEAMDISTRIBUTIONITEM_H
17 
19 
21 
22 //! The BeamDistributionItem handles wavelength, inclination and azimuthal parameter
23 //! distribution for BeamItem
24 
25 class BA_CORE_API_ BeamDistributionItem : public SessionItem {
26 public:
27  static const QString P_DISTRIBUTION;
28  explicit BeamDistributionItem(const QString& name, bool show_mean);
29 
30  std::unique_ptr<ParameterDistribution>
31  getParameterDistributionForName(const std::string& parameter_name) const;
32 
33  virtual double meanValue() const;
34  void resetToValue(double value);
35 
36  virtual double scaleFactor() const;
37 
38 protected:
39  void register_distribution_group(const QString& group_type);
40  void initDistributionItem(bool show_mean);
41 
42  virtual std::unique_ptr<IDistribution1D> createDistribution1D() const;
43 };
44 
45 #endif // BORNAGAIN_GUI_COREGUI_MODELS_BEAMDISTRIBUTIONITEM_H
Defines class DistributionItem and several subclasses.
The BeamDistributionItem handles wavelength, inclination and azimuthal parameter distribution for Bea...
static const QString P_DISTRIBUTION
A parametric distribution function, for use with any model parameter.
QString const & name(EShape k)
Definition: particles.cpp:21