Mantid
Loading...
Searching...
No Matches
ISISJournal.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2020 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"
12
13#include <Poco/AutoPtr.h>
14#include <Poco/DOM/Document.h>
15#include <map>
16#include <memory>
17#include <string>
18#include <vector>
19
20namespace Poco::XML {
21class Document;
22}
23
24namespace Mantid {
25
26namespace DataHandling {
32class MANTID_DATAHANDLING_DLL ISISJournal : public API::IJournal {
33public:
34 ISISJournal(std::string const &instrument, std::string const &cycle,
35 std::unique_ptr<Kernel::InternetHelper> internetHelper = std::make_unique<Kernel::InternetHelper>());
36 ISISJournal(ISISJournal const &rhs) = delete;
38 ISISJournal const &operator=(ISISJournal const &rhs) = delete;
40
42 std::vector<std::string> getCycleNames() override;
44 std::vector<RunData> getRuns(std::vector<std::string> const &valuesToLookup = {},
45 RunData const &filters = RunData()) override;
46
47private:
48 std::unique_ptr<Kernel::InternetHelper> m_internetHelper;
49 std::string m_runsFileURL;
50 std::string m_indexFileURL;
51 Poco::AutoPtr<Poco::XML::Document> m_runsDocument;
52 Poco::AutoPtr<Poco::XML::Document> m_indexDocument;
53
54 std::string getURLContents(std::string const &url);
55};
56} // namespace DataHandling
57} // namespace Mantid
const std::vector< double > & rhs
IJournal: Interface for classes that fetch information from journal files.
Definition IJournal.h:19
ISISJournal: Helper class to aid in fetching ISIS specific run information from journal files.
Definition ISISJournal.h:32
std::unique_ptr< Kernel::InternetHelper > m_internetHelper
Definition ISISJournal.h:48
ISISJournal & operator=(ISISJournal &&rhs)
Poco::AutoPtr< Poco::XML::Document > m_indexDocument
Definition ISISJournal.h:52
ISISJournal const & operator=(ISISJournal const &rhs)=delete
ISISJournal(ISISJournal const &rhs)=delete
Poco::AutoPtr< Poco::XML::Document > m_runsDocument
Definition ISISJournal.h:51
Helper class which provides the Collimation Length for SANS instruments.