|
Mantid
|
Defines functions and utilities to create and deal with sparse instruments. More...
#include <SparseWorkspace.h>
Public Member Functions | |
| virtual HistogramData::Histogram | bilinearInterpolateFromDetectorGrid (const double lat, const double lon) const |
| Spatially interpolate a single histogram from nearby detectors using bilinear interpolation method. More... | |
| virtual HistogramData::Histogram | interpolateFromDetectorGrid (const double lat, const double lon) const |
| Spatially interpolate a single histogram from nearby detectors. More... | |
| SparseWorkspace (const API::MatrixWorkspace &modelWS, const size_t wavelengthPoints, const size_t rows, const size_t columns) | |
Public Member Functions inherited from Mantid::DataObjects::Workspace2D | |
| std::size_t | blocksize () const override |
| get the size of each vector More... | |
| std::unique_ptr< Workspace2D > | clone () const |
| Returns a clone of the workspace. More... | |
| std::unique_ptr< Workspace2D > | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. More... | |
| void | generateHistogram (const std::size_t index, const MantidVec &X, MantidVec &Y, MantidVec &E, bool skipError=false) const override |
| Generate a new histogram by rebinning the existing histogram. More... | |
| std::size_t | getMaxNumberBins () const override |
| Returns the maximum number of bins in a workspace (works on ragged data). More... | |
| std::size_t | getNumberBins (const std::size_t &index) const override |
| Returns the number of bins for a given histogram index. More... | |
| std::size_t | getNumberHistograms () const override |
| Returns the histogram number. More... | |
| const Histogram1D & | getSpectrum (const size_t index) const override |
| Return const reference to Histogram1D at the given workspace index. More... | |
| Histogram1D & | getSpectrum (const size_t index) override |
| Return the underlying ISpectrum ptr at the given workspace index. More... | |
| const std::string | id () const override |
| Gets the name of the workspace type. More... | |
| bool | isRaggedWorkspace () const override |
| Returns true if the workspace is ragged (has differently sized spectra). More... | |
| Workspace2D & | operator= (const Workspace2D &other)=delete |
| void | setImageE (const API::MantidImage &image, size_t start=0, bool parallelExecution=true) override |
| Copy the data from an image to this workspace's errors. More... | |
| void | setImageY (const API::MantidImage &image, size_t start=0, bool parallelExecution=true) override |
| Copy the data (Y's) from an image to this workspace. More... | |
| void | setImageYAndE (const API::MantidImage &imageY, const API::MantidImage &imageE, size_t start=0, bool loadAsRectImg=false, double scale_1=1.0, bool parallelExecution=true) |
| Copy the data from an image to this workspace's (Y's) and errors. More... | |
| void | setMonitorList (const std::vector< specnum_t > &mList) |
| sets the monitorWorkspace indexlist More... | |
| std::size_t | size () const override |
| get pseudo size More... | |
| Workspace2D (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
| Constructor. More... | |
| ~Workspace2D () override | |
| Destructor. More... | |
Public Member Functions inherited from Mantid::API::HistoWorkspace | |
| std::unique_ptr< HistoWorkspace > | clone () const |
| Returns a clone of the workspace. More... | |
| std::unique_ptr< HistoWorkspace > | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. More... | |
| HistoWorkspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
Public Member Functions inherited from Mantid::API::MatrixWorkspace | |
| MatrixWorkspace_uptr | clone () const |
| Returns a clone of the workspace. More... | |
| MatrixWorkspace_uptr | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. More... | |
| const Indexing::IndexInfo & | indexInfo () const |
| Returns a const reference to the IndexInfo object of the workspace. More... | |
| void | initialize (const Indexing::IndexInfo &indexInfo, const HistogramData::Histogram &histogram) |
| void | initialize (const std::size_t &NVectors, const HistogramData::Histogram &histogram) |
| void | initialize (const std::size_t &NVectors, const std::size_t &XLength, const std::size_t &YLength) |
| Initialize the workspace. More... | |
| MatrixWorkspace & | operator= (const MatrixWorkspace &other)=delete |
| void | setIndexInfo (const Indexing::IndexInfo &indexInfo) |
| Sets the IndexInfo object of the workspace. More... | |
| const std::string | toString () const override |
| Serializes the object to a string. More... | |
| const std::string | toString () const override |
| String description of state. More... | |
| ~MatrixWorkspace () override | |
| Delete. More... | |
| std::shared_ptr< const Geometry::IDetector > | getDetector (const size_t workspaceIndex) const |
| Get the effective detector for the given spectrum. More... | |
| double | detectorTwoTheta (const Geometry::IDetector &det) const |
| Returns the 2Theta scattering angle for a detector. More... | |
| double | detectorSignedTwoTheta (const Geometry::IDetector &det) const |
| Returns the signed 2Theta scattering angle for a detector. More... | |
| virtual void | updateSpectraUsing (const SpectrumDetectorMapping &map) |
| void | rebuildSpectraMapping (const bool includeMonitors=true, const specnum_t specNumOffset=1) |
| Build the default spectra mapping, most likely wanted after an instrument update. More... | |
| spec2index_map | getSpectrumToWorkspaceIndexMap () const |
| Return a map where: KEY is the Spectrum # VALUE is the Workspace Index. More... | |
| detid2index_map | getDetectorIDToWorkspaceIndexMap (bool throwIfMultipleDets=false, bool ignoreIfNoValidDets=false) const |
| Return a map where: KEY is the DetectorID (pixel ID) VALUE is the Workspace Index. More... | |
| virtual std::vector< size_t > | getDetectorIDToWorkspaceIndexVector (detid_t &offset, bool throwIfMultipleDets=false) const |
| Return a vector where: The index into the vector = DetectorID (pixel ID) + offset The value at that index = the corresponding Workspace Index. More... | |
| virtual std::vector< size_t > | getSpectrumToWorkspaceIndexVector (specnum_t &offset) const |
| Return a vector where: The index into the vector = spectrum number + offset The value at that index = the corresponding Workspace Index. More... | |
| std::vector< size_t > | getIndicesFromSpectra (const std::vector< specnum_t > &spectraList) const |
| Converts a list of spectrum numbers to the corresponding workspace indices. More... | |
| size_t | getIndexFromSpectrumNumber (const specnum_t specNo) const |
| Given a spectrum number, find the corresponding workspace index. More... | |
| std::vector< size_t > | getIndicesFromDetectorIDs (const std::vector< detid_t > &detIdList) const |
| Converts a list of detector IDs to the corresponding workspace indices. More... | |
| std::vector< specnum_t > | getSpectraFromDetectorIDs (const std::vector< detid_t > &detIdList) const |
| Converts a list of detector IDs to the corresponding spectrum numbers. More... | |
| bool | hasGroupedDetectors () const |
| Does the workspace has any grouped detectors? More... | |
| size_t | getMemorySize () const override |
| Get the footprint in memory in bytes. More... | |
| virtual size_t | getMemorySizeForXAxes () const |
| Returns the memory used (in bytes) by the X axes, handling ragged bins. More... | |
| void | setTitle (const std::string &) override |
| Sets MatrixWorkspace title. More... | |
| const std::string | getTitle () const override |
| Gets MatrixWorkspace title (same as Run object run_title property) More... | |
| virtual Types::Core::DateAndTime | getFirstPulseTime () const |
| Return the time of the first pulse received, by accessing the run's sample logs to find the proton_charge. More... | |
| Types::Core::DateAndTime | getLastPulseTime () const |
| Return the time of the last pulse received, by accessing the run's sample logs to find the proton_charge. More... | |
| std::size_t | yIndexOfX (const double xValue, const std::size_t &index=0, const double tolerance=0.0) const |
| Returns the y index which corresponds to the X Value provided. More... | |
| HistogramData::Histogram | histogram (const size_t index) const |
| Returns the Histogram at the given workspace index. More... | |
| template<typename... T> | |
| void | setHistogram (const size_t index, T &&...data) & |
| void | convertToCounts (const size_t index) |
| void | convertToFrequencies (const size_t index) |
| HistogramData::BinEdges | binEdges (const size_t index) const |
| HistogramData::Points | points (const size_t index) const |
| HistogramData::PointStandardDeviations | pointStandardDeviations (const size_t index) const |
| template<typename... T> | |
| void | setBinEdges (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setPoints (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setPointVariances (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setPointStandardDeviations (const size_t index, T &&...data) & |
| HistogramData::Counts | counts (const size_t index) const |
| HistogramData::CountVariances | countVariances (const size_t index) const |
| HistogramData::CountStandardDeviations | countStandardDeviations (const size_t index) const |
| HistogramData::Frequencies | frequencies (const size_t index) const |
| HistogramData::FrequencyVariances | frequencyVariances (const size_t index) const |
| HistogramData::FrequencyStandardDeviations | frequencyStandardDeviations (const size_t index) const |
| template<typename... T> | |
| void | setCounts (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setCountVariances (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setCountStandardDeviations (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setFrequencies (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setFrequencyVariances (const size_t index, T &&...data) & |
| template<typename... T> | |
| void | setFrequencyStandardDeviations (const size_t index, T &&...data) & |
| const HistogramData::HistogramX & | x (const size_t index) const |
| const HistogramData::HistogramY & | y (const size_t index) const |
| const HistogramData::HistogramE & | e (const size_t index) const |
| const HistogramData::HistogramDx & | dx (const size_t index) const |
| HistogramData::HistogramX & | mutableX (const size_t index) & |
| HistogramData::HistogramDx & | mutableDx (const size_t index) & |
| HistogramData::HistogramY & | mutableY (const size_t index) & |
| HistogramData::HistogramE & | mutableE (const size_t index) & |
| Kernel::cow_ptr< HistogramData::HistogramX > | sharedX (const size_t index) const |
| Kernel::cow_ptr< HistogramData::HistogramY > | sharedY (const size_t index) const |
| Kernel::cow_ptr< HistogramData::HistogramE > | sharedE (const size_t index) const |
| Kernel::cow_ptr< HistogramData::HistogramDx > | sharedDx (const size_t index) const |
| void | setSharedX (const size_t index, const Kernel::cow_ptr< HistogramData::HistogramX > &x) & |
| void | setSharedDx (const size_t index, const Kernel::cow_ptr< HistogramData::HistogramDx > &dx) & |
| void | setSharedY (const size_t index, const Kernel::cow_ptr< HistogramData::HistogramY > &y) & |
| void | setSharedE (const size_t index, const Kernel::cow_ptr< HistogramData::HistogramE > &e) & |
| const MantidVec & | readX (std::size_t const index) const |
| Deprecated, use x() instead. More... | |
| const MantidVec & | readY (std::size_t const index) const |
| Deprecated, use y() instead. More... | |
| const MantidVec & | readE (std::size_t const index) const |
| Deprecated, use e() instead. More... | |
| const MantidVec & | readDx (size_t const index) const |
| Deprecated, use dx() instead. More... | |
| virtual MantidVec & | dataX (const std::size_t index) |
| Deprecated, use mutableX() instead. Returns the x data. More... | |
| virtual MantidVec & | dataY (const std::size_t index) |
| Deprecated, use mutableY() instead. Returns the y data. More... | |
| virtual MantidVec & | dataE (const std::size_t index) |
| Deprecated, use mutableE() instead. Returns the error data. More... | |
| virtual MantidVec & | dataDx (const std::size_t index) |
| Deprecated, use mutableDx() instead. Returns the x error data. More... | |
| virtual const MantidVec & | dataX (const std::size_t index) const |
| Deprecated, use x() instead. Returns the x data const. More... | |
| virtual const MantidVec & | dataY (const std::size_t index) const |
| Deprecated, use y() instead. Returns the y data const. More... | |
| virtual const MantidVec & | dataE (const std::size_t index) const |
| Deprecated, use e() instead. Returns the error const. More... | |
| virtual const MantidVec & | dataDx (const std::size_t index) const |
| Deprecated, use dx() instead. Returns the error const. More... | |
| virtual double | getXMin () const |
| virtual double | getXMax () const |
| virtual void | getXMinMax (double &xmin, double &xmax) const |
| virtual Kernel::cow_ptr< HistogramData::HistogramX > | refX (const std::size_t index) const |
| Deprecated, use sharedX() instead. Returns a pointer to the x data. More... | |
| virtual void | setX (const std::size_t index, const Kernel::cow_ptr< HistogramData::HistogramX > &X) |
| Deprecated, use setSharedX() instead. More... | |
| virtual void | setX (const std::size_t index, const std::shared_ptr< HistogramData::HistogramX > &X) |
| Deprecated, use setSharedX() instead. More... | |
| virtual bool | hasDx (const std::size_t index) const |
| Probes if DX (X Error) values were set on a particular spectrum. More... | |
| virtual void | getIntegratedSpectra (std::vector< double > &out, const double minX, const double maxX, const bool entireRange) const |
| Return a vector with the integrated counts for all spectra withing the given range. More... | |
| std::pair< size_t, double > | getXIndex (size_t i, double x, bool isLeft=true, size_t start=0) const |
| Return an index in the X vector for an x-value close to a given value. More... | |
| int | axes () const |
| virtual Axis * | getAxis (const std::size_t &axisIndex) const |
| Get a non owning pointer to a workspace axis. More... | |
| void | replaceAxis (const std::size_t &axisIndex, std::unique_ptr< Axis > newAxis) |
| Replaces one of the workspace's axes with the new one provided. More... | |
| size_t | numberOfAxis () const |
| Will return the number of Axis currently stored in the workspace it is not always safe to assume it is just 2. More... | |
| virtual bool | isCommonLogBins () const |
| Returns true if the workspace contains common X bins with log spacing. More... | |
| virtual bool | isHistogramData () const |
| Returns true if the workspace contains data in histogram form (as opposed to point-like) More... | |
| virtual bool | isCommonBins () const |
| Returns true if the workspace contains common X bins. More... | |
| virtual bool | isIntegerBins () const |
| Returns true if the workspace has common, integer X bins. More... | |
| std::string | YUnit () const |
| Returns the units of the data in the workspace. More... | |
| void | setYUnit (const std::string &newUnit) |
| Sets a new unit for the data (Y axis) in the workspace. More... | |
| std::string | YUnitLabel (bool useLatex=false, bool plotAsDistribution=false) const |
| Returns a caption for the units of the data in the workspace. More... | |
| void | setYUnitLabel (const std::string &newLabel) |
| Sets a new caption for the data (Y axis) in the workspace. More... | |
| bool | isDistribution () const |
| Are the Y-values dimensioned? More... | |
| void | setDistribution (bool newValue) |
| Set the flag for whether the Y-values are dimensioned. More... | |
| void | maskBin (const size_t &workspaceIndex, const size_t &binIndex, const double &weight=1.0) |
| Called by the algorithm MaskBins to mask a single bin for the first time, algorithms that later propagate the the mask from an input to the output should call flagMasked() instead. More... | |
| void | flagMasked (const size_t &index, const size_t &binIndex, const double &weight=1.0) |
| Writes the masking weight to m_masks (doesn't alter y-values). More... | |
| bool | hasMaskedBins (const size_t &workspaceIndex) const |
| Does this spectrum contain any masked bins. More... | |
| bool | hasAnyMaskedBins () const |
| Does this workspace contain any masked bins. More... | |
| const MaskList & | maskedBins (const size_t &workspaceIndex) const |
| Returns the list of masked bins for a spectrum. More... | |
| std::vector< size_t > | maskedBinsIndices (const size_t &workspaceIndex) const |
| void | setMaskedBins (const size_t workspaceIndex, const MaskList &maskedBins) |
| Set the list of masked bins for given workspaceIndex. More... | |
| void | setUnmaskedBins (const size_t workspaceIndex) |
| Removes the mask from an index. More... | |
| virtual void | setMonitorWorkspace (const std::shared_ptr< MatrixWorkspace > &monitorWS) |
| Sets the internal monitor workspace to the provided workspace. More... | |
| std::shared_ptr< MatrixWorkspace > | monitorWorkspace () const |
| Returns a pointer to the internal monitor workspace. More... | |
| void | loadInstrumentNexus (::NeXus::File *file) |
| size_t | getNumDims () const override |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimension (size_t index) const override |
| Get a dimension. More... | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimensionWithId (std::string id) const override |
| Get a dimension. More... | |
| uint64_t | getNPoints () const override |
| Gets the number of points available on the workspace. More... | |
| uint64_t | getNEvents () const override |
| Get the number of points available on the workspace. More... | |
| LinePlot | getLinePlot (const Mantid::Kernel::VMD &start, const Mantid::Kernel::VMD &end, Mantid::API::MDNormalization normalize) const override |
| Generate a line plot through the matrix workspace. More... | |
| signal_t | getSignalAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const override |
| Get the signal at a coordinate in the workspace. More... | |
| signal_t | getSignalWithMaskAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const override |
| Get the signal at a coordinate in the workspace. More... | |
| std::vector< std::unique_ptr< IMDIterator > > | createIterators (size_t suggestedNumCores=1, Mantid::Geometry::MDImplicitFunction *function=nullptr) const override |
| Create iterators. More... | |
| void | setMDMasking (std::unique_ptr< Mantid::Geometry::MDImplicitFunction > maskingRegion) override |
| Apply masking. More... | |
| void | clearMDMasking () override |
| Clear exsting masking. More... | |
| Mantid::Kernel::SpecialCoordinateSystem | getSpecialCoordinateSystem () const override |
| virtual bool | hasOrientedLattice () const override |
| virtual std::pair< int64_t, int64_t > | findY (double value, const std::pair< int64_t, int64_t > &idx={0, 0}) const |
| Find first index in Y equal to value. More... | |
| std::pair< size_t, size_t > | getImageStartEndXIndices (size_t i, double startX, double endX) const |
| Get start and end x indices for images. More... | |
| MantidImage_sptr | getImageY (size_t start=0, size_t stop=0, size_t width=0, double startX=EMPTY_DBL(), double endX=EMPTY_DBL()) const |
| Create an image of Ys. More... | |
| MantidImage_sptr | getImageE (size_t start=0, size_t stop=0, size_t width=0, double startX=EMPTY_DBL(), double endX=EMPTY_DBL()) const |
| Create an image of Es. More... | |
| void | invalidateCachedSpectrumNumbers () |
| void | invalidateCommonBinsFlag () |
| Invalidates the commons bins flag. More... | |
Public Member Functions inherited from Mantid::API::IMDWorkspace | |
| std::string | changeQConvention () |
| virtual void | clearFileBacked (bool) |
| if a workspace was filebacked, this should clear file-based status, delete file-based information and close related files. More... | |
| virtual void | clearMDMasking ()=0 |
| Clear existing masks. More... | |
| std::unique_ptr< IMDWorkspace > | clone () const |
| Returns a clone of the workspace. More... | |
| std::unique_ptr< IMDWorkspace > | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. More... | |
| std::unique_ptr< IMDIterator > | createIterator (Mantid::Geometry::MDImplicitFunction *function=nullptr) const |
| Creates a single iterator and returns it. More... | |
| virtual std::vector< std::unique_ptr< IMDIterator > > | createIterators (size_t suggestedNumCores=1, Mantid::Geometry::MDImplicitFunction *function=nullptr) const =0 |
| Creates a new iterator pointing to the first cell in the workspace. More... | |
| virtual MDNormalization | displayNormalization () const |
| virtual MDNormalization | displayNormalizationHisto () const |
| std::string | getConvention () const |
| virtual LinePlot | getLinePlot (const Mantid::Kernel::VMD &start, const Mantid::Kernel::VMD &end, Mantid::API::MDNormalization normalize) const |
| Method to generate a line plot through a MD-workspace. More... | |
| virtual uint64_t | getNEvents () const =0 |
| virtual uint64_t | getNPoints () const =0 |
| Get the number of points associated with the workspace. More... | |
| virtual signal_t | getSignalAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const =0 |
| Returns the (normalized) signal at a given coordinates. More... | |
| signal_t | getSignalAtVMD (const Mantid::Kernel::VMD &coords, const Mantid::API::MDNormalization &normalization=Mantid::API::VolumeNormalization) const |
| Returns the signal (normalized by volume) at a given coordinates. More... | |
| virtual signal_t | getSignalWithMaskAtCoord (const coord_t *coords, const Mantid::API::MDNormalization &normalization) const =0 |
| Returns the (normalized) signal at a given coordinates or 0 if the value. More... | |
| signal_t | getSignalWithMaskAtVMD (const Mantid::Kernel::VMD &coords, const Mantid::API::MDNormalization &normalization=Mantid::API::VolumeNormalization) const |
| Returns the signal (normalized by volume) at a given coordinates or 0 if masked. More... | |
| virtual Kernel::SpecialCoordinateSystem | getSpecialCoordinateSystem () const =0 |
| virtual bool | hasOrientedLattice () const =0 |
| IMDWorkspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
| Default constructor. More... | |
| virtual bool | isMDHistoWorkspace () const |
| virtual ITableWorkspace_sptr | makeBoxTable (size_t, size_t) |
| this is the method to build table workspace from any workspace. More... | |
| IMDWorkspace & | operator= (const IMDWorkspace &other)=delete |
| void | setConvention (std::string convention) |
| virtual void | setMDMasking (std::unique_ptr< Mantid::Geometry::MDImplicitFunction > maskingRegion)=0 |
| Setter for the masking region. More... | |
Public Member Functions inherited from Mantid::API::Workspace | |
| Workspace_uptr | clone () const |
| Returns a clone (copy) of the workspace with covariant return type in all derived classes. More... | |
| Workspace_uptr | cloneEmpty () const |
| Returns a default-initialized clone of the workspace. More... | |
| const std::string & | getComment () const |
| Get the workspace comment. More... | |
| const WorkspaceHistory & | getHistory () const |
| Returns a reference to the WorkspaceHistory const. More... | |
| virtual size_t | getMemorySize () const =0 |
| Get the footprint in memory in bytes. More... | |
| std::string | getMemorySizeAsStr () const |
| Returns the memory footprint in sensible units. More... | |
| const std::string & | getName () const override |
| Get the workspace name. More... | |
| virtual const std::string | getTitle () const |
| Get the workspace title. More... | |
| WorkspaceHistory & | history () |
| Returns a reference to the WorkspaceHistory. More... | |
| bool | isDirty (const int n=1) const |
| Check whether other algorithms have been applied to the workspace by checking the history length. More... | |
| virtual bool | isGroup () const |
| Workspace & | operator= (const Workspace &other)=delete |
| void | setComment (const std::string &) |
| Set the comment field of the workspace. More... | |
| virtual void | setTitle (const std::string &) |
| Set the title of the workspace. More... | |
| Parallel::StorageMode | storageMode () const |
| Returns the storage mode (used for MPI runs) More... | |
| bool | threadSafe () const override |
| Marks the workspace as safe for multiple threads to edit data simutaneously. More... | |
| Workspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
| ~Workspace () | |
Public Member Functions inherited from Mantid::Kernel::DataItem | |
| DataItem () | |
| Default constructor. More... | |
| DataItem (const DataItem &other) | |
| Copy constructor Always makes a unique lock. More... | |
| virtual | ~DataItem () |
| Destructor. More... | |
| void | readLock () |
| Acquires a read lock. More... | |
| void | unlock () |
Public Member Functions inherited from Mantid::API::MDGeometry | |
| void | addDimension (const std::shared_ptr< Mantid::Geometry::IMDDimension > &dim) |
| Add a dimension. More... | |
| void | addDimension (Mantid::Geometry::IMDDimension *dim) |
| Add a dimension. More... | |
| bool | allBasisNormalized () const |
| void | clearOriginalWorkspaces () |
| Clear original workspaces. More... | |
| void | clearTransforms () |
| Clear transforms. More... | |
| virtual std::vector< coord_t > | estimateResolution () const |
| Mantid::Kernel::VMD & | getBasisVector (size_t index) |
| Get the basis vector (in the original workspace) for a dimension of this workspace. More... | |
| const Mantid::Kernel::VMD & | getBasisVector (size_t index) const |
| Get the basis vector (in the original workspace) for a dimension of this workspace. More... | |
| virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimension (size_t index) const |
| Get a dimension. More... | |
| size_t | getDimensionIndexById (const std::string &id) const |
| Get the index of the dimension that matches the ID given. More... | |
| size_t | getDimensionIndexByName (const std::string &name) const |
| Get the index of the dimension that matches the name given. More... | |
| virtual std::shared_ptr< const Mantid::Geometry::IMDDimension > | getDimensionWithId (std::string id) const |
| Get a dimension. More... | |
| std::string | getGeometryXML () const |
| std::vector< std::shared_ptr< const Geometry::IMDDimension > > | getNonIntegratedDimensions () const |
| Get non-collapsed dimensions. More... | |
| size_t | getNumberTransformsFromOriginal () const |
| Get the number of transforms defined from the original coordinate system. More... | |
| size_t | getNumberTransformsToOriginal () const |
| Get the number of transforms defined to the original coordinate system. More... | |
| virtual size_t | getNumDims () const |
| virtual size_t | getNumNonIntegratedDims () const |
| Mantid::Kernel::VMD & | getOrigin () |
| const Mantid::Kernel::VMD & | getOrigin () const |
| std::shared_ptr< Workspace > | getOriginalWorkspace (size_t index=0) const |
| Get the "original" workspace (the workspace that was the source for a binned MDWorkspace). More... | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getTDimension () const |
| Get the t-dimension mapping. More... | |
| Mantid::API::CoordTransform const * | getTransformFromOriginal (size_t index=0) const |
| Get the Coordinate Transformation that goes from the original workspace to this workspace's coordinates. More... | |
| Mantid::API::CoordTransform const * | getTransformToOriginal (size_t index=0) const |
| Get the Coordinate Transformation that goes from THIS workspace's coordinates to the ORIGINAL workspace's coordinates. More... | |
| const Kernel::DblMatrix & | getWTransf () const |
| get the transformation from Qin crystal cartezian coordinate system to Q in orthogonal or real HKL coordiate system alined with arbitrary slicing plane More... | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getXDimension () const |
| Get the x-dimension mapping. More... | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getYDimension () const |
| Get the y-dimension mapping. More... | |
| std::shared_ptr< const Mantid::Geometry::IMDDimension > | getZDimension () const |
| Get the z-dimension mapping. More... | |
| bool | hasOriginalWorkspace (size_t index=0) const |
| void | initGeometry (const std::vector< std::shared_ptr< Geometry::IMDDimension > > &dimensions) |
| Initialize the geometry. More... | |
| MDGeometry () | |
| Constructor. More... | |
| MDGeometry (const MDGeometry &other) | |
| Copy Constructor. More... | |
| size_t | numOriginalWorkspaces () const |
| MDGeometry & | operator= (const MDGeometry &other) |
| void | setBasisVector (size_t index, const Mantid::Kernel::VMD &vec) |
| Set the basis vector (in the original workspace) for a dimension of this workspace. More... | |
| void | setOrigin (const Mantid::Kernel::VMD &orig) |
| Sets the origin of this geometry. More... | |
| void | setOriginalWorkspace (std::shared_ptr< Workspace > ws, size_t index=0) |
| Set the "original" workspace (the workspace that was the source for a binned MDWorkspace). More... | |
| void | setTransformFromOriginal (Mantid::API::CoordTransform *transform, size_t index=0) |
| Sets the Coordinate Transformation that goes from the original workspace to this workspace's coordinates. More... | |
| void | setTransformToOriginal (Mantid::API::CoordTransform *transform, size_t index=0) |
| Sets the Coordinate Transformation that goes from THIS workspace's coordinates to the ORIGINAL workspace's coordinates. More... | |
| void | setWTransf (const Kernel::DblMatrix &WTransf) |
| set the transformation from Q in crystal cartezian coordinate system to Q in orthogonal or real HKL coordiate system alined with arbitrary slicing plane More... | |
| void | transformDimensions (std::vector< double > &scaling, std::vector< double > &offset) |
| Transform the dimensions contained in this geometry x' = x*scaling + offset. More... | |
| virtual | ~MDGeometry () |
| Destructor. More... | |
Public Member Functions inherited from Mantid::API::ExperimentInfo | |
| 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 | |
| HistogramData::HistogramE | esq (const HistogramData::HistogramE &e) const |
| Square the error values in a histogram. More... | |
| HistogramData::HistogramE | esqrt (HistogramData::HistogramE e) const |
| Square root the error values in a histogram. More... | |
| Mantid::Geometry::IObject_sptr | makeCubeShape () |
| Creates a rectangular cuboid shape. More... | |
| HistogramData::HistogramY | secondDerivative (const std::array< size_t, 3 > indices, const double distanceStep) const |
| Calculate the second derivative of a histogram along a row of indices. More... | |
| SparseWorkspace (const SparseWorkspace &other) | |
Protected Member Functions inherited from Mantid::DataObjects::Workspace2D | |
| void | init (const HistogramData::Histogram &histogram) override |
| void | init (const std::size_t &NVectors, const std::size_t &XLength, const std::size_t &YLength) override |
| Called by initialize() More... | |
| Workspace2D (const Workspace2D &other) | |
| Protected copy constructor. May be used by childs for cloning. More... | |
Protected Member Functions inherited from Mantid::API::MatrixWorkspace | |
| MatrixWorkspace (const MatrixWorkspace &other) | |
| Protected copy constructor. May be used by childs for cloning. More... | |
| MatrixWorkspace (const Parallel::StorageMode storageMode=Parallel::StorageMode::Cloned) | |
| Default constructor. More... | |
| void | updateCachedDetectorGrouping (const size_t index) const override |
| Update detector grouping for spectrum with given index. More... | |
| std::string | getDimensionIdFromAxis (const int &axisIndex) const |
| Getter for the dimension id based on the axis. More... | |
Protected Member Functions inherited from Mantid::API::IMDWorkspace | |
| IMDWorkspace (const IMDWorkspace &)=default | |
| Protected copy constructor. May be used by childs for cloning. More... | |
| void | makeSinglePointWithNaN (std::vector< coord_t > &x, std::vector< signal_t > &y, std::vector< signal_t > &e) const |
| Make a single point with NaN as the signal and error This can be returned when there would otherwise be nothing to plot. More... | |
| const std::string | toString () const override |
| Serializes the object to a string. More... | |
Protected Member Functions inherited from Mantid::API::Workspace | |
| void | setStorageMode (Parallel::StorageMode mode) |
| Sets the storage mode (used for MPI runs) More... | |
| Workspace (const Workspace &) | |
| Protected copy constructor. May be used by childs for cloning. More... | |
Protected Member Functions inherited from Mantid::Kernel::DataItem | |
| Poco::RWLock * | getLock () const |
| Private method to access the RWLock object. More... | |
Protected Member Functions inherited from Mantid::API::MDGeometry | |
| void | deleteNotificationReceived (const std::shared_ptr< const Workspace > &deleted) |
| Function called when observer objects recieves a notification. More... | |
Protected Member Functions inherited from Mantid::API::ExperimentInfo | |
| 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... | |
Static Protected Member Functions | |
| static std::tuple< double, double, double, double > | extremeAngles (const API::MatrixWorkspace &ws) |
| Find the latitude and longitude intervals the detectors of the given workspace span as seen from the sample. More... | |
| static std::tuple< double, double > | extremeWavelengths (const API::MatrixWorkspace &ws) |
| Find the maximum and minimum wavelength points over the entire workpace. More... | |
| static double | greatCircleDistance (const double lat1, const double long1, const double lat2, const double long2) |
| Calculate the distance between two points on a unit sphere. More... | |
| static std::array< double, 4 > | inverseDistanceWeights (const std::array< double, 4 > &distances) |
| Calculate the inverse distance weights for the given distances. More... | |
| static HistogramData::Histogram | modelHistogram (const API::MatrixWorkspace &modelWS, const size_t wavelengthPoints) |
| Create a template histogram for the sparse instrument workspace. More... | |
Protected Attributes | |
| std::unique_ptr< Algorithms::DetectorGridDefinition > | m_gridDef |
Protected Attributes inherited from Mantid::DataObjects::Workspace2D | |
| std::vector< std::unique_ptr< Histogram1D > > | data |
| A vector that holds the 1D histograms. More... | |
| std::vector< specnum_t > | m_monitorList |
| a vector holding workspace index of monitors in the workspace More... | |
Protected Attributes inherited from Mantid::API::MatrixWorkspace | |
| std::vector< std::unique_ptr< Axis > > | m_axes |
| A vector of pointers to the axes for this workspace. More... | |
Protected Attributes inherited from Mantid::API::MDGeometry | |
| std::vector< Mantid::Kernel::VMD > | m_basisVectors |
| Vector of the basis vector (in the original workspace) for each dimension of this workspace. More... | |
| std::vector< std::shared_ptr< Geometry::IMDDimension > > | m_dimensions |
| Vector of the dimensions used, in the order X Y Z t, etc. More... | |
| std::unique_ptr< MDGeometryNotificationHelper > | m_notificationHelper |
| Helper that deals with notifications and observing the ADS. More... | |
| Mantid::Kernel::VMD | m_origin |
| Vector of the origin (in the original workspace) that corresponds to 0,0,0... in this workspace. More... | |
| std::vector< std::shared_ptr< Workspace > > | m_originalWorkspaces |
| Pointer to the original workspace(s), if this workspace is a coordinate transformation from an original workspace. More... | |
| std::vector< std::shared_ptr< const Mantid::API::CoordTransform > > | m_transforms_FromOriginal |
| Coordinate Transformation that goes from the original workspace to this workspace's coordinates. More... | |
| std::vector< std::shared_ptr< const Mantid::API::CoordTransform > > | m_transforms_ToOriginal |
| Coordinate Transformation that goes from this workspace's coordinates to the original workspace coordinates. More... | |
| Kernel::DblMatrix | m_Wtransf |
| the matrix which transforms momentums from orthogonal Q-system to Orthogonal HKL or non-orthogonal HKL system alighned WRT to arbitrary coordinate system requested See the UB matrix formalizm, pg 7 for further details on implementation. More... | |
Protected Attributes inherited from Mantid::API::ExperimentInfo | |
| 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 | |
| SparseWorkspace * | doClone () const override |
| Virtual clone method. Not implemented to force implementation in children. More... | |
Additional Inherited Members | |
Public Types inherited from Mantid::API::MatrixWorkspace | |
| using | MaskList = std::map< size_t, double > |
| Masked bins for each spectrum are stored as a set of pairs containing <bin index, weight> More... | |
Static Public Attributes inherited from Mantid::API::MatrixWorkspace | |
| static const std::string | xDimensionId = "xDimension" |
| Dimension id for x-dimension. More... | |
| static const std::string | yDimensionId = "yDimension" |
| Dimensin id for y-dimension. More... | |
Defines functions and utilities to create and deal with sparse instruments.
Definition at line 36 of file SparseWorkspace.h.
| Mantid::Algorithms::SparseWorkspace::SparseWorkspace | ( | const API::MatrixWorkspace & | modelWS, |
| const size_t | wavelengthPoints, | ||
| const size_t | rows, | ||
| const size_t | columns | ||
| ) |
Definition at line 49 of file SparseWorkspace.cpp.
References Mantid::API::LogManager::addProperty(), Mantid::Kernel::DeltaEMode::asString(), Mantid::Geometry::DetectorInfo::detectorIDs(), Mantid::API::ExperimentInfo::detectorInfo(), Mantid::Kernel::DeltaEMode::Direct, Mantid::API::MatrixWorkspace::e(), extremeAngles(), Mantid::API::g_log, Mantid::API::ExperimentInfo::getEFixed(), Mantid::API::ExperimentInfo::getEMode(), Mantid::API::ExperimentInfo::getInstrument(), Mantid::DataObjects::Workspace2D::getSpectrum(), Mantid::PhysicalConstants::h, index, Mantid::Kernel::DeltaEMode::Indirect, Mantid::API::MatrixWorkspace::initialize(), Mantid::API::ExperimentInfo::instrumentParameters(), m_gridDef, makeCubeShape(), modelHistogram(), Mantid::API::ExperimentInfo::mutableRun(), Mantid::API::ExperimentInfo::sample(), Mantid::API::ISpectrum::setDetectorID(), Mantid::API::ExperimentInfo::setEFixed(), Mantid::API::ExperimentInfo::setInstrument(), and Mantid::Kernel::Logger::warning().
|
protected |
Definition at line 147 of file SparseWorkspace.cpp.
|
virtual |
Spatially interpolate a single histogram from nearby detectors using bilinear interpolation method.
Also calculate the resulting errors from: a) propagation of errors in the points b) interpolation error ie how well does the bilinear interpolation approximate the actual function
| lat | Latitude of the interpolated detector. |
| lon | Longitude of the interpolated detector. |
Definition at line 369 of file SparseWorkspace.cpp.
References Mantid::API::MatrixWorkspace::e(), esq(), esqrt(), Mantid::API::SpectrumInfo::geographicalAngles(), Mantid::PhysicalConstants::h, Mantid::API::MatrixWorkspace::histogram(), m_gridDef, secondDerivative(), Mantid::DataObjects::Workspace2D::size(), Mantid::API::ExperimentInfo::spectrumInfo(), and Mantid::Geometry::y.
Referenced by Mantid::Algorithms::DiscusMultipleScatteringCorrection::interpolateFromSparse(), and Mantid::Algorithms::MonteCarloAbsorption::interpolateFromSparse().
|
overrideprivatevirtual |
Virtual clone method. Not implemented to force implementation in children.
Implements Mantid::API::HistoWorkspace.
Definition at line 439 of file SparseWorkspace.cpp.
|
protected |
Square the error values in a histogram.
| e | A HistgramE object |
Definition at line 349 of file SparseWorkspace.cpp.
References Mantid::API::MatrixWorkspace::e().
Referenced by bilinearInterpolateFromDetectorGrid().
|
protected |
Square root the error values in a histogram.
| e | A HistgramE object |
Definition at line 355 of file SparseWorkspace.cpp.
References Mantid::API::MatrixWorkspace::e().
Referenced by bilinearInterpolateFromDetectorGrid().
|
staticprotected |
Find the latitude and longitude intervals the detectors of the given workspace span as seen from the sample.
Just do this for detectors that have a histogram in the ws
| ws | A workspace. |
Definition at line 156 of file SparseWorkspace.cpp.
References Mantid::API::SpectrumInfo::geographicalAngles(), Mantid::API::MatrixWorkspace::getNumberHistograms(), Mantid::API::SpectrumInfo::hasDetectors(), and Mantid::API::ExperimentInfo::spectrumInfo().
Referenced by SparseWorkspace().
|
staticprotected |
Find the maximum and minimum wavelength points over the entire workpace.
| ws | A workspace to investigate. |
Definition at line 187 of file SparseWorkspace.cpp.
References Mantid::API::MatrixWorkspace::getNumberHistograms(), Mantid::PhysicalConstants::h, and Mantid::API::MatrixWorkspace::histogram().
Referenced by modelHistogram().
|
staticprotected |
Calculate the distance between two points on a unit sphere.
| lat1 | Latitude of the first point. |
| long1 | Longitude of the first point. |
| lat2 | Latitude of the second point. |
| long2 | Longitude of the second point. |
Definition at line 276 of file SparseWorkspace.cpp.
Referenced by interpolateFromDetectorGrid().
|
virtual |
Spatially interpolate a single histogram from nearby detectors.
| lat | Latitude of the interpolated detector. |
| lon | Longitude of the interpolated detector. |
Definition at line 323 of file SparseWorkspace.cpp.
References Mantid::API::SpectrumInfo::geographicalAngles(), greatCircleDistance(), Mantid::PhysicalConstants::h, Mantid::API::MatrixWorkspace::histogram(), inverseDistanceWeights(), m_gridDef, Mantid::API::ExperimentInfo::spectrumInfo(), and Mantid::Geometry::y.
|
staticprotected |
Calculate the inverse distance weights for the given distances.
| distances | The distances. |
Definition at line 288 of file SparseWorkspace.cpp.
Referenced by interpolateFromDetectorGrid().
|
protected |
Creates a rectangular cuboid shape.
Definition at line 231 of file SparseWorkspace.cpp.
References Mantid::Geometry::ShapeFactory::createShape(), and std::to_string().
Referenced by SparseWorkspace().
|
staticprotected |
Create a template histogram for the sparse instrument workspace.
| modelWS | A workspace the sparse instrument is approximating. |
| wavelengthPoints | Number of points in the output histogram. |
Definition at line 205 of file SparseWorkspace.cpp.
References extremeWavelengths(), and Mantid::PhysicalConstants::h.
Referenced by SparseWorkspace().
|
protected |
Calculate the second derivative of a histogram along a row of indices.
| indices | List of detector indices |
| distanceStep | The distance between detector indices |
Definition at line 306 of file SparseWorkspace.cpp.
References Mantid::DataObjects::Workspace2D::blocksize(), and Mantid::Geometry::y.
Referenced by bilinearInterpolateFromDetectorGrid().
|
protected |
Definition at line 45 of file SparseWorkspace.h.
Referenced by bilinearInterpolateFromDetectorGrid(), interpolateFromDetectorGrid(), and SparseWorkspace().