Mantid
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Mantid::DataObjects::Histogram1D Class Reference

1D histogram implementation. More...

#include <Histogram1D.h>

Inheritance diagram for Mantid::DataObjects::Histogram1D:
Mantid::API::ISpectrum

Public Member Functions

void clearData () override
 Zero the data (Y&E) in this spectrum.
 
void copyDataFrom (const ISpectrum &source) override
 Copy data from a Histogram1D or EventList, via ISpectrum reference.
 
const MantidVec & dataDx () const override
 Deprecated, use dx() instead.
 
MantidVec & dataDx () override
 Deprecated, use mutableDx() instead.
 
const MantidVec & dataE () const override
 Deprecated, use e() instead. Returns the error data const.
 
MantidVec & dataE () override
 Deprecated, use mutableE() instead. Returns the error data.
 
const MantidVec & dataX () const override
 Deprecated, use x() instead. Returns the x data const.
 
MantidVec & dataX () override
 Deprecated, use mutableX() instead. Returns the x data.
 
const MantidVec & dataY () const override
 Deprecated, use y() instead. Returns the y data const.
 
MantidVec & dataY () override
 Deprecated, use mutableY() instead. Returns the y data.
 
size_t getMemorySize () const override
 Gets the memory size of the histogram.
 
 Histogram1D (const Histogram1D &)=default
 
 Histogram1D (const ISpectrum &other)
 Construct from ISpectrum.
 
 Histogram1D (Histogram1D &&)=default
 
 Histogram1D (HistogramData::Histogram::XMode xmode, HistogramData::Histogram::YMode ymode)
 Construct empty.
 
bool isError () const
 Checks for errors.
 
Histogram1D & operator= (const Histogram1D &)=default
 
Histogram1D & operator= (const ISpectrum &rhs)
 Assignment from ISpectrum.
 
Histogram1D & operator= (Histogram1D &&)=default
 
Kernel::cow_ptr< HistogramData::HistogramX > ptrX () const override
 Deprecated, use sharedX() instead. Returns a pointer to the x data.
 
const MantidVec & readDx () const override
 Deprecated, use dx() instead.
 
const MantidVec & readX () const override
 Deprecated, use x() instead. Returns the x data const.
 
void setX (const Kernel::cow_ptr< HistogramData::HistogramX > &X) override
 Deprecated, use setSharedX() instead.
 
virtual std::size_t size () const
 get pseudo size
 
- Public Member Functions inherited from Mantid::API::ISpectrum
void addDetectorID (const detid_t detID)
 Add a detector ID to the set of detector IDs.
 
void addDetectorIDs (const std::set< detid_t > &detIDs)
 Add a set of detector IDs to the set of detector IDs.
 
void addDetectorIDs (const std::vector< detid_t > &detIDs)
 Add a vector of detector IDs to the set of detector IDs.
 
HistogramData::BinEdges binEdges () const
 
void clearDetectorIDs ()
 Clear the detector IDs set.
 
void convertToCounts ()
 
void convertToFrequencies ()
 
void copyInfoFrom (const ISpectrum &other)
 Copy spectrum number and detector IDs, but not X vector, from another ISpectrum.
 
virtual HistogramData::Counts counts () const
 
virtual HistogramData::CountStandardDeviations countStandardDeviations () const
 
virtual HistogramData::CountVariances countVariances () const
 
const HistogramData::HistogramDx & dx () const
 
virtual const HistogramData::HistogramE & e () const
 
virtual HistogramData::Frequencies frequencies () const
 
virtual HistogramData::FrequencyStandardDeviations frequencyStandardDeviations () const
 
virtual HistogramData::FrequencyVariances frequencyVariances () const
 
const std::set< detid_t > & getDetectorIDs () const
 Get a const reference to the detector IDs set.
 
specnum_t getSpectrumNo () const
 
virtual std::pair< double, double > getXDataRange () const
 Return the min/max X values for this spectrum.
 
bool hasDetectorID (const detid_t detID) const
 Return true if the given detector ID is in the list for this ISpectrum.
 
bool hasDx () const
 Gets the value of the use flag.
 
virtual HistogramData::Histogram histogram () const
 Returns the Histogram associated with this spectrum.
 
 ISpectrum ()=default
 
 ISpectrum (const specnum_t specNo)
 Constructor with spectrum number.
 
HistogramData::HistogramDx & mutableDx () &
 
HistogramData::HistogramE & mutableE () &
 
HistogramData::HistogramX & mutableX () &
 
HistogramData::HistogramY & mutableY () &
 
HistogramData::Points points () const
 
