BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
CsvDataColumn.cpp
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/ImportDataWidgets/CsvImportAssistant/CsvDataColumn.cpp
6 //! @brief Implements classes CsvIntensityColumn and CsvCoordinateColumn
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 
16 
17 /*Csv Intensity Column*/
18 
19 // Constructors:
20 CsvIntensityColumn::CsvIntensityColumn() : m_colNum(-1), m_multiplier(1.0), m_values({}) {}
21 
23  : m_colNum(toCopy.columnNumber()), m_multiplier(toCopy.multiplier()), m_values(toCopy.values())
24 {
25 }
26 
27 CsvIntensityColumn::CsvIntensityColumn(int colNum, double multiplier, csv::DataColumn values)
28  : m_colNum(colNum), m_multiplier(multiplier), m_values(values)
29 {
30 }
31 
32 // Getters:
34 {
35  return m_colNum;
36 }
38 {
39  return m_multiplier;
40 }
42 {
43  return m_values;
44 }
45 
46 // Setters:
47 void CsvIntensityColumn::setColNum(int const colNum)
48 {
49  m_colNum = colNum;
50 }
51 void CsvIntensityColumn::setMultiplier(double const multiplier)
52 {
54 }
56 {
57  m_values = std::move(values);
58 }
59 void CsvIntensityColumn::resetColumn(int colNum, double multiplier, csv::DataColumn values)
60 {
61  m_colNum = colNum;
63  m_values = std::move(values);
64 }
65 
66 /*Csv Coordinate Column*/
67 
68 // Constructors:
70 
72  : CsvIntensityColumn(toCopy), m_units(toCopy.units())
73 {
74 }
75 
76 CsvCoordinateColumn::CsvCoordinateColumn(int colNum, double multiplier, csv::DataColumn values,
77  Axes::Units units)
78 
79  : CsvIntensityColumn(colNum, multiplier, values), m_units(units)
80 {
81 }
82 // Getters:
84 {
85  return m_units;
86 }
87 // Setters:
89 {
90  m_units = units;
91 }
93 {
94  m_name = name;
95 }
96 void CsvCoordinateColumn::resetColumn(int colNum, double multiplier, csv::DataColumn values,
98 {
100  m_units = units;
101  m_name = name;
102 }
Defines classes CsvIntensityColumn and CsvCoordinateColumn.
Wrapper for detector axes units, required for a better representation of detector axes units in pytho...
csv::ColumnType m_name
Definition: CsvDataColumn.h:65
void resetColumn(int colNum=-1, double multiplier=1., csv::DataColumn values={}, Axes::Units units=Axes::Units::NBINS, csv::ColumnType name=csv::_intensity_)
Axes::Units m_units
Definition: CsvDataColumn.h:64
void setUnits(Axes::Units const units)
csv::ColumnType name() const
Definition: CsvDataColumn.h:54
void setName(csv::ColumnType const name)
Axes::Units units() const
csv::DataColumn m_values
Definition: CsvDataColumn.h:42
void setValues(csv::DataColumn const values)
csv::DataColumn values() const
int columnNumber() const
void setColNum(int const colNum)
void resetColumn(int colNum=-1, double multiplier=1., csv::DataColumn values={})
void setMultiplier(double const multiplier)
double multiplier() const
QString const & name(EShape k)
Definition: particles.cpp:21
Constants and functions for physical unit conversions.
Definition: Units.h:30
ColumnType
Definition: CsvNamespace.h:23
std::vector< std::string > DataColumn
Definition: CsvNamespace.h:28