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#include "MantidNexus/NexusFile.h"
11
12#include <string>
13#include <vector>
14
15namespace Mantid {
16namespace API {
17
18class MANTID_API_DLL Citation {
19public:
24 Citation(Nexus::File *file, const std::string &group);
25
47 Citation(const std::string &doi = "", const std::string &bibtex = "", const std::string &endnote = "",
48 const std::string &url = "", const std::string &description = "");
49
50 // Needed for future Set constructiom
51 bool operator==(const Citation &rhs) const;
52
53 const std::string &description() const;
54 const std::string &url() const;
55 const std::string &doi() const;
56 const std::string &bibtex() const;
57 const std::string &endnote() const;
58
59 void saveNexus(Nexus::File *file, const std::string &group);
60
61private:
62 void loadNexus(Nexus::File *file, const std::string &group);
63
64 std::string m_doi;
65 std::string m_bibtex;
66 std::string m_endnote;
67 std::string m_url;
68 std::string m_description;
69};
70} // namespace API
71} // namespace Mantid
const std::vector< double > & rhs
std::string m_description
Definition Citation.h:68
std::string m_doi
Definition Citation.h:64
std::string m_bibtex
Definition Citation.h:65
std::string m_endnote
Definition Citation.h:66
std::string m_url
Definition Citation.h:67
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)