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>();
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...