Mantid
Loading...
Searching...
No Matches
Classes | Static Public Member Functions | Private Types | Private Member Functions | List of all members
Mantid::MDAlgorithms::ConvToMDEventsWSIndexing Class Reference

This class creates the MDWorkspace from the collection of ToF events: converts to the MD events with proper Nd coordinate and than assigns the groups of them to the spatial tree-like box structure. More...

#include <ConvToMDEventsWSIndexing.h>

Inheritance diagram for Mantid::MDAlgorithms::ConvToMDEventsWSIndexing:
Mantid::MDAlgorithms::ConvToMDEventsWS Mantid::MDAlgorithms::ConvToMDBase

Classes

struct  MDEventMaker
 
struct  MDEventMaker< ND, Mantid::DataObjects::MDLeanEvent >
 

Static Public Member Functions

template<typename T >
static bool isSplitValid (const std::vector< T > &split_into)
 

Private Types

enum  MD_EVENT_TYPE { LEAN , REGULAR , NONE }
 

Private Member Functions

template<typename EventType , size_t ND, template< size_t > class MDEventType>
void appendEvents (API::Progress *pProgress, const API::BoxController_sptr &bc)
 
template<size_t ND, template< size_t > class MDEventType>
void appendEvents (API::Progress *pProgress, const API::BoxController_sptr &bc)
 
template<size_t ND>
void appendEvents (API::Progress *pProgress, const API::BoxController_sptr &bc)
 
template<size_t maxDim>
void appendEventsFromInputWS (API::Progress *pProgress, const API::BoxController_sptr &bc)
 
template<>
void appendEventsFromInputWS (API::Progress *pProgress, const API::BoxController_sptr &bc)
 
void appendEventsFromInputWS (API::Progress *pProgress, const API::BoxController_sptr &bc) override
 
template<typename EventType , size_t ND, template< size_t > class MDEventType>
std::vector< MDEventType< ND > > convertEvents ()
 
size_t initialize (const MDWSDescription &WSD, std::shared_ptr< MDEventWSWrapper > inWSWrapper, bool ignoreZeros) override
 method sets up all internal variables necessary to convert from Event Workspace to MDEvent workspace More...
 
template<size_t ND>
MD_EVENT_TYPE mdEventType ()
 
int numWorkers ()
 

Additional Inherited Members

- Public Member Functions inherited from Mantid::MDAlgorithms::ConvToMDEventsWS
size_t initialize (const MDWSDescription &WSD, std::shared_ptr< MDEventWSWrapper > inWSWrapper, bool ignoreZeros) override
 method sets up all internal variables necessary to convert from Event Workspace to MDEvent workspace More...
 
void runConversion (API::Progress *pProgress) override
 method which starts the conversion procedure More...
 
- Public Member Functions inherited from Mantid::MDAlgorithms::ConvToMDBase
 ConvToMDBase ()
 empty default constructor More...
 
UnitsConversionHelpergetUnitConversionHelper ()
 method returns unit conversion helper, used to convert input workspace units to the units, used by appropriate MD transformation (if such conversion is necessary) More...
 
virtual size_t initialize (const MDWSDescription &WSD, std::shared_ptr< MDEventWSWrapper > inWSWrapper, bool ignoreZeros)
 method which initiates all main class variables More...
 
virtual void runConversion (API::Progress *)=0
 method which starts the conversion procedure More...
 
virtual void setDisplayNormalization (Mantid::API::IMDEventWorkspace_sptr mdWorkspace, const Mantid::API::MatrixWorkspace_sptr &underlyingWorkspace)
 Set the normalization options. More...
 
virtual ~ConvToMDBase ()=default
 virtual destructor More...
 
- Protected Attributes inherited from Mantid::MDAlgorithms::ConvToMDEventsWS
DataObjects::EventWorkspace_const_sptr m_EventWS
 
- Protected Attributes inherited from Mantid::MDAlgorithms::ConvToMDBase
std::vector< coord_tm_Coord
 
Mantid::Kernel::SpecialCoordinateSystem m_coordinateSystem
 Any special coordinate system used. More...
 
