Mantid
Loading...
Searching...
No Matches
LoadNexusProcessed2.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2019 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 "MantidDataHandling/DllConfig.h"
13#include "MantidIndexing/SpectrumNumber.h"
15#include <string>
16
17namespace Mantid {
18namespace API {
19class Workspace;
20class MatrixWorkspace;
21} // namespace API
22namespace NeXus {
23class NXEntry;
24}
25namespace DataHandling {
28
36class MANTID_DATAHANDLING_DLL LoadNexusProcessed2 : public LoadNexusProcessed {
37public:
38 const std::string name() const override;
39 int version() const override;
40 int confidence(Kernel::NexusDescriptor &descriptor) const override;
41
42private:
43 void readSpectraToDetectorMapping(Mantid::NeXus::NXEntry &mtd_entry, Mantid::API::MatrixWorkspace &ws) override;
44 bool loadNexusGeometry(Mantid::API::Workspace &ws, const int nWorkspaceEntries, Kernel::Logger &logger,
45 const std::string &filename) override;
47 void extractMappingInfoNew(const Mantid::NeXus::NXEntry &mtd_entry);
50 InstrumentLayout m_instrumentLayout = InstrumentLayout::Mantid;
51 std::vector<Indexing::SpectrumNumber> m_spectrumNumbers;
52 std::vector<Mantid::detid_t> m_detectorIds;
53 std::vector<int> m_detectorCounts;
54};
55
56} // namespace DataHandling
57} // namespace Mantid
Base MatrixWorkspace Abstract Class.
Base Workspace Abstract Class.
Definition: Workspace.h:30
LoadNexusProcessed2 : Second variation of LoadNexusProcess, built to handle ESS file specifics in add...
std::vector< Indexing::SpectrumNumber > m_spectrumNumbers
std::vector< Mantid::detid_t > m_detectorIds
Loads a workspace from a NeXus Processed entry in a NeXus file.
The Logger class is in charge of the publishing messages from the framework through various channels.
Definition: Logger.h:52
Defines a wrapper around a file whose internal structure can be accessed using the NeXus API.
Implements NXentry Nexus class.
Definition: NexusClasses.h:898
InstrumentLayout
Layout information relating to detector-spectra mappings.
Helper class which provides the Collimation Length for SANS instruments.