Mantid
Loading...
Searching...
No Matches
MultipleExperimentInfos.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2011 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
10#include "MantidKernel/System.h"
11
12namespace Mantid {
13namespace API {
14
20class MANTID_API_DLL MultipleExperimentInfos {
21public:
24 MultipleExperimentInfos &operator=(const MultipleExperimentInfos &other);
25 virtual ~MultipleExperimentInfos() = default;
26
27 ExperimentInfo_sptr getExperimentInfo(const uint16_t expInfoIndex);
28
29 ExperimentInfo_const_sptr getExperimentInfo(const uint16_t expInfoIndex) const;
30
31 uint16_t addExperimentInfo(const ExperimentInfo_sptr &ei);
32
33 void setExperimentInfo(const uint16_t expInfoIndex, ExperimentInfo_sptr ei);
34
35 uint16_t getNumExperimentInfo() const;
36
37 void copyExperimentInfos(const MultipleExperimentInfos &other);
38
39 // Check if this class has an oriented lattice on any sample object
40 bool hasOrientedLattice() const;
41
42protected:
44 const std::string toString() const;
45
46private:
48 std::vector<ExperimentInfo_sptr> m_expInfos;
49};
50
51using MultipleExperimentInfos_sptr = std::shared_ptr<MultipleExperimentInfos>;
52using MultipleExperimentInfos_const_sptr = std::shared_ptr<const MultipleExperimentInfos>;
53
54} // namespace API
55} // namespace Mantid
Small class that allows a MDEventWorkspace or a MDHistoWorkspace to hold several ExperimentInfo class...
std::vector< ExperimentInfo_sptr > m_expInfos
Vector for each ExperimentInfo class.
virtual ~MultipleExperimentInfos()=default
std::shared_ptr< const ExperimentInfo > ExperimentInfo_const_sptr
Shared pointer to const ExperimentInfo.
std::shared_ptr< ExperimentInfo > ExperimentInfo_sptr
Shared pointer to ExperimentInfo.
std::shared_ptr< MultipleExperimentInfos > MultipleExperimentInfos_sptr
std::shared_ptr< const MultipleExperimentInfos > MultipleExperimentInfos_const_sptr
Helper class which provides the Collimation Length for SANS instruments.