std::vector< int32_t > m_detID
 
std::vector< size_t > m_detIDMap
 
uint16_t m_ExpInfoIndex
 
bool m_ignoreZeros
 
API::MatrixWorkspace_const_sptr m_InWS2D
 
size_t m_NDims
 number of target ws dimensions More...
 
uint32_t m_NSpectra
 
int m_NumThreads
 
std::shared_ptr< MDEventWSWrapperm_OutWSWrapper
 
MDTransf_sptr m_QConverter
 
UnitsConversionHelper m_UnitConversion
 
- Static Protected Attributes inherited from Mantid::MDAlgorithms::ConvToMDBase
static Mantid::Kernel::Logger g_Log
 

Detailed Description

This class creates the MDWorkspace from the collection of ToF events: converts to the MD events with proper Nd coordinate and than assigns the groups of them to the spatial tree-like box structure.

The difference with the ConvToMDEventsWS is in using the spatial index (Morton numbers) for speeding up the procedure.

Definition at line 29 of file ConvToMDEventsWSIndexing.h.

Member Enumeration Documentation

◆ MD_EVENT_TYPE

Enumerator
LEAN 
REGULAR 
NONE 

Definition at line 30 of file ConvToMDEventsWSIndexing.h.

Member Function Documentation

◆ appendEvents() [1/3]

template<typename EventType , size_t ND, template< size_t > class MDEventType>
void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEvents ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
private

◆ appendEvents() [2/3]

template<size_t ND, template< size_t > class MDEventType>
void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEvents ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
private

◆ appendEvents() [3/3]

template<size_t ND>
void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEvents ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
private

Definition at line 209 of file ConvToMDEventsWSIndexing.h.

References LEAN, and REGULAR.

◆ appendEventsFromInputWS() [1/3]

template<size_t maxDim>
void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEventsFromInputWS ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
privatevirtual

◆ appendEventsFromInputWS() [2/3]

template<>
void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEventsFromInputWS ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
privatevirtual

◆ appendEventsFromInputWS() [3/3]

void Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::appendEventsFromInputWS ( API::Progress pProgress,
const API::BoxController_sptr bc 
)
overrideprivatevirtual

Reimplemented from Mantid::MDAlgorithms::ConvToMDEventsWS.

Definition at line 35 of file ConvToMDEventsWSIndexing.cpp.

Referenced by appendEventsFromInputWS().

◆ convertEvents()

template<typename EventType , size_t ND, template< size_t > class MDEventType>
std::vector< MDEventType< ND > > Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::convertEvents
private

◆ initialize()

size_t Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::initialize ( const MDWSDescription WSD,
std::shared_ptr< MDEventWSWrapper inWSWrapper,
bool  ignoreZeros 
)
overrideprivatevirtual

method sets up all internal variables necessary to convert from Event Workspace to MDEvent workspace

Parameters
WSD– the class describing the target MD workspace, sorurce Event workspace and the transformations, necessary to perform on these workspaces
inWSWrapper– the class wrapping the target MD workspace
ignoreZeros– if zero value signals should be rejected

Reimplemented from Mantid::MDAlgorithms::ConvToMDEventsWS.

Definition at line 13 of file ConvToMDEventsWSIndexing.cpp.

References Mantid::MDAlgorithms::ConvToMDEventsWS::initialize(), isSplitValid(), and Mantid::MDAlgorithms::ConvToMDBase::m_OutWSWrapper.

◆ isSplitValid()

template<typename T >
static bool Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::isSplitValid ( const std::vector< T > &  split_into)
inlinestatic

Definition at line 38 of file ConvToMDEventsWSIndexing.h.

References n.

Referenced by initialize(), and Mantid::MDAlgorithms::ConvertToMD::validateInputs().

◆ mdEventType()

template<size_t ND>
ConvToMDEventsWSIndexing::MD_EVENT_TYPE Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::mdEventType
private

◆ numWorkers()

int Mantid::MDAlgorithms::ConvToMDEventsWSIndexing::numWorkers ( )
inlineprivate

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