HistogramData::PointStandardDeviations pointStandardDeviations () const
 
virtual const MantidVec & readE () const
 Deprecated, use e() instead. Returns the y error data const.
 
virtual const MantidVec & readY () const
 Deprecated, use y() instead. Returns the y data const.
 
void resetHasDx ()
 Resets the hasDx flag.
 
void resize (size_t n)
 
template<typename... T>
void setBinEdges (T &&...data) &
 
template<typename... T>
void setCounts (T &&...data) &
 
template<typename... T>
void setCountStandardDeviations (T &&...data) &
 
template<typename... T>
void setCountVariances (T &&...data) &
 
void setDetectorID (const detid_t detID)
 Clear the list of detector IDs, then add one.
 
void setDetectorIDs (const std::set< detid_t > &detIDs)
 Set the detector IDs to be the set given.
 
void setDetectorIDs (std::set< detid_t > &&detIDs)
 Set the detector IDs to be the set given (move version).
 
template<typename... T>
void setFrequencies (T &&...data) &
 
template<typename... T>
void setFrequencyStandardDeviations (T &&...data) &
 
template<typename... T>
void setFrequencyVariances (T &&...data) &
 
template<typename... T>
void setHistogram (T &&...data)
 Sets the Histogram associated with this spectrum.
 
void setMatrixWorkspace (MatrixWorkspace *matrixWorkspace, const size_t index)
 Sets the MatrixWorkspace pointer (pointer to the owning workspace).
 
template<typename... T>
void setPoints (T &&...data) &
 
template<typename... T>
void setPointStandardDeviations (T &&...data) &
 
template<typename... T>
void setPointVariances (T &&...data) &
 
void setSharedDx (const Kernel::cow_ptr< HistogramData::HistogramDx > &dx) &
 
void setSharedE (const Kernel::cow_ptr< HistogramData::HistogramE > &e) &
 
void setSharedX (const Kernel::cow_ptr< HistogramData::HistogramX > &x) &
 
void setSharedY (const Kernel::cow_ptr< HistogramData::HistogramY > &y) &
 
void setSpectrumNo (specnum_t num)
 Sets the spectrum number of this spectrum.
 
void setYMode (HistogramData::Histogram::YMode ymode)
 
Kernel::cow_ptr< HistogramData::HistogramDx > sharedDx () const
 
virtual Kernel::cow_ptr< HistogramData::HistogramE > sharedE () const
 
Kernel::cow_ptr< HistogramData::HistogramX > sharedX () const
 
virtual Kernel::cow_ptr< HistogramData::HistogramY > sharedY () const
 
size_t size () const
 
const HistogramData::HistogramX & x () const
 
virtual const HistogramData::HistogramY & y () const
 
HistogramData::Histogram::YMode yMode () const
 
virtual ~ISpectrum ()=default
 

Private Member Functions

void checkAndSanitizeHistogram (HistogramData::Histogram &histogram) override
 Makes sure a histogram has valid Y and E data.
 
virtual void copyDataInto (DataObjects::EventList &) const
 Override in child classes for polymorphic copying of data.
 
virtual void copyDataInto (DataObjects::Histogram1D &) const
 Override in child classes for polymorphic copying of data.
 
void copyDataInto (Histogram1D &sink) const override
 Used by copyDataFrom for dynamic dispatch for its source.
 
virtual void copyDataInto (SpectrumTester &) const
 Override in child classes for polymorphic copying of data.
 
const HistogramData::Histogram & histogramRef () const override
 
HistogramData::Histogram & mutableHistogramRef () override
 

Private Attributes

HistogramData::Histogram m_histogram
 Histogram object holding the histogram data.
 

Additional Inherited Members

- Protected Member Functions inherited from Mantid::API::ISpectrum
virtual void checkIsYAndEWritable () const
 
virtual void checkWorksWithPoints () const
 
 ISpectrum (const ISpectrum &other)
 Copy constructor.
 
 ISpectrum (ISpectrum &&other)
 Move constructor.
 
ISpectrum & operator= (const ISpectrum &other)
 Copy assignment.
 
ISpectrum & operator= (ISpectrum &&other)
 Move assignment.
 

Detailed Description

1D histogram implementation.

Definition at line 19 of file Histogram1D.h.

Constructor & Destructor Documentation

◆ Histogram1D() [1/4]

Mantid::DataObjects::Histogram1D::Histogram1D ( HistogramData::Histogram::XMode  xmode,
HistogramData::Histogram::YMode  ymode 
)

Construct empty.

Definition at line 14 of file Histogram1D.cpp.

References m_histogram, and Mantid::API::ISpectrum::setCounts().

