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 <map>
15#include <memory>
16#include <string>
17#include <vector>
18
19namespace Poco::XML {
20class Document;
21}
22
23namespace Mantid {
24
25namespace DataHandling {
31class MANTID_DATAHANDLING_DLL ISISJournal : public API::IJournal {
32public:
33 ISISJournal(std::string const &instrument, std::string const &cycle,
34 std::unique_ptr<Kernel::InternetHelper> internetHelper = std::make_unique<Kernel::InternetHelper>());
35 virtual ~ISISJournal();
36
37 ISISJournal(ISISJournal const &rhs) = delete;
39 ISISJournal const &operator=(ISISJournal const &rhs) = delete;
41
43 std::vector<std::string> getCycleNames() override;
45 std::vector<RunData> getRuns(std::vector<std::string> const &valuesToLookup = {},
46 RunData const &filters = RunData()) override;
47
48private:
49 std::unique_ptr<Kernel::InternetHelper> m_internetHelper;
50 std::string m_runsFileURL;
51 std::string m_indexFileURL;
52 Poco::AutoPtr<Poco::XML::Document> m_runsDocument;
53 Poco::AutoPtr<Poco::XML::Document> m_indexDocument;
54
55 std::string getURLContents(std::string const &url);
56};
57} // namespace DataHandling
58} // 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:31
std::unique_ptr< Kernel::InternetHelper > m_internetHelper
Definition: ISISJournal.h:49
ISISJournal & operator=(ISISJournal &&rhs)
Poco::AutoPtr< Poco::XML::Document > m_indexDocument
Definition: ISISJournal.h:53
ISISJournal const & operator=(ISISJournal const &rhs)=delete
ISISJournal(ISISJournal const &rhs)=delete
Poco::AutoPtr< Poco::XML::Document > m_runsDocument
Definition: ISISJournal.h:52
Helper class which provides the Collimation Length for SANS instruments.