diff --git a/Framework/DataHandling/inc/MantidDataHandling/LoadEMU.h b/Framework/DataHandling/inc/MantidDataHandling/LoadEMU.h index 67e664d8d99fea94c074b1b802f485d9383ac713..4a864622728243881894846fa6045c9c0bac246f 100644 --- a/Framework/DataHandling/inc/MantidDataHandling/LoadEMU.h +++ b/Framework/DataHandling/inc/MantidDataHandling/LoadEMU.h @@ -57,7 +57,7 @@ protected: private: using Base::exec; using Base::init; - // region of intreset + // region of intereset std::vector<bool> createRoiVector(const std::string &seltubes, const std::string &maskfile); @@ -109,6 +109,7 @@ protected: // Implemented the two classes explicitly rather than through specialization as // the instantiation and linking did not behave consistently across platforms. + extern template class LoadEMU<Kernel::FileDescriptor>; extern template class LoadEMU<Kernel::NexusDescriptor>; diff --git a/Framework/DataHandling/src/LoadEMU.cpp b/Framework/DataHandling/src/LoadEMU.cpp index e1c6998261ce0ef4b40aca34eaab3b04f70e87f8..554715ec446955568d7d951621488cd37814526f 100644 --- a/Framework/DataHandling/src/LoadEMU.cpp +++ b/Framework/DataHandling/src/LoadEMU.cpp @@ -35,9 +35,6 @@ namespace Mantid { namespace DataHandling { -// using LoadEMUHdf = LoadEMU<Kernel::NexusDescriptor>; -// using LoadEMUTar = LoadEMU<Kernel::FileDescriptor>; - namespace { // number of physical detectors @@ -1176,12 +1173,14 @@ template <typename FD> void LoadEMU<FD>::loadInstrument() { loadInstrumentAlg->executeAsChildAlg(); } -//--- explicit instantiation and class specialization ------- +//--------- explicit template instantiation ----------- // Instantiate base class for LoadEMU's template class LoadEMU<Kernel::FileDescriptor>; template class LoadEMU<Kernel::NexusDescriptor>; +// -------- EMU Hdf loader ----------------------- + /// Algorithm's version for identification. @see Algorithm::version int LoadEMUHdf::version() const { return 1; } @@ -1277,6 +1276,8 @@ void LoadEMUHdf::exec() { LoadEMU<Kernel::NexusDescriptor>::exec(hdfFile, evtPath); } +// -------- EMU Tar loader ----------------------- + /// Algorithm's version for identification. @see Algorithm::version int LoadEMUTar::version() const { return 1; } @@ -1292,7 +1293,7 @@ const std::string LoadEMUTar::name() const { return "LoadEMU"; } /// Algorithm's summary for use in the GUI and help. @see Algorithm::summary const std::string LoadEMUTar::summary() const { - return "Loads an EMU tar file, that contains the Hdf and event file, into a " + return "Loads an EMU tar file, containing the Hdf and event file, into a " "workspace."; } diff --git a/Framework/DataHandling/test/LoadEMUauTest.h b/Framework/DataHandling/test/LoadEMUauTest.h index 6f6009fb2e79d653858be697611cc691a30af4fb..4d68a2e734d7f006a8afb3af310bf2fc457af238 100644 --- a/Framework/DataHandling/test/LoadEMUauTest.h +++ b/Framework/DataHandling/test/LoadEMUauTest.h @@ -15,13 +15,17 @@ #include <Poco/Path.h> #include <Poco/TemporaryFile.h> +#ifdef _MSC_VER +// Disable warning on 'no suitable definition ..' as the extern +// does not clear the warning. No issue linking. +#pragma warning(disable : 4661) +#endif + using namespace Mantid::API; using namespace Mantid::Kernel; using namespace Mantid::DataHandling; using namespace Mantid::DataObjects; -extern template class Mantid::DataHandling::LoadEMU<FileDescriptor>; - class LoadEMUauTest : public CxxTest::TestSuite { public: void test_load_emu_algorithm_init() {