◆ Histogram1D() [2/4]

Mantid::DataObjects::Histogram1D::Histogram1D ( const Histogram1D &  )
default

◆ Histogram1D() [3/4]

Mantid::DataObjects::Histogram1D::Histogram1D ( Histogram1D &&  )
default

◆ Histogram1D() [4/4]

Mantid::DataObjects::Histogram1D::Histogram1D ( const ISpectrum &  other)

Construct from ISpectrum.

Definition at line 28 of file Histogram1D.cpp.

Member Function Documentation

◆ checkAndSanitizeHistogram()

void Mantid::DataObjects::Histogram1D::checkAndSanitizeHistogram ( HistogramData::Histogram &  histogram)
overrideprivatevirtual

Makes sure a histogram has valid Y and E data.

Parameters
histogramA histogram to check.
Exceptions
std::invalid_argumentif Y or E data is NULL.

Reimplemented from Mantid::API::ISpectrum.

Definition at line 91 of file Histogram1D.cpp.

References Mantid::API::ISpectrum::histogram().

◆ clearData()

void Mantid::DataObjects::Histogram1D::clearData ( )
overridevirtual

Zero the data (Y&E) in this spectrum.

Implements Mantid::API::ISpectrum.

Definition at line 43 of file Histogram1D.cpp.

References Mantid::API::ISpectrum::mutableE(), and Mantid::API::ISpectrum::mutableY().

◆ copyDataFrom()

void Mantid::DataObjects::Histogram1D::copyDataFrom ( const ISpectrum &  source)
overridevirtual

Copy data from a Histogram1D or EventList, via ISpectrum reference.

Implements Mantid::API::ISpectrum.

Definition at line 38 of file Histogram1D.cpp.

References Mantid::API::ISpectrum::copyDataInto().

◆ copyDataInto() [1/4]

void Mantid::API::ISpectrum::copyDataInto ( DataObjects::EventList &  ) const
privatevirtual

Override in child classes for polymorphic copying of data.

Reimplemented from Mantid::API::ISpectrum.

Definition at line 219 of file ISpectrum.cpp.

◆ copyDataInto() [2/4]

void Mantid::API::ISpectrum::copyDataInto ( DataObjects::Histogram1D &  ) const
privatevirtual

Override in child classes for polymorphic copying of data.

Reimplemented from Mantid::API::ISpectrum.

Definition at line 220 of file ISpectrum.cpp.

◆ copyDataInto() [3/4]

void Mantid::DataObjects::Histogram1D::copyDataInto ( Histogram1D &  sink) const
overrideprivatevirtual

Used by copyDataFrom for dynamic dispatch for its source.

Reimplemented from Mantid::API::ISpectrum.

Definition at line 41 of file Histogram1D.cpp.

References m_histogram.

◆ copyDataInto() [4/4]

void Mantid::API::ISpectrum::copyDataInto ( SpectrumTester &  ) const
privatevirtual

Override in child classes for polymorphic copying of data.

Reimplemented from Mantid::API::ISpectrum.

Definition at line 221 of file ISpectrum.cpp.

◆ dataDx() [1/2]

const MantidVec & Mantid::DataObjects::Histogram1D::dataDx ( ) const
overridevirtual

Deprecated, use dx() instead.

Implements Mantid::API::ISpectrum.

Definition at line 82 of file Histogram1D.cpp.

References Mantid::API::ISpectrum::dx().

◆ dataDx() [2/2]

MantidVec & Mantid::DataObjects::Histogram1D::dataDx ( )
overridevirtual

Deprecated, use mutableDx() instead.

Implements Mantid::API::ISpectrum.

Definition at line 78 of file Histogram1D.cpp.

References dataDx().

Referenced by dataDx().

◆ dataE() [1/2]

const MantidVec & Mantid::DataObjects::Histogram1D::dataE ( ) const
inlineoverridevirtual

Deprecated, use e() instead. Returns the error data const.

Implements Mantid::API::ISpectrum.

Definition at line 65 of file Histogram1D.h.

◆ dataE() [2/2]

MantidVec & Mantid::DataObjects::Histogram1D::dataE ( )
inlineoverridevirtual

Deprecated, use mutableE() instead. Returns the error data.

Implements Mantid::API::ISpectrum.

Definition at line 81 of file Histogram1D.h.

◆ dataX() [1/2]

const MantidVec & Mantid::DataObjects::Histogram1D::dataX ( ) const
overridevirtual

Deprecated, use x() instead. Returns the x data const.

Implements Mantid::API::ISpectrum.

Definition at line 67 of file Histogram1D.cpp.

