Mantid
Loading...
Searching...
No Matches
XMLInstrumentParameter.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2007 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9//----------------------------------------------------------------------
10// Includes
11//----------------------------------------------------------------------
12#include "MantidGeometry/DllConfig.h"
15#include <string>
16
17namespace Mantid {
18
19namespace Kernel {
20template <typename TYPE> class TimeSeriesProperty;
21}
22
23namespace Geometry {
24//--------------------------------------------------------------------------
25// Forward declarations
26//--------------------------------------------------------------------------
27class IComponent;
28
41class MANTID_GEOMETRY_DLL XMLInstrumentParameter {
42public:
44 XMLInstrumentParameter(std::string logfileID, std::string value, std::shared_ptr<Kernel::Interpolation> interpolation,
45 std::string formula, std::string formulaUnit, std::string resultUnit, std::string paramName,
46 std::string type, std::string tie, std::vector<std::string> constraint,
47 std::string &penaltyFactor, std::string fitFunc, std::string extractSingleValueAs,
48 std::string eq, const Geometry::IComponent *comp, double angleConvertConst,
49 const std::string &description, std::string visible);
50
51 // XML attributes from instrument definition file or instrument parameter file
52 const std::string m_logfileID;
53 const std::string m_value;
55 const std::string m_paramName;
56 const std::string m_type;
57 const std::string m_tie;
58 const std::vector<std::string> m_constraint;
61 std::string m_penaltyFactor;
62 const std::string m_fittingFunction;
64 const std::string m_formula;
66 const std::string m_formulaUnit;
67 const std::string m_resultUnit;
69 std::shared_ptr<Kernel::Interpolation> m_interpolation;
70 const std::string m_extractSingleValueAs;
73 const std::string m_eq;
76
79 double createParamValue(const Mantid::Kernel::TimeSeriesProperty<double> *logData, const Kernel::TimeROI *) const;
80
87 const std::string m_description;
89 const std::string m_visible;
90};
91
92} // namespace Geometry
93} // namespace Mantid
double value
The value of the point.
Definition FitMW.cpp:51
base class for Geometric IComponent
Definition IComponent.h:53
This class is used to store information about parameters in XML instrument definition files and instr...
const Geometry::IComponent * m_component
value from the log value
double m_angleConvertConst
when this const equals 1 it means that angle=degree (default) is set in IDF otherwise if this const e...
const std::string m_value
rather then extracting value from logfile,
const std::string m_paramName
specify a value directly
const std::string m_type
type of the data, e.g. int, double or string
const std::string m_description
if present, contains help string, describing the parameter
const std::string m_visible
if present, describes whether the parameter shall be visible in InstrumentViewer
std::shared_ptr< Kernel::Interpolation > m_interpolation
evaluating the formula
const std::string m_fittingFunction
specific to fitting parameter
std::string m_penaltyFactor
parameter specify lower and upper bound in that order
const std::string m_formula
specify fitting function
const std::string m_resultUnit
expected result (output) unit from
const std::string m_eq
single value from the log file( average, first number, etc)
const std::vector< std::string > m_constraint
specific to fitting
const std::string m_tie
specific to fitting parameter specify any tie
const std::string m_formulaUnit
formula to use for setting this parameter
const std::string m_extractSingleValueAs
describes the way to extract a
TimeROI : Object that holds information about when the time measurement was active.
Definition TimeROI.h:18
A specialised Property class for holding a series of time-value pairs.
Helper class which provides the Collimation Length for SANS instruments.