Loading [MathJax]/extensions/tex2jax.js
IHisto.hpp
1 #pragma once
2 
3 #include <opals/IModuleBase.hpp>
4 #include <opals/Array.hpp>
5 #include <opals/HistoMode.hpp>
6 #include <opals/HistoStats.hpp>
7 #include <opals/OdmOrRasterFile.hpp>
8 #include <opals/Path.hpp>
9 #include <opals/String.hpp>
10 #include <opals/Vector.hpp>
11 #include <opals/AbsValueOrQuantile.hpp>
12 #include <opals/DistributionDescription.hpp>
13 
14 #if defined(_MSC_VER) && !defined(OPALS_NO_AUTOLINK)
15  #if defined _DEBUG && !defined OPALS_NO_DEBUG
16  #pragma comment(lib, "opalsHisto_d.lib")
17  #else
18  #pragma comment(lib, "opalsHisto.lib")
19  #endif
20 #endif
21 
22 namespace opals {
23 
24  namespace opts
25  {
26  /// Options of \ref ModuleHisto
27  namespace Histo
28  {
29  /// Options of \ref ModuleHisto
30  using Options =
31  IGroup< Names::_,
48  >;
49  }
50  }
51 
52  /// Derives histograms and descriptive statistics (min, max, mean, r.m.s, etc.) for ODM or grid/raster data sets and stores the results graphically (SVG) and numerically (XML).
53  /** The boost::accumulator framework is used to analyze the data, to calculate
54  standard statistics (min max, mean, median, quantiles,...) and to create the
55  histogram itself. Finally, if requested by the user, a plot file in SVG format
56  is generated using boost::svg_plot (not yet part of the boost library). */
57  /// \see \ref ModuleHisto
58  class OPALS_API IHisto : virtual public IModuleBase
59  {
60 
61  public:
62  static IHisto* New();
63  static IHisto* New( IControlObject &controlObject );
64  static IHisto* New( const IModuleBase &parent );
65  static IHisto* New( const IModuleBase &parent, IControlObject &controlObject );
66 
67  virtual ~IHisto() {}
68 
69  /// \name Access to module-specific options.
70  ///@{
72  Options& opts() override = 0;
73  const Options& opts() const override = 0;
74  ///@}
75 
76  };
77 
78 };
A leaf that holds a value.
Definition: IOption.hpp:62
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Derives histograms and descriptive statistics (min, max, mean, r.m.s, etc.) for ODM or grid/raster da...
Definition: IHisto.hpp:58
IGroup< Names::_, IValue< Names::inFile, false, Vector< OdmOrRasterFile > >, IValue< Names::attribute, false, Vector< String > >, IValue< Names::histogram, true, Vector< HistoStats > >, IValue< Names::nBins, false, unsigned >, IValue< Names::binWidth, false, float >, IValue< Names::sampleRange, false, Array< opals::AbsValueOrQuantile, 2 > >, IValue< Names::densityRange, false, Array< float, 2 > >, IValue< Names::limit, false, Array< double, 4 > >, IValue< Names::filter, false, String >, IValue< Names::plotFile, false, Vector< Path > >, IValue< Names::probabilities, false, Vector< double > >, IValue< Names::procMode, false, HistoMode >, IValue< Names::exactComputation, false, bool >, IValue< Names::skipEmptyBins, false, bool >, IValue< Names::distributionFunc, false, opals::DistributionDescription >, IValue< Names::cumulativeHistogram, false, bool > > Options
Options of Module Histo.
Definition: IHisto.hpp:48
Abstract base class of all opals modules.
Definition: IModuleBase.hpp:13
Interface for retrieving status and progress information from a module run.
Definition: c++_api/inc/opals/IControlObject.hpp:30
A group of options.
Definition: IOption.hpp:136