References Mantid::API::ISpectrum::x().

◆ dataX() [2/2]

MantidVec & Mantid::DataObjects::Histogram1D::dataX ( )
overridevirtual

Deprecated, use mutableX() instead. Returns the x data.

Implements Mantid::API::ISpectrum.

Definition at line 61 of file Histogram1D.cpp.

References dataX().

Referenced by dataX().

◆ dataY() [1/2]

const MantidVec & Mantid::DataObjects::Histogram1D::dataY ( ) const
inlineoverridevirtual

Deprecated, use y() instead. Returns the y data const.

Implements Mantid::API::ISpectrum.

Definition at line 60 of file Histogram1D.h.

◆ dataY() [2/2]

MantidVec & Mantid::DataObjects::Histogram1D::dataY ( )
inlineoverridevirtual

Deprecated, use mutableY() instead. Returns the y data.

Implements Mantid::API::ISpectrum.

Definition at line 76 of file Histogram1D.h.

◆ getMemorySize()

size_t Mantid::DataObjects::Histogram1D::getMemorySize ( ) const
inlineoverridevirtual

Gets the memory size of the histogram.

Implements Mantid::API::ISpectrum.

Definition at line 93 of file Histogram1D.h.

References Mantid::Geometry::x, and Mantid::Geometry::y.

◆ histogramRef()

const HistogramData::Histogram & Mantid::DataObjects::Histogram1D::histogramRef ( ) const
inlineoverrideprivatevirtual

Implements Mantid::API::ISpectrum.

Definition at line 100 of file Histogram1D.h.

◆ isError()

bool Mantid::DataObjects::Histogram1D::isError ( ) const
inline

Checks for errors.

Definition at line 90 of file Histogram1D.h.

◆ mutableHistogramRef()

HistogramData::Histogram & Mantid::DataObjects::Histogram1D::mutableHistogramRef ( )
inlineoverrideprivatevirtual

Implements Mantid::API::ISpectrum.

Definition at line 101 of file Histogram1D.h.

◆ operator=() [1/3]

Histogram1D & Mantid::DataObjects::Histogram1D::operator= ( const Histogram1D &  )
default

◆ operator=() [2/3]

Histogram1D & Mantid::DataObjects::Histogram1D::operator= ( const ISpectrum &  rhs)

Assignment from ISpectrum.

Definition at line 31 of file Histogram1D.cpp.

References m_histogram, Mantid::API::ISpectrum::operator=(), and rhs.

◆ operator=() [3/3]

Histogram1D & Mantid::DataObjects::Histogram1D::operator= ( Histogram1D &&  )
default

◆ ptrX()

Kernel::cow_ptr< HistogramData::HistogramX > Mantid::DataObjects::Histogram1D::ptrX ( ) const
overridevirtual

Deprecated, use sharedX() instead. Returns a pointer to the x data.

Implements Mantid::API::ISpectrum.

Definition at line 73 of file Histogram1D.cpp.

References m_histogram.

◆ readDx()

const MantidVec & Mantid::DataObjects::Histogram1D::readDx ( ) const
overridevirtual

Deprecated, use dx() instead.

Implements Mantid::API::ISpectrum.

Definition at line 84 of file Histogram1D.cpp.

References m_histogram.

◆ readX()

const MantidVec & Mantid::DataObjects::Histogram1D::readX ( ) const
overridevirtual

Deprecated, use x() instead. Returns the x data const.

Implements Mantid::API::ISpectrum.

Definition at line 70 of file Histogram1D.cpp.

References m_histogram.

◆ setX()

void Mantid::DataObjects::Histogram1D::setX ( const Kernel::cow_ptr< HistogramData::HistogramX > &  X)
overridevirtual

Deprecated, use setSharedX() instead.

Sets the x data.

Parameters
X:: vector of X data

Implements Mantid::API::ISpectrum.

Definition at line 52 of file Histogram1D.cpp.

References m_histogram, and Mantid::Geometry::X.

◆ size()

virtual std::size_t Mantid::DataObjects::Histogram1D::size ( ) const
inlinevirtual

get pseudo size

Definition at line 87 of file Histogram1D.h.

Referenced by Mantid::DataObjects::Workspace2D::getSpectrum().

Member Data Documentation

◆ m_histogram

HistogramData::Histogram Mantid::DataObjects::Histogram1D::m_histogram
private

Histogram object holding the histogram data.

Definition at line 22 of file Histogram1D.h.

Referenced by copyDataInto(), Histogram1D(), operator=(), ptrX(), readDx(), readX(), and setX().


The documentation for this class was generated from the following files: