Mantid
Loading...
Searching...
No Matches
Citation.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
9#include "MantidAPI/DllConfig.h"
10
11#include <string>
12#include <vector>
13
14#include <nexus/NeXusFile.hpp>
15
16namespace Mantid {
17namespace API {
18
19class MANTID_API_DLL Citation {
20public:
25 Citation(::NeXus::File *file, const std::string &group);
26
48 Citation(const std::string &doi = "", const std::string &bibtex = "", const std::string &endnote = "",
49 const std::string &url = "", const std::string &description = "");
50
51 // Needed for future Set constructiom
52 bool operator==(const Citation &rhs) const;
53
54 const std::string &description() const;
55 const std::string &url() const;
56 const std::string &doi() const;
57 const std::string &bibtex() const;
58 const std::string &endnote() const;
59
60 void saveNexus(::NeXus::File *file, const std::string &group);
61
62private:
63 void loadNexus(::NeXus::File *file, const std::string &group);
64
65 std::string m_doi;
66 std::string m_bibtex;
67 std::string m_endnote;
68 std::string m_url;
69 std::string m_description;
70};
71} // namespace API
72} // namespace Mantid
const std::vector< double > & rhs
std::string m_description
Definition: Citation.h:69
std::string m_doi
Definition: Citation.h:65
std::string m_bibtex
Definition: Citation.h:66
std::string m_endnote
Definition: Citation.h:67
std::string m_url
Definition: Citation.h:68
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)