Mantid
Loading...
Searching...
No Matches
Framework
PythonInterface
mantid
api
inc
MantidPythonInterface
api
SpectrumInfoPythonIterator.h
Go to the documentation of this file.
1
// Mantid Repository : https://github.com/mantidproject/mantid
2
//
3
// Copyright © 2018 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
#include "
MantidAPI/SpectrumInfo.h
"
10
#include "
MantidAPI/SpectrumInfoItem.h
"
11
#include "
MantidAPI/SpectrumInfoIterator.h
"
12
13
#include <boost/python/iterator.hpp>
14
15
using
Mantid::API::SpectrumInfo
;
16
using
Mantid::API::SpectrumInfoItem
;
17
using
Mantid::API::SpectrumInfoIterator
;
18
using namespace
boost::python
;
19
20
namespace
Mantid
{
21
namespace
PythonInterface {
22
42
class
SpectrumInfoPythonIterator
{
43
public
:
44
explicit
SpectrumInfoPythonIterator
(
SpectrumInfo
&spectrumInfo)
45
:
m_begin
(spectrumInfo.begin()),
m_end
(spectrumInfo.end()),
m_firstOrDone
(true) {}
46
47
const
SpectrumInfoItem<SpectrumInfo>
&
next
() {
48
if
(!
m_firstOrDone
)
49
++
m_begin
;
50
else
51
m_firstOrDone
=
false
;
52
if
(
m_begin
==
m_end
) {
53
m_firstOrDone
=
true
;
54
objects::stop_iteration_error();
55
}
56
return
*
m_begin
;
57
}
58
59
private
:
60
SpectrumInfoIterator<SpectrumInfo>
m_begin
;
61
SpectrumInfoIterator<SpectrumInfo>
m_end
;
62
bool
m_firstOrDone
;
63
};
64
65
}
// namespace PythonInterface
66
}
// namespace Mantid
SpectrumInfoItem.h
SpectrumInfoIterator.h
SpectrumInfo.h
Mantid::API::SpectrumInfoItem
SpectrumInfoItem.
Definition:
SpectrumInfoItem.h:37
Mantid::API::SpectrumInfoIterator
SpectrumInfoIterator.
Definition:
SpectrumInfoIterator.h:30
Mantid::API::SpectrumInfo
API::SpectrumInfo is an intermediate step towards a SpectrumInfo that is part of Instrument-2....
Definition:
SpectrumInfo.h:53
Mantid::PythonInterface::SpectrumInfoPythonIterator
SpectrumInfoPythonIterator.
Definition:
SpectrumInfoPythonIterator.h:42
Mantid::PythonInterface::SpectrumInfoPythonIterator::next
const SpectrumInfoItem< SpectrumInfo > & next()
Definition:
SpectrumInfoPythonIterator.h:47
Mantid::PythonInterface::SpectrumInfoPythonIterator::m_end
SpectrumInfoIterator< SpectrumInfo > m_end
Definition:
SpectrumInfoPythonIterator.h:61
Mantid::PythonInterface::SpectrumInfoPythonIterator::m_firstOrDone
bool m_firstOrDone
Definition:
SpectrumInfoPythonIterator.h:62
Mantid::PythonInterface::SpectrumInfoPythonIterator::SpectrumInfoPythonIterator
SpectrumInfoPythonIterator(SpectrumInfo &spectrumInfo)
Definition:
SpectrumInfoPythonIterator.h:44
Mantid::PythonInterface::SpectrumInfoPythonIterator::m_begin
SpectrumInfoIterator< SpectrumInfo > m_begin
Definition:
SpectrumInfoPythonIterator.h:60
Mantid
Helper class which provides the Collimation Length for SANS instruments.
Definition:
AbsorptionCorrection.h:18
boost::python
Definition:
NDArray.h:50
Generated on Tue Jan 3 2023 11:57:58 for Mantid by
1.9.5