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"
14#include <string>
15
16namespace Mantid {
17
18namespace Kernel {
19template <typename TYPE> class TimeSeriesProperty;
20}
21
22namespace Geometry {
23//--------------------------------------------------------------------------
24// Forward declarations
25//--------------------------------------------------------------------------
26class IComponent;
27
40class MANTID_GEOMETRY_DLL XMLInstrumentParameter {
41public:
43 XMLInstrumentParameter(std::string logfileID, std::string value, std::shared_ptr<Kernel::Interpolation> interpolation,
44 std::string formula, std::string formulaUnit, std::string resultUnit, std::string paramName,
45 std::string type, std::string tie, std::vector<std::string> constraint,
46 std::string &penaltyFactor, std::string fitFunc, std::string extractSingleValueAs,
47 std::string eq, const Geometry::IComponent *comp, double angleConvertConst,
48 const std::string &description, std::string visible);
49
50 // XML attributes from instrument definition file or instrument parameter file
51 const std::string m_logfileID;
52 const std::string m_value;
54 const std::string m_paramName;
55 const std::string m_type;
56 const std::string m_tie;
57 const std::vector<std::string> m_constraint;
60 std::string m_penaltyFactor;
61 const std::string m_fittingFunction;
63 const std::string m_formula;
65 const std::string m_formulaUnit;
66 const std::string m_resultUnit;
68 std::shared_ptr<Kernel::Interpolation> m_interpolation;
69 const std::string m_extractSingleValueAs;
72 const std::string m_eq;
75
78 double createParamValue(Mantid::Kernel::TimeSeriesProperty<double> *logData) const;
79
86 const std::string m_description;
88 const std::string m_visible;
89};
90
91} // namespace Geometry
92} // namespace Mantid
double value
The value of the point.
Definition: FitMW.cpp:51
base class for Geometric IComponent
Definition: IComponent.h:51
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
A specialised Property class for holding a series of time-value pairs.
Helper class which provides the Collimation Length for SANS instruments.