34 std::shared_ptr<ConvToMDBase> ¤tSolver)
const {
37 if (std::dynamic_pointer_cast<DataObjects::EventWorkspace>(inputWS))
39 if (std::dynamic_pointer_cast<DataObjects::Workspace2D>(inputWS))
43 throw(std::invalid_argument(
"ConvToDataObjectsSelector::got a workspace which "
44 "is neither matrix nor event workspace; Can "
57 std::shared_ptr<ConvToMDBase> res;
59 if ((existingWsConvType ==
Undefined) || (existingWsConvType != inputWSType)) {
60 switch (inputWSType) {
64 res = std::make_shared<ConvToMDEventsWS>();
66 res = std::make_shared<ConvToMDEventsWSIndexing>();
69 res = std::make_shared<ConvToMDHistoWS>();
72 throw(std::logic_error(
"ConvToDataObjectsSelector: requested converter "
73 "for unknown ws type"));
80 res = std::make_shared<ConvToMDEventsWS>();
82 res = std::make_shared<ConvToMDEventsWSIndexing>();
84 res = std::make_shared<ConvToMDHistoWS>();
static std::unique_ptr< QThreadPool > tp
Class describes the interface to the methods, which perform conversion from usual workspaces to MDEve...
The class specializes ConvToDataObjectsBase for the case when the conversion occurs from Events WS to...
The class to transform matrix workspace into MDEvent workspace when matrix workspace is ragged 2D wor...
std::shared_ptr< ConvToMDBase > convSelector(const API::MatrixWorkspace_sptr &inputWS, std::shared_ptr< ConvToMDBase > ¤tSolver) const
function which selects the convertor depending on workspace type and (possibly, in a future) some wor...
ConverterType converterType
ConvToMDSelector(ConverterType tp=DEFAULT)
std::shared_ptr< MatrixWorkspace > MatrixWorkspace_sptr
shared pointer to the matrix workspace base class