Mantid
|
This class is shared by a few Workspace types and holds information related to a particular experiment/run: More...
#include <ExperimentInfo.h>
Public Member Functions | |
virtual ExperimentInfo * | cloneExperimentInfo () const |
Clone us. More... | |
const Geometry::ComponentInfo & | componentInfo () const |
const Geometry::ParameterMap & | constInstrumentParameters () const |
Const version. More... | |
void | copyExperimentInfoFrom (const ExperimentInfo *other) |
Copy everything from the given experiment object. More... | |
const Geometry::DetectorInfo & | detectorInfo () const |
Return a const reference to the DetectorInfo object. More... | |
ExperimentInfo () | |
Default constructor. More... | |
ExperimentInfo (const ExperimentInfo &) | |
Copy constructor. More... | |
std::string | getAvailableWorkspaceEndDate () const |
Return workspace end date as a formatted string (strftime style, as returned by Kernel::DateAdnTime) string, if available. More... | |
std::string | getAvailableWorkspaceStartDate () const |
Return workspace start date as a formatted string (strftime, as returned by Types::Core::DateAndTime) string, if available. More... | |
double | getEFixed (const detid_t detID) const |
Easy access to the efixed value for this run & detector ID. More... | |
double | getEFixed (const std::shared_ptr< const Geometry::IDetector > &detector=std::shared_ptr< const Geometry::IDetector >{nullptr}) const |
Easy access to the efixed value for this run & optional detector. More... | |
double | getEFixedForIndirect (const std::shared_ptr< const Geometry::IDetector > &detector, const std::vector< std::string > ¶meterNames) const |
double | getEFixedGivenEMode (const std::shared_ptr< const Geometry::IDetector > &detector, const Kernel::DeltaEMode::Type emode) const |
Easy access to the efixed value for this run & detector. More... | |
Kernel::DeltaEMode::Type | getEMode () const |
Returns the emode for this run. More... | |
Geometry::Instrument_const_sptr | getInstrument () const |
Returns the parameterized instrument. More... | |
Kernel::Property * | getLog (const std::string &log) const |
Access a log for this experiment. More... | |
double | getLogAsSingleValue (const std::string &log) const |
Access a single value from a log for this experiment. More... | |
int | getRunNumber () const |
Utility method to get the run number. More... | |
std::string | getWorkspaceStartDate () const |
Returns the start date for this experiment (or current time if no info available) More... | |
Geometry::ParameterMap & | instrumentParameters () |
Returns a modifiable set of instrument parameters. More... | |
const Geometry::ParameterMap & | instrumentParameters () const |
Returns the set of parameters modifying the base instrument (const-version) More... | |
void | invalidateSpectrumDefinition (const size_t index) |
Notifies the ExperimentInfo that a spectrum definition has changed. More... | |
void | loadExperimentInfoNexus (const std::string &nxFilename, ::NeXus::File *file, std::string ¶meterStr) |
Loads an experiment description from the open NeXus file. More... | |
void | loadExperimentInfoNexus (const std::string &nxFilename, ::NeXus::File *file, std::string ¶meterStr, const Mantid::Kernel::NexusHDF5Descriptor &fileInfo, const std::string &prefix) |
void | loadInstrumentInfoNexus (const std::string &nxFilename, ::NeXus::File *file) |
Load the instrument from an open NeXus file without reading any parameters. More... | |
void | loadInstrumentInfoNexus (const std::string &nxFilename, ::NeXus::File *file, std::string ¶meterStr) |
Load the instrument from an open NeXus file. More... | |
void | loadInstrumentParametersNexus (::NeXus::File *file, std::string ¶meterStr) |
Load instrument parameters from an open Nexus file in Instument group if found there. More... | |
void | loadSampleAndLogInfoNexus (::NeXus::File *file) |
Load the sample and log info from an open NeXus file. More... | |
void | loadSampleAndLogInfoNexus (::NeXus::File *file, const Mantid::Kernel::NexusHDF5Descriptor &fileInfo, const std::string &prefix) |
Load the sample and log info from an open NeXus file. More... | |
Geometry::ComponentInfo & | mutableComponentInfo () |
Geometry::DetectorInfo & | mutableDetectorInfo () |
Return a non-const reference to the DetectorInfo object. More... | |
Run & | mutableRun () |
Writable version of the run object. More... | |
Sample & | mutableSample () |
Writable version of the sample object. More... | |
SpectrumInfo & | mutableSpectrumInfo () |
Return a non-const reference to the SpectrumInfo object. More... | |
ExperimentInfo & | operator= (const ExperimentInfo &) |
Implements the copy assignment operator. More... | |
void | populateInstrumentParameters () |
Add parameters to the instrument parameter map that are defined in instrument definition file or parameter file, which may contain parameters that require logfile data to be available. More... | |
void | readParameterMap (const std::string ¶meterStr) |
Populate the parameter map given a string. More... | |
const Run & | run () const |
Run details object access. More... | |
const Sample & | sample () const |
Sample accessors. More... | |
void | saveExperimentInfoNexus (::NeXus::File *file, bool saveInstrument, bool saveSample, bool saveLogs) const |
Saves this experiment description to the open NeXus file. More... | |
void | saveExperimentInfoNexus (::NeXus::File *file, bool saveLegacyInstrument=true) const |
Saves this experiment description to the open NeXus file. More... | |
void | setDetectorGrouping (const size_t index, const std::set< detid_t > &detIDs) const |
Sets the detector grouping for the spectrum with the given index . More... | |
void | setEFixed (const detid_t detID, const double value) |
Set the efixed value for a given detector ID. More... | |
void | setInstrument (const Geometry::Instrument_const_sptr &instr) |
Instrument accessors. More... | |
void | setNumberOfDetectorGroups (const size_t count) const |
Sets the number of detector groups. More... | |
void | setSharedRun (Kernel::cow_ptr< Run > run) |
Set the run object. Use in particular to clear run without copying old run. More... | |
Kernel::cow_ptr< Run > | sharedRun () |
Return the cow ptr of the run. More... | |
const SpectrumInfo & | spectrumInfo () const |
Return a reference to the SpectrumInfo object. More... | |
const std::string | toString () const |
Returns a string description of the object. More... | |
void | updateSpectrumDefinitionIfNecessary (const size_t index) const |
virtual | ~ExperimentInfo () |
Virtual destructor. More... | |
Protected Member Functions | |
size_t | numberOfDetectorGroups () const |
Returns the number of detector groups. More... | |
virtual void | populateIfNotLoaded () const |
Called as the first operation of most public methods. More... | |
void | setSpectrumDefinitions (Kernel::cow_ptr< std::vector< SpectrumDefinition > > spectrumDefinitions) |
Sets the SpectrumDefinition for all spectra. More... | |
virtual void | updateCachedDetectorGrouping (const size_t index) const |
Update detector grouping for spectrum with given index. More... | |
Protected Attributes | |
std::shared_ptr< Geometry::ParameterMap > | m_parmap |
Parameters modifying the base instrument. More... | |
Geometry::Instrument_const_sptr | sptr_instrument |
The base (unparametrized) instrument. More... | |
Private Member Functions | |
void | cacheDefaultDetectorGrouping () const |
Sets up a default detector grouping. More... | |
void | invalidateAllSpectrumDefinitions () |
Sets flags for all spectrum definitions indicating that they need to be updated. More... | |
void | loadEmbeddedInstrumentInfoNexus (::NeXus::File *file, std::string &instrumentName, std::string &instrumentXml) |
Attempt to load instrument embedded in Nexus file. More... | |
std::string | loadInstrumentXML (const std::string &filename) |
Loads the contents of a file and returns the string The file is assumed to be an IDF, and already checked that the path is correct. More... | |
void | populateWithParameter (Geometry::ParameterMap ¶mMap, Geometry::ParameterMap ¶mMapForPosAndRot, const std::string &name, const Geometry::XMLInstrumentParameter ¶mInfo, const Run &runData) |
Fill with given instrument parameter. More... | |
void | setInstumentFromXML (const std::string &nxFilename, std::string &instrumentName, std::string &instrumentXml) |
Set the instrument given the name and XML leading from IDF file if XML string is empty. More... | |
Private Attributes | |
std::once_flag | m_defaultDetectorGroupingCached |
std::unordered_map< detid_t, size_t > | m_det2group |
Detector grouping information. More... | |
Kernel::cow_ptr< Run > | m_run |
The run information. More... | |
Kernel::cow_ptr< Sample > | m_sample |
The information on the sample environment. More... | |
std::vector< char > | m_spectrumDefinitionNeedsUpdate |
std::unique_ptr< Beamline::SpectrumInfo > | m_spectrumInfo |
std::mutex | m_spectrumInfoMutex |
std::unique_ptr< SpectrumInfo > | m_spectrumInfoWrapper |
This class is shared by a few Workspace types and holds information related to a particular experiment/run:
Definition at line 53 of file ExperimentInfo.h.
Mantid::API::ExperimentInfo::ExperimentInfo | ( | ) |
Default constructor.
Constructor.
Definition at line 68 of file ExperimentInfo.cpp.
Referenced by cloneExperimentInfo().
|
virtualdefault |
Virtual destructor.
Mantid::API::ExperimentInfo::ExperimentInfo | ( | const ExperimentInfo & | source | ) |
Copy constructor.
Constructs the object from a copy if the input.
This leaves the new mutex unlocked.
source | The source object from which to initialize |
Definition at line 77 of file ExperimentInfo.cpp.
|
private |
Sets up a default detector grouping.
The purpose of this method is to work around potential issues of MDWorkspaces that do not have grouping information. In such cases a default 1:1 mapping/grouping is generated by this method. See also issue #18252.
Definition at line 877 of file ExperimentInfo.cpp.
References detectorInfo(), Mantid::Geometry::DetectorInfo::indexOf(), m_det2group, m_spectrumDefinitionNeedsUpdate, m_spectrumInfo, setNumberOfDetectorGroups(), and sptr_instrument.
Referenced by spectrumInfo().
|
virtual |
Clone us.
Clone this ExperimentInfo class into a new one.
Reimplemented in Mantid::API::FileBackedExperimentInfo.
Definition at line 110 of file ExperimentInfo.cpp.
References ExperimentInfo().
const Geometry::ComponentInfo & Mantid::API::ExperimentInfo::componentInfo | ( | ) | const |
Definition at line 838 of file ExperimentInfo.cpp.
References m_parmap.
Referenced by export_ExperimentInfo(), populateInstrumentParameters(), populateWithParameter(), readParameterMap(), and Mantid::Crystal::CentroidPeaks::sizeBanks().
const Geometry::ParameterMap & Mantid::API::ExperimentInfo::constInstrumentParameters | ( | ) | const |
Const version.
Returns a const reference to the instrument parameters.
Definition at line 232 of file ExperimentInfo.cpp.
References m_parmap, and populateIfNotLoaded().
Referenced by Mantid::WorkflowAlgorithms::SofTwoThetaTOF::clarifyAngleStep(), getEFixedForIndirect(), getEMode(), getLog(), getLogAsSingleValue(), and toString().
void Mantid::API::ExperimentInfo::copyExperimentInfoFrom | ( | const ExperimentInfo * | other | ) |
Copy everything from the given experiment object.
Copy the experiment info data from another ExperimentInfo instance, e.g.
other | :: the source from which to copy ExperimentInfo |
Definition at line 95 of file ExperimentInfo.cpp.
References getInstrument(), m_run, m_sample, and setInstrument().
Referenced by Mantid::API::WorkspaceFactoryImpl::initializeFromParent(), operator=(), and MantidQt::MantidWidgets::MuonFitPropertyBrowser::setFitWorkspaces().
const Geometry::DetectorInfo & Mantid::API::ExperimentInfo::detectorInfo | ( | ) | const |
Return a const reference to the DetectorInfo object.
Setting a new instrument via ExperimentInfo::setInstrument will invalidate this reference.
Definition at line 773 of file ExperimentInfo.cpp.
References m_parmap, and populateIfNotLoaded().
Referenced by Mantid::DataHandling::bankOffsets(), Mantid::API::MatrixWorkspace::buildDefaultSpectrumDefinitions(), cacheDefaultDetectorGrouping(), export_ExperimentInfo(), getInstrument(), Mantid::DataObjects::MaskWorkspace::isMasked(), Mantid::Algorithms::SofQCommon::qBinHintsIndirect(), readParameterMap(), Mantid::API::MatrixWorkspace::rebuildDetectorIDGroupings(), setDetectorGrouping(), Mantid::Algorithms::SparseWorkspace::SparseWorkspace(), and spectrumInfo().
std::string Mantid::API::ExperimentInfo::getAvailableWorkspaceEndDate | ( | ) | const |
Return workspace end date as a formatted string (strftime style, as returned by Kernel::DateAdnTime) string, if available.
If unavailable, an empty string is returned
Definition at line 755 of file ExperimentInfo.cpp.
References Mantid::API::LogManager::endTime(), Mantid::API::g_log, Mantid::Kernel::Logger::information(), populateIfNotLoaded(), and run().
Referenced by toString().
std::string Mantid::API::ExperimentInfo::getAvailableWorkspaceStartDate | ( | ) | const |
Return workspace start date as a formatted string (strftime, as returned by Types::Core::DateAndTime) string, if available.
If unavailable, an empty string is returned
Definition at line 738 of file ExperimentInfo.cpp.
References Mantid::API::g_log, Mantid::Kernel::Logger::information(), populateIfNotLoaded(), run(), and Mantid::API::LogManager::startTime().
Referenced by toString().
double Mantid::API::ExperimentInfo::getEFixed | ( | const detid_t | detID | ) | const |
Easy access to the efixed value for this run & detector ID.
detID | :: The detector ID to ask for the efixed mode (ignored in Direct & Elastic mode). The detector with ID matching that given is pulled from the instrument with this method and it will throw a Exception::NotFoundError if the ID is unknown. |
Definition at line 624 of file ExperimentInfo.cpp.
References getEFixed(), getInstrument(), and populateIfNotLoaded().
Referenced by export_ExperimentInfo(), getEFixed(), and Mantid::Algorithms::SparseWorkspace::SparseWorkspace().
double Mantid::API::ExperimentInfo::getEFixed | ( | const std::shared_ptr< const Geometry::IDetector > & | detector = std::shared_ptr<const Geometry::IDetector>{nullptr} | ) | const |
Easy access to the efixed value for this run & optional detector.
Easy access to the efixed value for this run & detector.
detector | :: The detector object to ask for the efixed mode. Only required for Indirect mode |
Definition at line 636 of file ExperimentInfo.cpp.
References getEFixedGivenEMode(), getEMode(), and populateIfNotLoaded().
double Mantid::API::ExperimentInfo::getEFixedForIndirect | ( | const std::shared_ptr< const Geometry::IDetector > & | detector, |
const std::vector< std::string > & | parameterNames | ||
) | const |
Definition at line 642 of file ExperimentInfo.cpp.
References constInstrumentParameters(), Mantid::Kernel::efixed, getInstrument(), and Mantid::Geometry::ParameterMap::getRecursive().
Referenced by getEFixedGivenEMode().
double Mantid::API::ExperimentInfo::getEFixedGivenEMode | ( | const std::shared_ptr< const Geometry::IDetector > & | detector, |
const Kernel::DeltaEMode::Type | emode | ||
) | const |
Easy access to the efixed value for this run & detector.
detector | :: The detector object to ask for the efixed mode. Only required for Indirect mode |
emode | :: enum value indicating whether elastic, direct or indirect |
Definition at line 678 of file ExperimentInfo.cpp.
References Mantid::Kernel::DeltaEMode::Direct, Mantid::Kernel::efixed, getEFixedForIndirect(), Mantid::API::LogManager::getPropertyValueAsType(), Mantid::Kernel::DeltaEMode::Indirect, and run().
Referenced by Mantid::API::SpectrumInfo::getDetectorValues(), and getEFixed().
Kernel::DeltaEMode::Type Mantid::API::ExperimentInfo::getEMode | ( | ) | const |
Returns the emode for this run.
It first searchs the run logs for a "deltaE-mode" log and falls back to the instrument if one is not found. If neither exist then the run is considered Elastic.
Definition at line 600 of file ExperimentInfo.cpp.
References constInstrumentParameters(), Mantid::Geometry::ParameterMap::contains(), Mantid::Kernel::DeltaEMode::Elastic, Mantid::Kernel::DeltaEMode::fromString(), Mantid::Geometry::ParameterMap::get(), Mantid::API::LogManager::getPropertyValueAsType(), populateIfNotLoaded(), run(), and sptr_instrument.
Referenced by export_ExperimentInfo(), getEFixed(), and Mantid::Algorithms::SparseWorkspace::SparseWorkspace().
Instrument_const_sptr Mantid::API::ExperimentInfo::getInstrument | ( | ) | const |
Returns the parameterized instrument.
Get a shared pointer to the parametrized instrument associated with this workspace.
Definition at line 207 of file ExperimentInfo.cpp.
References Mantid::Geometry::ParComponentFactory::createInstrument(), detectorInfo(), m_parmap, populateIfNotLoaded(), and sptr_instrument.
Referenced by Mantid::Algorithms::DetectorDiagnostic::calculateMedian(), Mantid::Algorithms::WorkspaceJoiners::checkCompatibility(), Mantid::WorkflowAlgorithms::SofTwoThetaTOF::clarifyAngleStep(), copyExperimentInfoFrom(), Mantid::DataObjects::PeaksWorkspace::createPeak(), Mantid::DataObjects::PeaksWorkspace::createPeakHKL(), Mantid::DataObjects::PeaksWorkspace::createPeakQSample(), Mantid::Algorithms::SampleLogsBehaviour::createSampleLogsMapsFromInstrumentParams(), Mantid::API::MatrixWorkspace::detectorSignedTwoTheta(), Mantid::API::MatrixWorkspace::detectorTwoTheta(), Mantid::Algorithms::MonteCarloAbsorption::doSimulation(), Mantid::Algorithms::DirectILLTubeBackground::exec(), export_ExperimentInfo(), Mantid::API::MatrixWorkspace::getDetector(), Mantid::API::MatrixWorkspace::getDetectorIDToWorkspaceIndexVector(), getEFixed(), getEFixedForIndirect(), Mantid::DataObjects::MaskWorkspace::hasInstrument(), Mantid::Algorithms::DiscusMultipleScatteringCorrection::interpolateFromSparse(), Mantid::Algorithms::MonteCarloAbsorption::interpolateFromSparse(), Mantid::DataObjects::MaskWorkspace::isMasked(), Mantid::DataHandling::LoadMuonStrategy::loadDefaultDetectorGrouping(), Mantid::Algorithms::CalculateEfficiency::maskComponent(), populateInstrumentParameters(), readParameterMap(), Mantid::API::MatrixWorkspace::rebuildSpectraMapping(), saveExperimentInfoNexus(), Mantid::DataHandling::SaveNexusProcessed::saveSpectraDetectorMapNexus(), setEFixed(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromFile(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromXML(), Mantid::DataHandling::SetSample::setSampleShape(), Mantid::Algorithms::SparseWorkspace::SparseWorkspace(), and toString().
Kernel::Property * Mantid::API::ExperimentInfo::getLog | ( | const std::string & | log | ) | const |
Access a log for this experiment.
Get an experimental log either by log name or by type, e.g.
log | :: A string giving either a specific log name or instrument parameter whose value is to be retrieved |
Definition at line 525 of file ExperimentInfo.cpp.
References constInstrumentParameters(), Mantid::API::LogManager::getProperty(), Mantid::Geometry::ParameterMap::getString(), populateIfNotLoaded(), run(), and sptr_instrument.
Referenced by Mantid::Algorithms::SampleLogsBehaviour::addPropertyForList(), Mantid::Algorithms::SampleLogsBehaviour::addPropertyForTimeSeries(), Mantid::Algorithms::SampleLogsBehaviour::setSampleMap(), and Mantid::Algorithms::SampleLogsBehaviour::updateListProperty().
double Mantid::API::ExperimentInfo::getLogAsSingleValue | ( | const std::string & | log | ) | const |
Access a single value from a log for this experiment.
Get an experimental log as a single value either by log name or by type.
log | :: A string giving either a specific log name or instrument parameter whose value is to be retrieved |
Definition at line 550 of file ExperimentInfo.cpp.
References constInstrumentParameters(), Mantid::API::LogManager::getPropertyAsSingleValue(), Mantid::Geometry::ParameterMap::getString(), populateIfNotLoaded(), run(), and sptr_instrument.
Referenced by Mantid::Algorithms::SampleLogsBehaviour::setNumericValue().
int Mantid::API::ExperimentInfo::getRunNumber | ( | ) | const |
Utility method to get the run number.
Definition at line 571 of file ExperimentInfo.cpp.
References Mantid::Kernel::Strings::convert(), Mantid::API::LogManager::hasProperty(), m_run, populateIfNotLoaded(), run(), and Mantid::Kernel::Property::value().
Referenced by Mantid::DataObjects::PeaksWorkspace::createPeak(), Mantid::DataObjects::LeanElasticPeaksWorkspace::createPeakHKL(), Mantid::DataObjects::PeaksWorkspace::createPeakHKL(), Mantid::DataObjects::LeanElasticPeaksWorkspace::createPeakQSample(), Mantid::DataObjects::PeaksWorkspace::createPeakQSample(), and export_ExperimentInfo().
std::string Mantid::API::ExperimentInfo::getWorkspaceStartDate | ( | ) | const |
Returns the start date for this experiment (or current time if no info available)
Return workspace start date as an ISO 8601 string.
If this info not stored in workspace the method returns current date. This date is used for example to retrieve the instrument file.
Definition at line 719 of file ExperimentInfo.cpp.
References Mantid::API::g_log, Mantid::Kernel::Logger::information(), populateIfNotLoaded(), run(), and Mantid::API::LogManager::startTime().
Referenced by setInstumentFromXML().
Geometry::ParameterMap & Mantid::API::ExperimentInfo::instrumentParameters | ( | ) |
Returns a modifiable set of instrument parameters.
Returns a new copy of the instrument parameters.
Definition at line 216 of file ExperimentInfo.cpp.
References m_parmap, and populateIfNotLoaded().
const Geometry::ParameterMap & Mantid::API::ExperimentInfo::instrumentParameters | ( | ) | const |
Returns the set of parameters modifying the base instrument (const-version)
Returns a const reference to the instrument parameters.
Definition at line 224 of file ExperimentInfo.cpp.
References m_parmap, and populateIfNotLoaded().
Referenced by populateInstrumentParameters(), readParameterMap(), setEFixed(), and Mantid::Algorithms::SparseWorkspace::SparseWorkspace().
|
private |
Sets flags for all spectrum definitions indicating that they need to be updated.
Definition at line 896 of file ExperimentInfo.cpp.
References m_spectrumDefinitionNeedsUpdate.
Referenced by setInstrument(), and setSpectrumDefinitions().
void Mantid::API::ExperimentInfo::invalidateSpectrumDefinition | ( | const size_t | index | ) |
Notifies the ExperimentInfo that a spectrum definition has changed.
ExperimentInfo will rebuild its spectrum definitions before the next use. In general it should not be necessary to use this method: ISpectrum will take care of this when its detector IDs are modified.
Definition at line 861 of file ExperimentInfo.cpp.
References index, and m_spectrumDefinitionNeedsUpdate.
Referenced by Mantid::API::ISpectrum::invalidateSpectrumDefinition().
|
private |
Attempt to load instrument embedded in Nexus file.
Attempt to load an IDF embedded in the Nexus file.
*file must have instrument group open.
file | :: open NeXus file with instrument group open | |
[out] | instrumentName | :: name of instrument |
[out] | instrumentXml | :: XML string of embedded instrument definition or empty if not found |
Definition at line 1060 of file ExperimentInfo.cpp.
References Mantid::Kernel::Logger::debug(), and Mantid::API::g_log.
Referenced by loadInstrumentInfoNexus().
void Mantid::API::ExperimentInfo::loadExperimentInfoNexus | ( | const std::string & | nxFilename, |
::NeXus::File * | file, | ||
std::string & | parameterStr | ||
) |
Loads an experiment description from the open NeXus file.
Load the object from an open NeXus file.
file | :: open NeXus file | |
nxFilename | :: the filename of the nexus file | |
[out] | parameterStr | :: special string for all the parameters. Feed that to ExperimentInfo::readParameterMap() after the instrument is done. |
Exception::NotFoundError | If instrument definition is not in the nexus file and cannot be loaded from the IDF. |
Definition at line 989 of file ExperimentInfo.cpp.
References loadInstrumentInfoNexus(), and loadSampleAndLogInfoNexus().
void Mantid::API::ExperimentInfo::loadExperimentInfoNexus | ( | const std::string & | nxFilename, |
::NeXus::File * | file, | ||
std::string & | parameterStr, | ||
const Mantid::Kernel::NexusHDF5Descriptor & | fileInfo, | ||
const std::string & | prefix | ||
) |
Definition at line 968 of file ExperimentInfo.cpp.
References loadInstrumentInfoNexus(), and loadSampleAndLogInfoNexus().
Referenced by Mantid::API::FileBackedExperimentInfo::populateFromFile().
void Mantid::API::ExperimentInfo::loadInstrumentInfoNexus | ( | const std::string & | nxFilename, |
::NeXus::File * | file | ||
) |
Load the instrument from an open NeXus file without reading any parameters.
Load the instrument from an open NeXus file without reading any parameters (yet).
nxFilename | :: the filename of the nexus file |
file | :: open NeXus file instrument is done. |
Exception::NotFoundError | If instrument definition is not in the nexus file and cannot be loaded from the IDF. |
Definition at line 1037 of file ExperimentInfo.cpp.
References loadEmbeddedInstrumentInfoNexus(), and setInstumentFromXML().
void Mantid::API::ExperimentInfo::loadInstrumentInfoNexus | ( | const std::string & | nxFilename, |
::NeXus::File * | file, | ||
std::string & | parameterStr | ||
) |
Load the instrument from an open NeXus file.
nxFilename | :: the filename of the nexus file | |
file | :: open NeXus file | |
[out] | parameterStr | :: special string for all the parameters. Feed that to ExperimentInfo::readParameterMap() after the instrument is done. |
Exception::NotFoundError | If instrument definition is not in the nexus file and cannot be loaded from the IDF. |
Definition at line 1007 of file ExperimentInfo.cpp.
References loadEmbeddedInstrumentInfoNexus(), loadInstrumentParametersNexus(), and setInstumentFromXML().
Referenced by loadExperimentInfoNexus().
void Mantid::API::ExperimentInfo::loadInstrumentParametersNexus | ( | ::NeXus::File * | file, |
std::string & | parameterStr | ||
) |
Load instrument parameters from an open Nexus file in Instument group if found there.
Load the instrument parameters from an open NeXus file if found there.
file | :: open NeXus file in its Instrument group | |
[out] | parameterStr | :: special string for all the parameters. Feed that to ExperimentInfo::readParameterMap() after the instrument is done. |
Definition at line 1154 of file ExperimentInfo.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::g_log, and Mantid::Kernel::Logger::information().
Referenced by loadInstrumentInfoNexus().
|
private |
Loads the contents of a file and returns the string The file is assumed to be an IDF, and already checked that the path is correct.
filename | :: the path to the file |
Definition at line 1138 of file ExperimentInfo.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::Kernel::Logger::error(), Mantid::API::g_log, and Mantid::Kernel::Strings::loadFile().
Referenced by setInstumentFromXML().
void Mantid::API::ExperimentInfo::loadSampleAndLogInfoNexus | ( | ::NeXus::File * | file | ) |
Load the sample and log info from an open NeXus file.
file | :: open NeXus file |
Definition at line 953 of file ExperimentInfo.cpp.
References Mantid::API::Sample::loadNexus(), Mantid::API::Run::loadNexus(), mutableRun(), and mutableSample().
void Mantid::API::ExperimentInfo::loadSampleAndLogInfoNexus | ( | ::NeXus::File * | file, |
const Mantid::Kernel::NexusHDF5Descriptor & | fileInfo, | ||
const std::string & | prefix | ||
) |
Load the sample and log info from an open NeXus file.
Overload that uses NexusHDF5Descriptor for faster metadata lookup
file | currently opened NeXus file |
fileInfo | descriptor with in-memory index with all entries |
prefix | indicates current group location in file (absolute name) |
file | :: open NeXus file |
Definition at line 934 of file ExperimentInfo.cpp.
References Mantid::API::Sample::loadNexus(), Mantid::API::Run::loadNexus(), mutableRun(), and mutableSample().
Referenced by loadExperimentInfoNexus().
ComponentInfo & Mantid::API::ExperimentInfo::mutableComponentInfo | ( | ) |
Definition at line 840 of file ExperimentInfo.cpp.
References m_parmap.
Referenced by populateInstrumentParameters(), and readParameterMap().
Geometry::DetectorInfo & Mantid::API::ExperimentInfo::mutableDetectorInfo | ( | ) |
Return a non-const reference to the DetectorInfo object.
Definition at line 779 of file ExperimentInfo.cpp.
References m_parmap, and populateIfNotLoaded().
Referenced by Mantid::DataObjects::MaskWorkspace::clearMask(), populateWithParameter(), and readParameterMap().
Run & Mantid::API::ExperimentInfo::mutableRun | ( | ) |
Writable version of the run object.
Get a reference to the Run object associated with this workspace.
This non-const method will copy the Run object if it is shared between more than one workspace, and the reference returned will be to the copy.
Definition at line 502 of file ExperimentInfo.cpp.
References m_run, and populateIfNotLoaded().
Referenced by Mantid::Algorithms::SampleLogsBehaviour::addPropertyForList(), Mantid::Algorithms::SampleLogsBehaviour::addPropertyForTimeSeries(), export_ExperimentInfo(), export_MatrixWorkspace(), Mantid::DataHandling::SinglePeriodLoadMuonStrategy::loadGoodFrames(), Mantid::DataHandling::SinglePeriodLoadMuonStrategy::loadMuonLogData(), Mantid::DataHandling::LoadMuonNexusV2::loadPeriodInfo(), loadSampleAndLogInfoNexus(), Mantid::DataObjects::LeanElasticPeaksWorkspace::logs(), Mantid::DataObjects::PeaksWorkspace::logs(), Mantid::API::MatrixWorkspace::setTitle(), Mantid::Algorithms::SparseWorkspace::SparseWorkspace(), Mantid::Algorithms::SampleLogsBehaviour::updateListProperty(), and Mantid::Algorithms::SampleLogsBehaviour::updateSumProperty().
Sample & Mantid::API::ExperimentInfo::mutableSample | ( | ) |
Writable version of the sample object.
Get a reference to the Sample associated with this workspace.
This non-const method will copy the sample if it is shared between more than one workspace, and the reference returned will be to the copy.
Definition at line 484 of file ExperimentInfo.cpp.
References m_sample, and populateIfNotLoaded().
Referenced by Mantid::Crystal::ClearUB::clearSingleExperimentInfo(), export_ExperimentInfo(), loadSampleAndLogInfoNexus(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromFile(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromXML(), Mantid::DataHandling::SetSample::setSampleShape(), and Mantid::DataHandling::CreateSampleShape::setSampleShape().
SpectrumInfo & Mantid::API::ExperimentInfo::mutableSpectrumInfo | ( | ) |
Return a non-const reference to the SpectrumInfo object.
Not thread safe.
Definition at line 834 of file ExperimentInfo.cpp.
References spectrumInfo().
Referenced by Mantid::Algorithms::CalculateEfficiency::maskComponent().
|
protected |
Returns the number of detector groups.
For MatrixWorkspace this is equal to getNumberHistograms() (after initialization).
Definition at line 438 of file ExperimentInfo.cpp.
References m_spectrumDefinitionNeedsUpdate.
Referenced by Mantid::DataObjects::EventWorkspace::init(), Mantid::DataObjects::Workspace2D::init(), and AxeslessWorkspaceTester::init().
ExperimentInfo & Mantid::API::ExperimentInfo::operator= | ( | const ExperimentInfo & | source | ) |
Implements the copy assignment operator.
Definition at line 82 of file ExperimentInfo.cpp.
References copyExperimentInfoFrom(), setSpectrumDefinitions(), Mantid::API::SpectrumInfo::sharedSpectrumDefinitions(), and spectrumInfo().
|
protectedvirtual |
Called as the first operation of most public methods.
Reimplemented in Mantid::API::FileBackedExperimentInfo.
Definition at line 1326 of file ExperimentInfo.cpp.
Referenced by constInstrumentParameters(), detectorInfo(), getAvailableWorkspaceEndDate(), getAvailableWorkspaceStartDate(), getEFixed(), getEMode(), getInstrument(), getLog(), getLogAsSingleValue(), getRunNumber(), getWorkspaceStartDate(), instrumentParameters(), mutableDetectorInfo(), mutableRun(), mutableSample(), populateInstrumentParameters(), run(), sample(), setEFixed(), setNumberOfDetectorGroups(), spectrumInfo(), and toString().
void Mantid::API::ExperimentInfo::populateInstrumentParameters | ( | ) |
Add parameters to the instrument parameter map that are defined in instrument definition file or parameter file, which may contain parameters that require logfile data to be available.
Logs must be loaded before running this method.
Definition at line 336 of file ExperimentInfo.cpp.
References Mantid::Geometry::ParameterMap::addV3D(), componentInfo(), Mantid::API::g_log, getInstrument(), Mantid::Kernel::Logger::information(), instrumentParameters(), mutableComponentInfo(), Mantid::Geometry::ComponentInfo::name(), populateIfNotLoaded(), populateWithParameter(), Mantid::Geometry::ParameterMap::pos(), run(), Mantid::Kernel::V3D::spherical(), and value.
|
private |
Fill with given instrument parameter.
Fill map with instrument parameter first set in xml file Where this is appropriate a parameter value is dependent on values in a log entry.
paramMap | Map to populate (except for position and rotation parameters) |
paramMapForPosAndRot | Map to populate with positions and rotations |
name | The name of the parameter |
paramInfo | A reference to the object describing this parameter |
runData | A reference to the run object, which stores log value entries |
Definition at line 1275 of file ExperimentInfo.cpp.
References Mantid::Geometry::ParameterMap::add(), Mantid::Geometry::ParameterMap::addBool(), Mantid::Geometry::ParameterMap::addDouble(), Mantid::Geometry::ParameterMap::addInt(), Mantid::Geometry::ParameterMap::addPositionCoordinate(), Mantid::Geometry::ParameterMap::addRotationParam(), Mantid::Geometry::ParameterMap::addString(), componentInfo(), Mantid::Geometry::IComponent::getComponentID(), Mantid::Geometry::ComponentInfo::indexOf(), Mantid::Geometry::XMLInstrumentParameter::m_component, Mantid::Geometry::XMLInstrumentParameter::m_constraint, Mantid::Geometry::XMLInstrumentParameter::m_description, Mantid::Geometry::XMLInstrumentParameter::m_fittingFunction, Mantid::Geometry::XMLInstrumentParameter::m_formula, Mantid::Geometry::XMLInstrumentParameter::m_formulaUnit, Mantid::Geometry::XMLInstrumentParameter::m_interpolation, Mantid::Geometry::XMLInstrumentParameter::m_penaltyFactor, Mantid::Geometry::XMLInstrumentParameter::m_resultUnit, Mantid::Geometry::XMLInstrumentParameter::m_tie, Mantid::Geometry::XMLInstrumentParameter::m_type, Mantid::Geometry::XMLInstrumentParameter::m_value, Mantid::Geometry::XMLInstrumentParameter::m_visible, mutableDetectorInfo(), Mantid::Geometry::DetectorInfo::setMasked(), and value.
Referenced by populateInstrumentParameters().
void Mantid::API::ExperimentInfo::readParameterMap | ( | const std::string & | parameterStr | ) |
Populate the parameter map given a string.
Parse the result of ParameterMap.asString() into the ParameterMap of the current instrument.
The instrument needs to have been loaded already, of course.
parameterStr | :: result of ParameterMap.asString() |
Definition at line 1171 of file ExperimentInfo.cpp.
References Mantid::Geometry::Instrument::baseInstrument(), Mantid::Kernel::StringTokenizer::begin(), componentInfo(), Mantid::Kernel::StringTokenizer::count(), detectorInfo(), Mantid::Kernel::StringTokenizer::end(), Mantid::API::g_log, Mantid::Geometry::CompAssembly::getComponentByName(), Mantid::Geometry::IComponent::getComponentID(), Mantid::Geometry::Instrument::getDetector(), getInstrument(), Mantid::Geometry::ComponentInfo::indexOf(), instrumentParameters(), Mantid::Geometry::ComponentInfo::isDetector(), mutableComponentInfo(), mutableDetectorInfo(), Mantid::Geometry::DetectorInfo::setMasked(), Mantid::Kernel::StringTokenizer::TOK_IGNORE_EMPTY, Mantid::Kernel::StringTokenizer::TOK_TRIM, value, and Mantid::Kernel::Logger::warning().
Referenced by Mantid::API::FileBackedExperimentInfo::populateFromFile().
const Run & Mantid::API::ExperimentInfo::run | ( | ) | const |
Run details object access.
Get a constant reference to the Run object associated with this workspace.
Definition at line 492 of file ExperimentInfo.cpp.
References m_run, and populateIfNotLoaded().
Referenced by Mantid::Algorithms::SampleLogsBehaviour::addPropertyForTimeSeries(), Mantid::MDAlgorithms::MDNorm::calQTransform(), Mantid::Algorithms::GetEiMonDet3::computeTOF(), Mantid::DataObjects::PeaksWorkspace::createPeak(), Mantid::DataObjects::LeanElasticPeaksWorkspace::createPeakHKL(), Mantid::DataObjects::PeaksWorkspace::createPeakHKL(), Mantid::DataObjects::LeanElasticPeaksWorkspace::createPeakQSample(), Mantid::DataObjects::PeaksWorkspace::createPeakQSample(), export_ExperimentInfo(), getAvailableWorkspaceEndDate(), getAvailableWorkspaceStartDate(), Mantid::Algorithms::ConvertSpectrumAxis2::getEfixed(), getEFixedGivenEMode(), getEMode(), Mantid::API::MatrixWorkspace::getFirstPulseTime(), Mantid::API::MatrixWorkspace::getLastPulseTime(), getLog(), getLogAsSingleValue(), Mantid::DataObjects::LeanElasticPeaksWorkspace::getLogs(), Mantid::DataObjects::PeaksWorkspace::getLogs(), MantidQt::MantidWidgets::LogValueFinder::getLogValue(), Mantid::API::MatrixWorkspace::getMemorySize(), Mantid::DataObjects::EventWorkspace::getMemorySize(), Mantid::Algorithms::Qxy::getQminFromWs(), getRunNumber(), Mantid::API::MatrixWorkspace::getTitle(), getWorkspaceStartDate(), Mantid::DataObjects::LeanElasticPeaksWorkspace::hasIntegratedPeaks(), Mantid::DataObjects::PeaksWorkspace::hasIntegratedPeaks(), Mantid::DataHandling::LoadMuonStrategy::loadDefaultDetectorGrouping(), Mantid::DataObjects::PeaksWorkspace::peakInfo(), populateInstrumentParameters(), saveExperimentInfoNexus(), Mantid::DataHandling::SetSample::setSampleShape(), setSharedRun(), Mantid::API::MatrixWorkspace::setTitle(), Mantid::Algorithms::SampleLogsBehaviour::updateListProperty(), and Mantid::Algorithms::SampleLogsBehaviour::updateTimeSeriesProperty().
const Sample & Mantid::API::ExperimentInfo::sample | ( | ) | const |
Sample accessors.
Get a constant reference to the Sample associated with this workspace.
Definition at line 474 of file ExperimentInfo.cpp.
References m_sample, and populateIfNotLoaded().
Referenced by Mantid::DataObjects::LeanElasticPeaksWorkspace::createPeakHKL(), Mantid::DataObjects::PeaksWorkspace::createPeakHKL(), Mantid::API::MatrixWorkspace::detectorSignedTwoTheta(), Mantid::API::MatrixWorkspace::detectorTwoTheta(), Mantid::Algorithms::MonteCarloAbsorption::doSimulation(), export_ExperimentInfo(), Mantid::API::MatrixWorkspace::hasOrientedLattice(), Mantid::DataObjects::PeaksWorkspace::peakInfo(), saveExperimentInfoNexus(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromFile(), Mantid::DataHandling::SetSample::setSampleEnvironmentFromXML(), Mantid::DataHandling::SetSample::setSampleShape(), Mantid::DataHandling::CreateSampleShape::setSampleShape(), Mantid::Algorithms::SparseWorkspace::SparseWorkspace(), and toString().
void Mantid::API::ExperimentInfo::saveExperimentInfoNexus | ( | ::NeXus::File * | file, |
bool | saveInstrument, | ||
bool | saveSample, | ||
bool | saveLogs | ||
) | const |
Saves this experiment description to the open NeXus file.
Save the object to an open NeXus file.
file | :: open NeXus file |
saveInstrument | :: option to save Instrument |
saveSample | :: option to save Sample |
saveLogs | :: option to save Logs |
Definition at line 919 of file ExperimentInfo.cpp.
References getInstrument(), run(), sample(), Mantid::API::Sample::saveNexus(), and Mantid::API::Run::saveNexus().
void Mantid::API::ExperimentInfo::saveExperimentInfoNexus | ( | ::NeXus::File * | file, |
bool | saveLegacyInstrument = true |
||
) | const |
Saves this experiment description to the open NeXus file.
Save the object to an open NeXus file.
file | :: open NeXus file |
saveLegacyInstrument | : defaults to true, otherwise not in file output |
Definition at line 904 of file ExperimentInfo.cpp.
References getInstrument(), run(), sample(), Mantid::API::Sample::saveNexus(), and Mantid::API::Run::saveNexus().
void Mantid::API::ExperimentInfo::setDetectorGrouping | ( | const size_t | index, |
const std::set< detid_t > & | detIDs | ||
) | const |
Sets the detector grouping for the spectrum with the given index
.
This method should not need to be called explicitly. Groupings are updated automatically when modifying detector IDs in a workspace (via ISpectrum).
Definition at line 444 of file ExperimentInfo.cpp.
References detectorInfo(), index, Mantid::Geometry::DetectorInfo::indexOf(), m_spectrumDefinitionNeedsUpdate, and m_spectrumInfo.
Referenced by Mantid::API::MatrixWorkspace::updateCachedDetectorGrouping().
void Mantid::API::ExperimentInfo::setEFixed | ( | const detid_t | detID, |
const double | value | ||
) |
Set the efixed value for a given detector ID.
Definition at line 704 of file ExperimentInfo.cpp.
References getInstrument(), instrumentParameters(), populateIfNotLoaded(), and value.
Referenced by export_ExperimentInfo(), and Mantid::Algorithms::SparseWorkspace::SparseWorkspace().
void Mantid::API::ExperimentInfo::setInstrument | ( | const Geometry::Instrument_const_sptr & | instr | ) |
Instrument accessors.
Set the instrument.
instr | :: Shared pointer to an instrument. |
Definition at line 180 of file ExperimentInfo.cpp.
References invalidateAllSpectrumDefinitions(), m_parmap, m_spectrumInfoWrapper, and sptr_instrument.
Referenced by copyExperimentInfoFrom(), setInstumentFromXML(), Mantid::Crystal::CentroidPeaks::sizeBanks(), and Mantid::Algorithms::SparseWorkspace::SparseWorkspace().
|
private |
Set the instrument given the name and XML leading from IDF file if XML string is empty.
Set the instrument given its name and definition in XML If the XML string is empty the definition is loaded from the IDF file specified by the name.
nxFilename | :: the filename of the nexus file, needed to check whether instrument already exists in ADS. |
instrumentName | :: name of instrument |
instrumentXml | :: XML string of instrument or empty to indicate load of instrument definition file |
Definition at line 1083 of file ExperimentInfo.cpp.
References Mantid::Kernel::Logger::debug(), Mantid::API::g_log, Mantid::API::InstrumentFileFinder::getInstrumentFilename(), Mantid::Geometry::InstrumentDefinitionParser::getMangledName(), getWorkspaceStartDate(), Mantid::Kernel::SingletonHolder< T >::Instance(), loadInstrumentXML(), Mantid::Geometry::InstrumentDefinitionParser::parseXML(), setInstrument(), and Mantid::Kernel::Strings::strip().
Referenced by loadInstrumentInfoNexus().
void Mantid::API::ExperimentInfo::setNumberOfDetectorGroups | ( | const size_t | count | ) | const |
Sets the number of detector groups.
This method should not need to be called explicitly. The number of detector groups will be set either when initializing a MatrixWorkspace, or by calling cacheDetectorGroupings
for an ExperimentInfo stored in an MDWorkspace.
Definition at line 425 of file ExperimentInfo.cpp.
References count, m_spectrumDefinitionNeedsUpdate, m_spectrumInfo, m_spectrumInfoWrapper, and populateIfNotLoaded().
Referenced by cacheDefaultDetectorGrouping(), Mantid::API::MatrixWorkspace::initialize(), Mantid::DataObjects::LeanElasticPeaksWorkspace::LeanElasticPeaksWorkspace(), and Mantid::DataObjects::PeaksWorkspace::PeaksWorkspace().
void Mantid::API::ExperimentInfo::setSharedRun | ( | Kernel::cow_ptr< Run > | run | ) |
Set the run object. Use in particular to clear run without copying old run.
Definition at line 508 of file ExperimentInfo.cpp.
|
protected |
Sets the SpectrumDefinition for all spectra.
Definition at line 843 of file ExperimentInfo.cpp.
References invalidateAllSpectrumDefinitions(), m_spectrumDefinitionNeedsUpdate, m_spectrumInfo, and m_spectrumInfoWrapper.
Referenced by operator=(), Mantid::API::MatrixWorkspace::setIndexInfo(), and Mantid::API::MatrixWorkspace::setIndexInfoWithoutISpectrumUpdate().
Kernel::cow_ptr< Run > Mantid::API::ExperimentInfo::sharedRun | ( | ) |
const SpectrumInfo & Mantid::API::ExperimentInfo::spectrumInfo | ( | ) | const |
Return a reference to the SpectrumInfo object.
Any modifications of the instrument or instrument parameters will invalidate this reference.
Definition at line 789 of file ExperimentInfo.cpp.
References cacheDefaultDetectorGrouping(), detectorInfo(), m_parmap, m_spectrumDefinitionNeedsUpdate, m_spectrumInfo, m_spectrumInfoMutex, m_spectrumInfoWrapper, populateIfNotLoaded(), and updateSpectrumDefinitionIfNecessary().
Referenced by Mantid::Algorithms::SparseWorkspace::bilinearInterpolateFromDetectorGrid(), Mantid::Algorithms::DetectorDiagnostic::calculateMedian(), Mantid::Algorithms::MonteCarloAbsorption::doSimulation(), Mantid::Algorithms::DiscusMultipleScatteringCorrection::exec(), Mantid::Algorithms::WorkspaceJoiners::execEvent(), Mantid::Algorithms::WorkspaceJoiners::execWS2D(), export_ExperimentInfo(), Mantid::Algorithms::SparseWorkspace::extremeAngles(), Mantid::API::MatrixWorkspace::getDetectorIDToWorkspaceIndexMap(), Mantid::DataObjects::EventWorkspace::getTimeAtSampleMax(), Mantid::DataObjects::EventWorkspace::getTimeAtSampleMin(), Mantid::Algorithms::DiscusMultipleScatteringCorrection::getXMinMax(), Mantid::API::MatrixWorkspace::indexInfo(), Mantid::Algorithms::SparseWorkspace::interpolateFromDetectorGrid(), Mantid::Algorithms::DiscusMultipleScatteringCorrection::interpolateFromSparse(), Mantid::Algorithms::MonteCarloAbsorption::interpolateFromSparse(), Mantid::Algorithms::RemoveMaskedSpectra::makeIndexList(), Mantid::Algorithms::GetEiMonDet3::minimumTOF(), mutableSpectrumInfo(), operator=(), and Mantid::Algorithms::SofQCommon::qBinHintsDirect().
const std::string Mantid::API::ExperimentInfo::toString | ( | ) | const |
Returns a string description of the object.
Definition at line 113 of file ExperimentInfo.cpp.
References Mantid::Geometry::UnitCell::a(), Mantid::Geometry::UnitCell::alpha(), Mantid::Geometry::UnitCell::b(), Mantid::Geometry::UnitCell::beta(), Mantid::Geometry::UnitCell::c(), constInstrumentParameters(), Mantid::Geometry::UnitCell::gamma(), getAvailableWorkspaceEndDate(), getAvailableWorkspaceStartDate(), getInstrument(), Mantid::API::Sample::getOrientedLattice(), Mantid::Geometry::ParameterMap::getParameterFilenames(), populateIfNotLoaded(), and sample().
Referenced by Mantid::API::IPeaksWorkspace::toString(), and Mantid::API::MatrixWorkspace::toString().
|
protectedvirtual |
Update detector grouping for spectrum with given index.
This method is called when the detector grouping stored in SpectrumDefinition at index
in Beamline::SpectrumInfo is not initialized or outdated. The implementation throws, since no grouping information for update is available when grouping comes from a call to cacheDetectorGroupings
. This method is overridden in MatrixWorkspace.
Reimplemented in Mantid::API::MatrixWorkspace.
Definition at line 465 of file ExperimentInfo.cpp.
Referenced by updateSpectrumDefinitionIfNecessary().
void Mantid::API::ExperimentInfo::updateSpectrumDefinitionIfNecessary | ( | const size_t | index | ) | const |
Definition at line 867 of file ExperimentInfo.cpp.
References index, m_spectrumDefinitionNeedsUpdate, and updateCachedDetectorGrouping().
Referenced by Mantid::API::SpectrumInfo::sharedSpectrumDefinitions(), Mantid::API::SpectrumInfo::spectrumDefinition(), and spectrumInfo().
|
mutableprivate |
Definition at line 215 of file ExperimentInfo.h.
|
mutableprivate |
Detector grouping information.
Definition at line 212 of file ExperimentInfo.h.
Referenced by cacheDefaultDetectorGrouping().
|
protected |
Parameters modifying the base instrument.
Definition at line 185 of file ExperimentInfo.h.
Referenced by componentInfo(), constInstrumentParameters(), detectorInfo(), getInstrument(), instrumentParameters(), mutableComponentInfo(), mutableDetectorInfo(), setInstrument(), and spectrumInfo().
|
private |
The run information.
Definition at line 209 of file ExperimentInfo.h.
Referenced by copyExperimentInfoFrom(), getRunNumber(), mutableRun(), run(), setSharedRun(), and sharedRun().
|
private |
The information on the sample environment.
Definition at line 207 of file ExperimentInfo.h.
Referenced by copyExperimentInfoFrom(), mutableSample(), and sample().
|
mutableprivate |
Definition at line 222 of file ExperimentInfo.h.
Referenced by cacheDefaultDetectorGrouping(), invalidateAllSpectrumDefinitions(), invalidateSpectrumDefinition(), numberOfDetectorGroups(), setDetectorGrouping(), setNumberOfDetectorGroups(), setSpectrumDefinitions(), spectrumInfo(), and updateSpectrumDefinitionIfNecessary().
|
mutableprivate |
Definition at line 217 of file ExperimentInfo.h.
Referenced by cacheDefaultDetectorGrouping(), setDetectorGrouping(), setNumberOfDetectorGroups(), setSpectrumDefinitions(), and spectrumInfo().
|
mutableprivate |
Definition at line 219 of file ExperimentInfo.h.
Referenced by spectrumInfo().
|
mutableprivate |
Definition at line 218 of file ExperimentInfo.h.
Referenced by setInstrument(), setNumberOfDetectorGroups(), setSpectrumDefinitions(), and spectrumInfo().
|
protected |
The base (unparametrized) instrument.
Definition at line 187 of file ExperimentInfo.h.
Referenced by cacheDefaultDetectorGrouping(), getEMode(), getInstrument(), getLog(), getLogAsSingleValue(), Mantid::API::MatrixWorkspace::rebuildSpectraMapping(), and setInstrument().