84 void populateInstrumentParameters();
86 void setNumberOfDetectorGroups(
const size_t count)
const;
87 void setDetectorGrouping(
const size_t index,
const std::set<detid_t> &detIDs)
const;
90 const Sample &sample()
const;
95 const Run &run()
const;
104 double getLogAsSingleValue(
const std::string &log)
const;
107 int getRunNumber()
const;
111 double getEFixed(
const detid_t detID)
const;
113 double getEFixed(
const std::shared_ptr<const Geometry::IDetector> &detector =
114 std::shared_ptr<const Geometry::IDetector>{
nullptr})
const;
115 double getEFixedGivenEMode(
const std::shared_ptr<const Geometry::IDetector> &detector,
117 double getEFixedForIndirect(
const std::shared_ptr<const Geometry::IDetector> &detector,
118 const std::vector<std::string> ¶meterNames)
const;
120 void setEFixed(
const detid_t detID,
const double value);
123 void saveExperimentInfoNexus(Nexus::File *file,
bool saveLegacyInstrument =
true)
const;
125 void saveExperimentInfoNexus(Nexus::File *file,
bool saveInstrument,
bool saveSample,
bool saveLogs)
const;
127 void loadExperimentInfoNexus(
const std::string &nxFilename, Nexus::File *file, std::string ¶meterStr,
131 void loadExperimentInfoNexus(
const std::string &nxFilename, Nexus::File *file, std::string ¶meterStr);
133 void loadInstrumentInfoNexus(
const std::string &nxFilename, Nexus::File *file, std::string ¶meterStr);
135 void loadInstrumentInfoNexus(
const std::string &nxFilename, Nexus::File *file);
138 void loadInstrumentParametersNexus(Nexus::File *file, std::string ¶meterStr);
143 const std::string &prefix);
145 void loadSampleAndLogInfoNexus(Nexus::File *file);
147 void readParameterMap(
const std::string ¶meterStr);
151 std::string getWorkspaceStartDate()
const;
154 std::string getAvailableWorkspaceStartDate()
const;
156 std::string getAvailableWorkspaceEndDate()
const;
167 void invalidateSpectrumDefinition(
const size_t index);
168 void updateSpectrumDefinitionIfNecessary(
const size_t index)
const;
171 size_t numberOfDetectorGroups()
const;
173 virtual void populateIfNotLoaded()
const;
175 void setSpectrumDefinitions(
Kernel::cow_ptr<std::vector<SpectrumDefinition>> spectrumDefinitions);
177 virtual void updateCachedDetectorGrouping(
const size_t index)
const;
191 void loadEmbeddedInstrumentInfoNexus(Nexus::File *file, std::string &instrumentName, std::string &instrumentXml);
195 void setInstumentFromXML(
const std::string &nxFilename, std::string &instrumentName, std::string &instrumentXml);
198 std::string loadInstrumentXML(
const std::string &filename);
207 void cacheDefaultDetectorGrouping()
const;
208 void invalidateAllSpectrumDefinitions();