diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/ExperimentInfo.h b/Code/Mantid/Framework/API/inc/MantidAPI/ExperimentInfo.h index 56dda258385e47e8c27c3f35be08c03e0e8129f5..ba59b8b4777280f08c5e748c82d6e396fb4319f9 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/ExperimentInfo.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/ExperimentInfo.h @@ -4,9 +4,7 @@ #include "MantidKernel/System.h" #include "MantidAPI/Sample.h" #include "MantidAPI/Run.h" -#include "MantidGeometry/Instrument/Instrument.h" -#include "MantidGeometry/IInstrument.h" - +#include "MantidGeometry/Instrument.h" namespace Mantid { @@ -34,8 +32,8 @@ namespace API ExperimentInfo * cloneExperimentInfo(); /// Instrument accessors - void setInstrument(const Geometry::IInstrument_sptr&); - Geometry::IInstrument_sptr getInstrument() const; + void setInstrument(const Geometry::Instrument_sptr&); + Geometry::Instrument_sptr getInstrument() const; boost::shared_ptr<Geometry::Instrument> getBaseInstrument() const; /// Returns the set of parameters modifying the base instrument diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IPeak.h b/Code/Mantid/Framework/API/inc/MantidAPI/IPeak.h index b6b20a176eb002036b6da2bf99b3855438964caf..1615c88a1deb79c9d5ada0cabf3a760802cedcad 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/IPeak.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/IPeak.h @@ -2,12 +2,10 @@ #define MANTID_API_IPEAK_H_ #include "MantidAPI/DllConfig.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Matrix.h" #include "MantidKernel/V3D.h" #include "MantidKernel/PhysicalConstants.h" -//#include "MantidKernel/System.h" - namespace Mantid { @@ -25,12 +23,12 @@ namespace API virtual ~IPeak(); - virtual void setInstrument(Mantid::Geometry::IInstrument_const_sptr inst) = 0; + virtual void setInstrument(Geometry::Instrument_const_sptr inst) = 0; virtual int getDetectorID() const = 0; virtual void setDetectorID(int m_DetectorID) = 0; - virtual Mantid::Geometry::IDetector_const_sptr getDetector() const = 0; - virtual Mantid::Geometry::IInstrument_const_sptr getInstrument() const = 0; + virtual Geometry::IDetector_const_sptr getDetector() const = 0; + virtual Geometry::Instrument_const_sptr getInstrument() const = 0; virtual int getRunNumber() const = 0; virtual void setRunNumber(int m_RunNumber) = 0; diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h index 5a4c8b0dfa2643ee953f93583f4ecec9f35f4f0c..aeaf0af4b7554978477f3547af4371c5931ebd55 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/IPeaksWorkspace.h @@ -58,7 +58,7 @@ namespace API virtual ~IPeaksWorkspace(); //boost::shared_ptr<IPeaksWorkspace> clone() = 0; - //void appendFile( std::string filename, Mantid::Geometry::IInstrument_sptr inst) = 0; + //void appendFile( std::string filename, Mantid::Geometry::Instrument_sptr inst) = 0; //--------------------------------------------------------------------------------------------- /** @return the number of peaks diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/InstrumentDataService.h b/Code/Mantid/Framework/API/inc/MantidAPI/InstrumentDataService.h index c175985f93f52d10a1032d4402a835472dd22b68..bea178fbe2582d1e605357c9e62364157814aefa 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/InstrumentDataService.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/InstrumentDataService.h @@ -3,7 +3,7 @@ #include "MantidAPI/DllConfig.h" #include "MantidKernel/DataService.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/SingletonHolder.h" namespace Mantid diff --git a/Code/Mantid/Framework/API/inc/MantidAPI/MatrixWorkspace.h b/Code/Mantid/Framework/API/inc/MantidAPI/MatrixWorkspace.h index ad151699f33413cb72ef06b2a37a0cf2fb534114..05ec077cf05175fb578cddf5b514985c07075707 100644 --- a/Code/Mantid/Framework/API/inc/MantidAPI/MatrixWorkspace.h +++ b/Code/Mantid/Framework/API/inc/MantidAPI/MatrixWorkspace.h @@ -15,7 +15,7 @@ #include "MantidAPI/WorkspaceHistory.h" #include "MantidAPI/WorkspaceIterator.h" #include "MantidGeometry/IDetector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/NearestNeighbours.h" #include "MantidKernel/cow_ptr.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/API/src/ExperimentInfo.cpp b/Code/Mantid/Framework/API/src/ExperimentInfo.cpp index 53309ace2199536944d278a001d55b42a32b5342..f1f69b5640039f113b9abaa3b49a1c69ae8b58aa 100644 --- a/Code/Mantid/Framework/API/src/ExperimentInfo.cpp +++ b/Code/Mantid/Framework/API/src/ExperimentInfo.cpp @@ -1,7 +1,6 @@ #include "MantidAPI/ExperimentInfo.h" #include "MantidAPI/MatrixWorkspace.h" -#include "MantidGeometry/IInstrument.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/ParameterMap.h" #include "MantidGeometry/Instrument/ParComponentFactory.h" #include "MantidGeometry/Instrument/XMLlogfile.h" @@ -64,17 +63,16 @@ namespace API * * @param instr :: Shared pointer to an instrument. */ - void ExperimentInfo::setInstrument(const IInstrument_sptr& instr) + void ExperimentInfo::setInstrument(const Instrument_sptr& instr) { - boost::shared_ptr<Instrument> tmp = boost::dynamic_pointer_cast<Instrument>(instr); - if (tmp->isParametrized()) + if (instr->isParametrized()) { - sptr_instrument = tmp->baseInstrument(); - m_parmap = tmp->getParameterMap(); + sptr_instrument = instr->baseInstrument(); + m_parmap = instr->getParameterMap(); } else { - sptr_instrument=tmp; + sptr_instrument = instr; } } @@ -84,7 +82,7 @@ namespace API * * @return The instrument class */ - IInstrument_sptr ExperimentInfo::getInstrument()const + Instrument_sptr ExperimentInfo::getInstrument()const { return Geometry::ParComponentFactory::createInstrument(sptr_instrument, m_parmap); } diff --git a/Code/Mantid/Framework/API/src/IFunctionMW.cpp b/Code/Mantid/Framework/API/src/IFunctionMW.cpp index 9fc1cb1928db4f98fbaa660c414f4bdd362b1cca..30c5f8fa0321044f955dbd2083ccf57c09250940 100644 --- a/Code/Mantid/Framework/API/src/IFunctionMW.cpp +++ b/Code/Mantid/Framework/API/src/IFunctionMW.cpp @@ -268,7 +268,7 @@ void IFunctionMW::setMatrixWorkspace(boost::shared_ptr<const API::MatrixWorkspac // the detector returned by det->getID() if ( boost::dynamic_pointer_cast<Geometry::DetectorGroup>(det) ) { - IInstrument_sptr inst = m_workspace->getInstrument(); + Instrument_sptr inst = m_workspace->getInstrument(); det = inst->getDetector(det->getID()); } @@ -436,7 +436,7 @@ double IFunctionMW::convertValue(double value, Kernel::Unit_sptr& outUnit, double l1,l2,twoTheta; // Get l1, l2 and theta (see also RemoveBins.calculateDetectorPosition()) - IInstrument_const_sptr instrument = ws->getInstrument(); + Instrument_const_sptr instrument = ws->getInstrument(); Geometry::IObjComponent_const_sptr sample = instrument->getSample(); if (sample == NULL) { @@ -498,7 +498,7 @@ void IFunctionMW::convertValue(std::vector<double>& values, Kernel::Unit_sptr& o double l1,l2,twoTheta; // Get l1, l2 and theta (see also RemoveBins.calculateDetectorPosition()) - IInstrument_const_sptr instrument = ws->getInstrument(); + Instrument_const_sptr instrument = ws->getInstrument(); Geometry::IObjComponent_const_sptr sample = instrument->getSample(); if (sample == NULL) { diff --git a/Code/Mantid/Framework/API/src/MatrixWorkspace.cpp b/Code/Mantid/Framework/API/src/MatrixWorkspace.cpp index 0c3c073e616916df45cfc3e8106e139a6a66e6cc..439189d94f4bff080d4aff4dec3cd96693706487 100644 --- a/Code/Mantid/Framework/API/src/MatrixWorkspace.cpp +++ b/Code/Mantid/Framework/API/src/MatrixWorkspace.cpp @@ -7,7 +7,7 @@ #include "MantidAPI/WorkspaceIterator.h" #include "MantidAPI/WorkspaceIteratorCode.h" #include "MantidAPI/SpectraDetectorMap.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/ParameterMap.h" #include "MantidGeometry/Instrument/ParComponentFactory.h" #include "MantidGeometry/Instrument/XMLlogfile.h" @@ -709,7 +709,7 @@ namespace Mantid throw Kernel::Exception::NotFoundError("MatrixWorkspace::getDetector(): NULL spectrum found at the given workspace index.", ""); const std::set<detid_t> dets = spec->getDetectorIDs(); - IInstrument_sptr localInstrument = getInstrument(); + Instrument_sptr localInstrument = getInstrument(); if( !localInstrument ) { g_log.debug() << "No instrument defined.\n"; diff --git a/Code/Mantid/Framework/API/test/ExperimentInfoTest.h b/Code/Mantid/Framework/API/test/ExperimentInfoTest.h index 8e1e57fafc02732be9a9610d1084e6826db19a91..fb5a88c00bcf867c1076ff0716f740c8a5a2cb81 100644 --- a/Code/Mantid/Framework/API/test/ExperimentInfoTest.h +++ b/Code/Mantid/Framework/API/test/ExperimentInfoTest.h @@ -19,7 +19,7 @@ public: void test_GetInstrument_default() { ExperimentInfo ws; - boost::shared_ptr<IInstrument> i = ws.getInstrument(); + boost::shared_ptr<Instrument> i = ws.getInstrument(); TSM_ASSERT( "ExperimentInfo gets a default, empty Instrument.", i); TS_ASSERT_EQUALS( ws.getInstrument()->type(), "Instrument" ); } @@ -27,16 +27,16 @@ public: void test_GetSetInstrument_default() { ExperimentInfo ws; - boost::shared_ptr<IInstrument> inst1(new Instrument()); + boost::shared_ptr<Instrument> inst1(new Instrument()); inst1->setName("MyTestInst"); ws.setInstrument(inst1); // Instruments don't point to the same base place since they - boost::shared_ptr<IInstrument> inst2 = ws.getInstrument(); + boost::shared_ptr<Instrument> inst2 = ws.getInstrument(); TS_ASSERT_EQUALS( inst2->getName(), "MyTestInst"); // But the base instrument does! - boost::shared_ptr<IInstrument> inst3 = ws.getBaseInstrument(); + boost::shared_ptr<Instrument> inst3 = ws.getBaseInstrument(); TS_ASSERT_EQUALS( inst3.get(), inst1.get()); TS_ASSERT_EQUALS( inst3->getName(), "MyTestInst"); } @@ -89,7 +89,7 @@ public: ws.mutableRun().setProtonCharge(1.234); ws.mutableSample().setName("test"); ws.mutableSample().setOrientedLattice( new OrientedLattice(1,2,3,90,90,90) ); - boost::shared_ptr<IInstrument> inst1(new Instrument()); + boost::shared_ptr<Instrument> inst1(new Instrument()); inst1->setName("MyTestInst"); ws.setInstrument(inst1); @@ -104,7 +104,7 @@ public: ws.mutableRun().setProtonCharge(1.234); ws.mutableSample().setName("test"); ws.mutableSample().setOrientedLattice( new OrientedLattice(1,2,3,90,90,90) ); - boost::shared_ptr<IInstrument> inst1(new Instrument()); + boost::shared_ptr<Instrument> inst1(new Instrument()); inst1->setName("MyTestInst"); ws.setInstrument(inst1); diff --git a/Code/Mantid/Framework/API/test/IMDWorkspaceTest.h b/Code/Mantid/Framework/API/test/IMDWorkspaceTest.h index 14412166bffbfc3991e4605f120f0ce705a225de..ad0956a983d81187d16ad5a45124c57def7616e3 100644 --- a/Code/Mantid/Framework/API/test/IMDWorkspaceTest.h +++ b/Code/Mantid/Framework/API/test/IMDWorkspaceTest.h @@ -8,7 +8,7 @@ #include "MantidAPI/WorkspaceFactory.h" #include "MantidAPI/NumericAxis.h" #include "MantidAPI/SpectraAxis.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/MDGeometry/IMDDimension.h" #include "MantidGeometry/MDGeometry/MDPoint.h" #include "MantidGeometry/MDGeometry/MDCell.h" diff --git a/Code/Mantid/Framework/API/test/InstrumentDataServiceTest.h b/Code/Mantid/Framework/API/test/InstrumentDataServiceTest.h index fbc97d43bc8510d07d8770dfcb45d3e645a1c9ea..ac311cd5e9ba3b3949526e8f1cfbb70a5d5b9c17 100644 --- a/Code/Mantid/Framework/API/test/InstrumentDataServiceTest.h +++ b/Code/Mantid/Framework/API/test/InstrumentDataServiceTest.h @@ -4,7 +4,7 @@ #include <cxxtest/TestSuite.h> #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/InstrumentDataService.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Exception.h" #include <iostream> diff --git a/Code/Mantid/Framework/API/test/MatrixWorkspaceTest.h b/Code/Mantid/Framework/API/test/MatrixWorkspaceTest.h index ab48c05d5ba86f6a632da10fe5c3b90e782e5fda..4baa94df104b33cc00c3eada4557307e7e9a1923 100644 --- a/Code/Mantid/Framework/API/test/MatrixWorkspaceTest.h +++ b/Code/Mantid/Framework/API/test/MatrixWorkspaceTest.h @@ -8,7 +8,7 @@ #include "MantidAPI/SpectraAxis.h" #include "MantidAPI/SpectraDetectorMap.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/OneToOneSpectraDetectorMap.h" #include <boost/scoped_ptr.hpp> #include <cxxtest/TestSuite.h> diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/InputWSDetectorInfo.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/InputWSDetectorInfo.h index 60147d5f0e10bdeed5dd7083f2b91e8d9f4e72f7..0e52345a95a7bae9a1bfbad47ff1c8662caa56be 100644 --- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/InputWSDetectorInfo.h +++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/InputWSDetectorInfo.h @@ -57,7 +57,7 @@ namespace Mantid /// following the example MaskDetectors write to this version of the instrument boost::shared_ptr<Geometry::Instrument> m_WInstru; /// when we read need to read from here - Geometry::IInstrument_sptr m_RInstru; + Geometry::Instrument_const_sptr m_RInstru; /// pointer to the map that links detectors to their masking with the input workspace Geometry::ParameterMap* m_Pmap; }; diff --git a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/RemoveLowResTOF.h b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/RemoveLowResTOF.h index 39dc2b0327d141aae263e859b0dc9da359a34fb3..f6d192f6f1e20757860dad0a1d2eb794b3d61be0 100644 --- a/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/RemoveLowResTOF.h +++ b/Code/Mantid/Framework/Algorithms/inc/MantidAlgorithms/RemoveLowResTOF.h @@ -30,7 +30,7 @@ private: void getTminData(const bool); double m_DIFCref; ///< The reference value for DIFC to filter with double m_K; ///< Mystery variable that I'm not sure what it is for - Geometry::IInstrument_const_sptr m_instrument; //< The instrument + Geometry::Instrument_const_sptr m_instrument; //< The instrument double m_L1; ///< The instrument initial flightpath double m_Tmin; ///< The start of the time-of-flight frame std::size_t m_numberOfSpectra; ///< The number of spectra in the workspace diff --git a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp index 4674a72c55949fb28fc3fce856807bf461cb6aa8..965f7082564edb5a4239b1591948fe551c738b61 100644 --- a/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/AlignDetectors.cpp @@ -60,7 +60,7 @@ std::map<detid_t, double> * AlignDetectors::calcTofToD_ConversionMap(Mantid::API bool vulcancorrection) { // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = inputWS->getInstrument(); + Instrument_const_sptr instrument = inputWS->getInstrument(); double l1; Kernel::V3D beamline,samplePos; diff --git a/Code/Mantid/Framework/Algorithms/src/CaltoDspacemap.cpp b/Code/Mantid/Framework/Algorithms/src/CaltoDspacemap.cpp index 95d9ff9243563618539a56a81fc366f48c4b0715..18ef009a1d430e37b5a5ea674e83be30c674334a 100644 --- a/Code/Mantid/Framework/Algorithms/src/CaltoDspacemap.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CaltoDspacemap.cpp @@ -8,7 +8,7 @@ #include "MantidAPI/WorkspaceValidators.h" #include "MantidDataObjects/EventWorkspace.h" #include "MantidDataObjects/OffsetsWorkspace.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/V3D.h" #include "MantidKernel/BinaryFile.h" #include "MantidKernel/PhysicalConstants.h" @@ -36,7 +36,6 @@ void CaltoDspacemap::initDocs() using namespace Kernel; using namespace API; using namespace DataObjects; -using Geometry::IInstrument_const_sptr; using DataObjects::EventList; using DataObjects::EventWorkspace; using DataObjects::EventWorkspace_sptr; diff --git a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp index 8b9174b6145070bc733c637264a6b825a9d0859f..856da1ed42d9e6c3cd46e9010b305b7fca009286 100644 --- a/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ConvertUnits.cpp @@ -332,7 +332,7 @@ void ConvertUnits::convertViaTOF(Kernel::Unit_const_sptr fromUnit, API::MatrixWo int64_t numberOfSpectra_i = static_cast<int64_t>(m_numberOfSpectra); // cast to make openmp happy // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = outputWS->getInstrument(); + Instrument_const_sptr instrument = outputWS->getInstrument(); // Get the parameter map const ParameterMap& pmap = outputWS->constInstrumentParameters(); diff --git a/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp b/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp index 86c431b018815b30f8cc79f0af691322c715740c..87f212fa001c553e8eecd19b9eacb80a4d4548b2 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateCalFileByNames.cpp @@ -6,7 +6,6 @@ #include "MantidAPI/InstrumentDataService.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/WorkspaceProperty.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/ConfigService.h" #include <boost/algorithm/string/detail/classification.hpp> #include <boost/algorithm/string/split.hpp> @@ -37,7 +36,7 @@ namespace Mantid using namespace Kernel; using API::Progress; using API::FileProperty; - using Geometry::IInstrument_sptr; + using Geometry::Instrument_sptr; CreateCalFileByNames::CreateCalFileByNames():API::Algorithm(),group_no(0) { @@ -75,7 +74,7 @@ namespace Mantid throw std::runtime_error("Workspace not found!"); // Get the instrument. - IInstrument_sptr inst = ws->getInstrument(); + Instrument_sptr inst = ws->getInstrument(); if (!inst) throw std::runtime_error("No instrument found in the workspace " + ws->getName()); diff --git a/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp b/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp index 70529db8173eb0b63b7e5d9c22d48cb837e6dfb9..472a4cb7ba9636019c85897014be8c65bf189742 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateDummyCalFile.cpp @@ -6,7 +6,6 @@ #include "MantidDataObjects/Workspace2D.h" #include "MantidKernel/ConfigService.h" #include "MantidAPI/InstrumentDataService.h" -#include "MantidGeometry/IInstrument.h" #include <queue> #include <fstream> @@ -84,7 +83,7 @@ namespace Mantid throw std::invalid_argument("No InputWorkspace"); //Get some stuff from the input workspace - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); std::string instname = inst->getName(); // Check that the instrument is in store diff --git a/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp b/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp index 48e766edc7f77dd6501cc3f12c3a1471dd80bab6..021e4ff0b60d4aec40f957b61dbdc8fd19d02773 100644 --- a/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CreateGroupingWorkspace.cpp @@ -129,7 +129,7 @@ namespace Algorithms * @param detIDtoGroup :: output: map of detID: to group number * @param prog :: progress report */ - void makeGroupingByNames(std::string GroupNames, IInstrument_sptr inst, std::map<detid_t, int> & detIDtoGroup, Progress & prog) + void makeGroupingByNames(std::string GroupNames, Instrument_sptr inst, std::map<detid_t, int> & detIDtoGroup, Progress & prog) { // Split the names of the group and insert in a vector std::vector<std::string> vgroups; @@ -232,7 +232,7 @@ namespace Algorithms throw std::invalid_argument("You must specify either to use the OldCalFilename parameter OR GroupNames but not both!"); // ---------- Get the instrument one of 3 ways --------------------------- - IInstrument_sptr inst; + Instrument_sptr inst; if (inWS) { inst = inWS->getInstrument(); diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp index a73cccf363ea03b12e1ea2e4fbe4c092f2e16df9..850562ea95145008df0dfc0f208dc83dd841af0c 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionEventCalibrateDetectors.cpp @@ -296,7 +296,7 @@ namespace Algorithms const std::string rb_params=getProperty("Params"); //Get some stuff from the input workspace - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionEventReadDetCal.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionEventReadDetCal.cpp index 9fdd1305f474f9cdc7f55afb089cf22f7e077c3f..75c97533a83e2b057a270aa7f3a63c3a6b60d53f 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionEventReadDetCal.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionEventReadDetCal.cpp @@ -106,7 +106,7 @@ namespace Algorithms MatrixWorkspace_sptr inputW = getProperty("InputWorkspace"); //Get some stuff from the input workspace - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); std::string instname = inst->getName(); @@ -245,7 +245,7 @@ namespace Algorithms Quat Rot = Q2 * Q1; // Then find the corresponding relative position - boost::shared_ptr<IComponent> comp = inst->getComponentByName(detname); + boost::shared_ptr<const IComponent> comp = inst->getComponentByName(detname); boost::shared_ptr<const IComponent> parent = comp->getParent(); if (parent) { diff --git a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp index f5ef97446483d01517a9ece171c65ee3fc60106a..5201bc0989197f4bd14a3d4919450bad912c983d 100644 --- a/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/DiffractionFocussing2.cpp @@ -391,7 +391,7 @@ void DiffractionFocussing2::execEvent() // ------------- Pre-allocate Event Lists ---------------------------- std::vector< std::vector<int> > ws_indices(nGroups+1); std::vector<size_t> size_required(nGroups+1,0); - Geometry::IInstrument_const_sptr instrument = eventW->getInstrument(); + Geometry::Instrument_const_sptr instrument = eventW->getInstrument(); Geometry::IObjComponent_const_sptr source; Geometry::IObjComponent_const_sptr sample; if (instrument != NULL) diff --git a/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp b/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp index 0fd55b7f07eacf3ec94553ddc64e9e51653f66ff..b1e3f103b06594b439a7aba01bf6e509e438d62e 100644 --- a/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp +++ b/Code/Mantid/Framework/Algorithms/src/EQSANSTofStructure.cpp @@ -7,7 +7,7 @@ #include "MantidDataObjects/Events.h" #include "MantidDataObjects/EventList.h" #include "MantidDataObjects/EventWorkspace.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <vector> diff --git a/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp b/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp index 866f8c56540f2d0ca7612cc8995cfcb8aaeaf548..888b459b1f93285fbf5ed401013fddd0230627b7 100644 --- a/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp +++ b/Code/Mantid/Framework/Algorithms/src/FilterBadPulses.cpp @@ -30,7 +30,6 @@ void FilterBadPulses::initDocs() using namespace Kernel; using namespace API; -using Geometry::IInstrument_const_sptr; using DataObjects::EventList; using DataObjects::EventWorkspace; using DataObjects::EventWorkspace_sptr; diff --git a/Code/Mantid/Framework/Algorithms/src/MultipleScatteringAbsorption.cpp b/Code/Mantid/Framework/Algorithms/src/MultipleScatteringAbsorption.cpp index c843dacc3776967d117aa0b122e3f7237997dc97..cf9f46a2af5c08598681f6480df47bd9c7eec105 100644 --- a/Code/Mantid/Framework/Algorithms/src/MultipleScatteringAbsorption.cpp +++ b/Code/Mantid/Framework/Algorithms/src/MultipleScatteringAbsorption.cpp @@ -85,7 +85,7 @@ void MultipleScatteringAbsorption::exec() // geometry stuff size_t nHist = in_WS->getNumberHistograms(); - Geometry::IInstrument_const_sptr instrument = in_WS->getInstrument(); + Geometry::Instrument_const_sptr instrument = in_WS->getInstrument(); if (instrument == NULL) throw std::runtime_error("Failed to find instrument attached to InputWorkspace"); Geometry::IObjComponent_const_sptr source = instrument->getSource(); diff --git a/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp b/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp index 753b228ecfe495900b476383b46ba49a73a59083..d3da83bf75b666553b276df19f51779297c23f13 100644 --- a/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp +++ b/Code/Mantid/Framework/Algorithms/src/ReadGroupsFromFile.cpp @@ -9,7 +9,6 @@ #include "MantidAPI/SpectraDetectorMap.h" #include "MantidAPI/WorkspaceProperty.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/System.h" @@ -101,7 +100,7 @@ namespace Algorithms throw std::runtime_error("Workspace not found!"); // Get the instrument. - IInstrument_sptr inst = ws->getInstrument(); + Instrument_sptr inst = ws->getInstrument(); if (!inst) throw std::runtime_error("No instrument found in the workspace " + ws->getName()); diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp index 8dd5a51cb74b9224df65ac9e6c7ec95f5c02b893..e2ec20a0f3cc6df9cf1ddd7d71b64ab361aaeb71 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveBins.cpp @@ -13,7 +13,6 @@ namespace Algorithms using namespace Kernel; using namespace API; -using Geometry::IInstrument_const_sptr; // Register the class into the algorithm factory DECLARE_ALGORITHM(RemoveBins) @@ -270,7 +269,7 @@ void RemoveBins::transformRangeUnit(const int& index, double& startX, double& en void RemoveBins::calculateDetectorPosition(const int& index, double& l1, double& l2, double& twoTheta) { // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = m_inputWorkspace->getInstrument(); + Geometry::Instrument_const_sptr instrument = m_inputWorkspace->getInstrument(); // Get the distance between the source and the sample (assume in metres) Geometry::IObjComponent_const_sptr sample = instrument->getSample(); // Check for valid instrument diff --git a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp index ecb373a0a2d071b4f710bf638012e03f1fb7f729..eb03665ee2a4be21438365a78f85ad16f1cd165b 100644 --- a/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp +++ b/Code/Mantid/Framework/Algorithms/src/RemoveLowResTOF.cpp @@ -1,7 +1,7 @@ #include "MantidAlgorithms/AlignDetectors.h" #include "MantidAlgorithms/RemoveLowResTOF.h" #include "MantidAPI/WorkspaceValidators.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <limits> #include <map> #include <math.h> @@ -15,7 +15,6 @@ using namespace Kernel; using namespace API; using namespace Geometry; using DataObjects::EventWorkspace; -using Geometry::IInstrument_const_sptr; using Kernel::Exception::InstrumentDefinitionError; using Kernel::Exception::NotFoundError; using std::size_t; diff --git a/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp b/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp index 53e9cc0be5ebbe44aaf74875a8c70fae6569347d..69615788c386cda7ee67685345b466fba0fc8a2e 100644 --- a/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SmoothNeighbours.cpp @@ -76,7 +76,7 @@ void SmoothNeighbours::exec() //Get some stuff from the input workspace const size_t numberOfSpectra = inWS->getNumberHistograms(); const int YLength = static_cast<int>(inWS->blocksize()); - IInstrument_sptr inst = inWS->getInstrument(); + Instrument_sptr inst = inWS->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp index 691931155736bcbaead12d890c1d0aeeaa58f29c..08f3c660b4ae7d8ab5d8f556dacd9f04ffe9cfc2 100644 --- a/Code/Mantid/Framework/Algorithms/src/SofQW.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW.cpp @@ -77,7 +77,7 @@ void SofQW::exec() else if (emodeStr == "Indirect") emode=2; // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = inputWorkspace->getInstrument(); + Instrument_const_sptr instrument = inputWorkspace->getInstrument(); // Get the parameter map const ParameterMap& pmap = inputWorkspace->constInstrumentParameters(); // Get the distance between the source and the sample (assume in metres) diff --git a/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp b/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp index 535778446062801fd17b783142d6a87269c7e326..58c54adf4bfb6a84be5d248118144b05264882d7 100755 --- a/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SofQW2.cpp @@ -242,7 +242,7 @@ namespace Mantid (PhysicalConstants::h*PhysicalConstants::h); // Get a pointer to the instrument contained in the workspace - Geometry::IInstrument_const_sptr instrument = workspace->getInstrument(); + Geometry::Instrument_const_sptr instrument = workspace->getInstrument(); // Get the distance between the source and the sample (assume in metres) Geometry::IObjComponent_const_sptr source = instrument->getSource(); Geometry::IObjComponent_const_sptr sample = instrument->getSample(); diff --git a/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp b/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp index 0c26edc4e68b1e80444b0044fa95641edc739f44..4bb9ff03d8423fbf2a14e3c791245297d82545d9 100644 --- a/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SolidAngle.cpp @@ -26,7 +26,6 @@ namespace Mantid using namespace Kernel; using namespace API; - using Geometry::IInstrument_const_sptr; /// Default constructor SolidAngle::SolidAngle() : Algorithm() @@ -95,7 +94,7 @@ namespace Mantid setProperty("OutputWorkspace",outputWS); // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = inputWS->getInstrument(); + Geometry::Instrument_const_sptr instrument = inputWS->getInstrument(); // Get the distance between the source and the sample (assume in metres) Geometry::IObjComponent_const_sptr sample = instrument->getSample(); diff --git a/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp b/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp index f41bef4b563143e7258b636519252516e124ee4b..c543a5e857ebf1a14a2a6504dc4f69b907c62df2 100644 --- a/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SpatialGrouping.cpp @@ -3,7 +3,6 @@ //---------------------------------------------------------------------- #include "MantidAlgorithms/SpatialGrouping.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Objects/BoundingBox.h" #include "MantidGeometry/ISpectraDetectorMap.h" diff --git a/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp b/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp index fedacebd3eee69d546b840a9df05c3936189334b..30e227886c58f28dcc45e0064ac158c6f5ffaa49 100644 --- a/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp +++ b/Code/Mantid/Framework/Algorithms/src/SumNeighbours.cpp @@ -87,7 +87,7 @@ void SumNeighbours::exec() //Get some stuff from the input workspace //const size_t numberOfSpectra = inWS->getNumberHistograms(); const int YLength = static_cast<int>(inWS->blocksize()); - IInstrument_sptr inst = inWS->getInstrument(); + Instrument_sptr inst = inWS->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); diff --git a/Code/Mantid/Framework/Algorithms/src/Unwrap.cpp b/Code/Mantid/Framework/Algorithms/src/Unwrap.cpp index 5bad5c05f89fe5341d9062895d8f98e7fe83af09..5e8e16228b7ff7d02635b469d5a88839a2035abe 100644 --- a/Code/Mantid/Framework/Algorithms/src/Unwrap.cpp +++ b/Code/Mantid/Framework/Algorithms/src/Unwrap.cpp @@ -10,10 +10,6 @@ namespace Algorithms DECLARE_ALGORITHM(Unwrap) -using namespace Kernel; -using namespace API; -using Geometry::IInstrument_const_sptr; - /// Default constructor Unwrap::Unwrap() { diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp index cb81160426ad098ec5ef27d2d97a61fdcb169317..540301b21f3e2143d37027a98709f0436327d876 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapMonitor.cpp @@ -23,7 +23,6 @@ void UnwrapMonitor::initDocs() using namespace Kernel; using namespace API; -using Geometry::IInstrument_const_sptr; /// Default constructor UnwrapMonitor::UnwrapMonitor():m_progress(NULL) @@ -149,7 +148,7 @@ void UnwrapMonitor::exec() double UnwrapMonitor::getPrimaryFlightpath() const { // Get a pointer to the instrument contained in the input workspace - IInstrument_const_sptr instrument = m_inputWS->getInstrument(); + Geometry::Instrument_const_sptr instrument = m_inputWS->getInstrument(); // Get the distance between the source and the sample Geometry::IObjComponent_const_sptr sample = instrument->getSample(); double L1; @@ -158,7 +157,7 @@ double UnwrapMonitor::getPrimaryFlightpath() const L1 = instrument->getSource()->getDistance(*sample); g_log.debug() << "Source-sample distance (in metres): " << L1 << std::endl; } - catch (Exception::NotFoundError e) + catch (Exception::NotFoundError&) { g_log.error("Unable to calculate source-sample distance"); throw Exception::InstrumentDefinitionError("Unable to calculate source-sample distance", m_inputWS->getTitle()); @@ -196,7 +195,7 @@ double UnwrapMonitor::calculateFlightpath(const int& spectrum, const double& L1, Ld = det->getDistance(*(m_inputWS->getInstrument()->getSource())); } } - catch (Exception::NotFoundError) + catch (Exception::NotFoundError&) { // If the detector information is missing, return a negative number } diff --git a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp index 2f3858a21718be80daaf35554c63ebba3f5b6f47..c0a9bd9540d254cb8362d6969fcd30965f1705f8 100644 --- a/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp +++ b/Code/Mantid/Framework/Algorithms/src/UnwrapSNS.cpp @@ -27,7 +27,6 @@ using namespace Kernel; using namespace API; using DataObjects::EventList; using DataObjects::EventWorkspace; -using Geometry::IInstrument_const_sptr; using Kernel::Exception::InstrumentDefinitionError; using Kernel::Exception::NotFoundError; using std::size_t; @@ -109,11 +108,11 @@ void UnwrapSNS::exec() // without the primary flight path the algorithm cannot work try { - IInstrument_const_sptr instrument = m_inputWS->getInstrument(); + Geometry::Instrument_const_sptr instrument = m_inputWS->getInstrument(); Geometry::IObjComponent_const_sptr sample = instrument->getSample(); m_L1 = instrument->getSource()->getDistance(*sample); } - catch (NotFoundError e) + catch (NotFoundError&) { throw InstrumentDefinitionError("Unable to calculate source-sample distance", m_inputWS->getTitle()); diff --git a/Code/Mantid/Framework/Algorithms/test/CreateCalFileByNamesTest.h b/Code/Mantid/Framework/Algorithms/test/CreateCalFileByNamesTest.h index 5d76358abf4c723acaf2b526e0666e6d6f0974b1..68fc70ddc11fdec36cd98b1905fd37731854bdbc 100644 --- a/Code/Mantid/Framework/Algorithms/test/CreateCalFileByNamesTest.h +++ b/Code/Mantid/Framework/Algorithms/test/CreateCalFileByNamesTest.h @@ -6,7 +6,7 @@ #include "MantidAlgorithms/CreateCalFileByNames.h" #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/Algorithms/test/CreateDummyCalFileTest.h b/Code/Mantid/Framework/Algorithms/test/CreateDummyCalFileTest.h index 8610467e0b6a4c387159ef17e014e628a1bd530f..22e3cbe8aeb74ff5c587a07be980dab905eec5fd 100644 --- a/Code/Mantid/Framework/Algorithms/test/CreateDummyCalFileTest.h +++ b/Code/Mantid/Framework/Algorithms/test/CreateDummyCalFileTest.h @@ -6,7 +6,7 @@ #include "MantidAlgorithms/CreateDummyCalFile.h" #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/Algorithms/test/CreatePSDBleedMaskTest.h b/Code/Mantid/Framework/Algorithms/test/CreatePSDBleedMaskTest.h index ca7053b29216b17263cf96648aed7d3781182879..898fab0706809d2a698482f9dbdaf6945dc419af 100644 --- a/Code/Mantid/Framework/Algorithms/test/CreatePSDBleedMaskTest.h +++ b/Code/Mantid/Framework/Algorithms/test/CreatePSDBleedMaskTest.h @@ -6,13 +6,13 @@ #include "MantidTestHelpers/WorkspaceCreationHelper.h" #include "MantidTestHelpers/ComponentCreationHelper.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/OneToOneSpectraDetectorMap.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/Detector.h" using Mantid::DataObjects::Workspace2D_sptr; -using Mantid::Geometry::IInstrument_sptr; +using Mantid::Geometry::Instrument_sptr; class CreatePSDBleedMaskTest : public CxxTest::TestSuite { @@ -113,9 +113,8 @@ private: return testWS; } - Mantid::Geometry::IInstrument_sptr createTestInstrument(const int nTubes = 3, const int nPixelsPerTube = 50) + Mantid::Geometry::Instrument_sptr createTestInstrument(const int nTubes = 3, const int nPixelsPerTube = 50) { - using Mantid::Geometry::IInstrument; using Mantid::Geometry::Instrument_sptr; using Mantid::Geometry::Instrument; using Mantid::Geometry::CompAssembly; diff --git a/Code/Mantid/Framework/Algorithms/test/DiffractionEventReadDetCalTest.h b/Code/Mantid/Framework/Algorithms/test/DiffractionEventReadDetCalTest.h index 3b653d760f2304b99f1014dabd35ba6ce68160f4..02e6735ef7b10113c14592097dfac971e16e9852 100644 --- a/Code/Mantid/Framework/Algorithms/test/DiffractionEventReadDetCalTest.h +++ b/Code/Mantid/Framework/Algorithms/test/DiffractionEventReadDetCalTest.h @@ -6,7 +6,7 @@ #include "MantidAlgorithms/DiffractionEventReadDetCal.h" #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/RectangularDetector.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" @@ -68,11 +68,11 @@ public: output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); //Get some stuff from the input workspace - IInstrument_sptr ins = output->getInstrument(); + Instrument_sptr ins = output->getInstrument(); if (!ins) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); - boost::shared_ptr<Mantid::Geometry::IComponent> det = ins->getComponentByName("bank1"); + IComponent_const_sptr det = ins->getComponentByName("bank1"); V3D PosNew = det->getPos(); Quat rot = det->getRotation(); TS_ASSERT_EQUALS(PosNew, V3D(0.500000,0.167548,-0.167548)); diff --git a/Code/Mantid/Framework/Algorithms/test/DspacemaptoCalTest.h b/Code/Mantid/Framework/Algorithms/test/DspacemaptoCalTest.h index a64bc1b7900b2064c598ca24d738f7421fe68447..188168698965430b22fc8f69d6d4d28af840fc00 100644 --- a/Code/Mantid/Framework/Algorithms/test/DspacemaptoCalTest.h +++ b/Code/Mantid/Framework/Algorithms/test/DspacemaptoCalTest.h @@ -8,7 +8,7 @@ #include "MantidDataHandling/SaveCalFile.h" #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h b/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h index ae506e2acd696415dc5e0214d3333604c66fc04f..4c7ecc6160ea2bf20418ae6d0d93488c4b17c6a2 100644 --- a/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h +++ b/Code/Mantid/Framework/Algorithms/test/FindDetectorsOutsideLimitsTest.h @@ -166,7 +166,7 @@ public: { // Make a workspace with 50 pixels, 200 events per pixel. EventWorkspace_sptr work_in = WorkspaceCreationHelper::CreateEventWorkspace2(); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(10); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(10); work_in->setInstrument(inst); DateAndTime run_start("2010-01-01"); // Add ten more at #10 so that it fails diff --git a/Code/Mantid/Framework/Algorithms/test/ReadGroupsFromFileTest.h b/Code/Mantid/Framework/Algorithms/test/ReadGroupsFromFileTest.h index c2215de26c616301b530ce36381160a337a428c6..0fb78bf3e196a6a51ec17fe023bd538ccd71448c 100644 --- a/Code/Mantid/Framework/Algorithms/test/ReadGroupsFromFileTest.h +++ b/Code/Mantid/Framework/Algorithms/test/ReadGroupsFromFileTest.h @@ -15,7 +15,7 @@ #include "MantidDataObjects/Workspace2D.h" #include "MantidGeometry/Instrument/Component.h" #include "MantidGeometry/Instrument/FitParameter.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/Exception.h" #include <Poco/File.h> diff --git a/Code/Mantid/Framework/Algorithms/test/SpatialGroupingTest.h b/Code/Mantid/Framework/Algorithms/test/SpatialGroupingTest.h index e8437308ad52dd39b78a25bd1f91ce658dcf605c..8d6c76d58c93ba0d99ff26a17e97af7de18503f3 100644 --- a/Code/Mantid/Framework/Algorithms/test/SpatialGroupingTest.h +++ b/Code/Mantid/Framework/Algorithms/test/SpatialGroupingTest.h @@ -7,7 +7,7 @@ #include "MantidTestHelpers/ComponentCreationHelper.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" #include "MantidAPI/MatrixWorkspace.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/ParameterMap.h" #include "MantidKernel/ConfigService.h" #include "MantidGeometry/Instrument/OneToOneSpectraDetectorMap.h" diff --git a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/PredictPeaks.h b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/PredictPeaks.h index 5a8532156eaec57743c6853e9dfdc1e1c3d9195f..a2052032e9908daf9347defdf354c8f8b26910ea 100644 --- a/Code/Mantid/Framework/Crystal/inc/MantidCrystal/PredictPeaks.h +++ b/Code/Mantid/Framework/Crystal/inc/MantidCrystal/PredictPeaks.h @@ -4,7 +4,6 @@ #include "MantidAPI/Algorithm.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidGeometry/Crystal/ReflectionCondition.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include <MantidGeometry/Crystal/OrientedLattice.h> #include "MantidKernel/Matrix.h" @@ -53,7 +52,7 @@ namespace Crystal /// Max wavelength parameter double wlMax; /// Instrument reference - Mantid::Geometry::IInstrument_sptr inst; + Geometry::Instrument_sptr inst; /// Output peaks workspace Mantid::DataObjects::PeaksWorkspace_sptr pw; /// Counter of possible peaks diff --git a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp index 3f1c598fc7efe368275b6a71f841776c9192239c..151228c2b728f15d575712c9e398fb6a4449ba56 100644 --- a/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp +++ b/Code/Mantid/Framework/Crystal/src/AnvredCorrection.cpp @@ -160,7 +160,7 @@ void AnvredCorrection::exec() if ( !det ) continue; // This is the scattered beam direction - IInstrument_sptr inst = m_inputWS->getInstrument(); + Instrument_const_sptr inst = m_inputWS->getInstrument(); V3D dir = det->getPos() - samplePos; // Two-theta = polar angle = scattering angle = between +Z vector and the scattered beam double scattering = dir.angle( V3D(0.0, 0.0, 1.0) ); @@ -244,7 +244,7 @@ void AnvredCorrection::execEvent() if ( !det ) continue; // This is the scattered beam direction - IInstrument_sptr inst = eventW->getInstrument(); + Instrument_const_sptr inst = eventW->getInstrument(); V3D dir = det->getPos() - samplePos; // Two-theta = polar angle = scattering angle = between +Z vector and the scattered beam double scattering = dir.angle( V3D(0.0, 0.0, 1.0) ); diff --git a/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp b/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp index df27d48c41ad44d2e9fd612971a56c9f5f12643e..c1b5816bff5d2412e79c12c6eccb09a9778a513e 100644 --- a/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp +++ b/Code/Mantid/Framework/Crystal/src/IntegratePeakTimeSlices.cpp @@ -22,7 +22,6 @@ #include "MantidAPI/SpectraDetectorTypes.h" #include "MantidAPI/Progress.h" #include "MantidGeometry/IDTypes.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/cow_ptr.h" #include "MantidKernel/PropertyManagerOwner.h" #include "MantidKernel/Unit.h" @@ -464,7 +463,7 @@ namespace Mantid boost::shared_ptr<const RectangularDetector> IntegratePeakTimeSlices::getPanel(Peak const & peak) { - Mantid::Geometry::IInstrument_const_sptr Iptr = peak.getInstrument(); + Geometry::Instrument_const_sptr Iptr = peak.getInstrument(); std::string bankName = peak.getBankName(); boost::shared_ptr<const IComponent> parent = Iptr->getComponentByName(bankName); @@ -525,7 +524,7 @@ namespace Mantid try { Q = peak.getQLabFrame().norm(); - Geometry::IInstrument_const_sptr instr = peak.getInstrument(); + Geometry::Instrument_const_sptr instr = peak.getInstrument(); const Geometry::IObjComponent_sptr sample = instr->getSample(); V3D pos = peak.getDetPos()-sample->getPos(); diff --git a/Code/Mantid/Framework/Crystal/src/LoadPeaksFile.cpp b/Code/Mantid/Framework/Crystal/src/LoadPeaksFile.cpp index 70ed6f6a955a561605be823baa4772e15e217852..b1bb48e5579d887afb3feaa6998b889c6658f4c9 100644 --- a/Code/Mantid/Framework/Crystal/src/LoadPeaksFile.cpp +++ b/Code/Mantid/Framework/Crystal/src/LoadPeaksFile.cpp @@ -223,7 +223,7 @@ namespace Crystal lastStr = getWord( in , false ); // Find the detector ID from row/col - IInstrument_const_sptr inst = outWS->getInstrument(); + Instrument_const_sptr inst = outWS->getInstrument(); if (!inst) throw std::runtime_error("No instrument in PeaksWorkspace!"); IComponent_const_sptr bank = inst->getComponentByName(bankName); if (!bank) throw std::runtime_error("Bank named " + bankName + " not found!"); diff --git a/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp b/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp index 7a7ea59ca0be6a68445eb8e287851e6a29c2cee3..8a8fc50f52b49b0bba1b75898ffbb97ab132a22f 100644 --- a/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp +++ b/Code/Mantid/Framework/Crystal/src/MaskPeaksWorkspace.cpp @@ -79,7 +79,7 @@ namespace Mantid //To get the workspace index from the detector ID detid2index_map * pixel_to_wi = inputW->getDetectorIDToWorkspaceIndexMap(true); //Get some stuff from the input workspace - Geometry::IInstrument_sptr inst = inputW->getInstrument(); + Geometry::Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); @@ -101,9 +101,9 @@ namespace Mantid XPeak = int(col+0.5)-1; YPeak = int(row+0.5)-1; - boost::shared_ptr<Geometry::IComponent> comp = inst->getComponentByName(peak.getBankName()); + Geometry::IComponent_const_sptr comp = inst->getComponentByName(peak.getBankName()); if (!comp) throw std::invalid_argument("Component "+peak.getBankName()+" does not exist in instrument"); - boost::shared_ptr<Geometry::RectangularDetector> det = boost::dynamic_pointer_cast<Geometry::RectangularDetector>(comp); + Geometry::RectangularDetector_const_sptr det = boost::dynamic_pointer_cast<const Geometry::RectangularDetector>(comp); if (!det) throw std::invalid_argument("Component "+peak.getBankName()+" is not a rectangular detector"); for (int ix=Xmin; ix <= Xmax; ix++) for (int iy=Ymin; iy <= Ymax; iy++) diff --git a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp index 997fa57c850d309dff0842677bf34e74b804dfdc..4b9c05b562d556e272d4d88a365c82a7549dbbee 100644 --- a/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp +++ b/Code/Mantid/Framework/Crystal/src/PeakIntegration.cpp @@ -94,7 +94,7 @@ namespace Mantid pixel_to_wi = inputW->getDetectorIDToWorkspaceIndexMap(true); - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); @@ -322,7 +322,7 @@ void PeakIntegration::sumneighbours(std::string det_name, int x0, int y0, int Su { //Get some stuff from the input workspace - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); @@ -545,7 +545,7 @@ int PeakIntegration::fitneighbours(int ipeak, std::string det_name, int x0, int // Number of slices int TOFmax = 0; //Get some stuff from the input workspace - IInstrument_sptr inst = inputW->getInstrument(); + Instrument_sptr inst = inputW->getInstrument(); if (!inst) throw std::runtime_error("The InputWorkspace does not have a valid instrument attached to it!"); diff --git a/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp b/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp index 0e385de2dcdff4e1eff8d178c7ed5fc7d56251be..941a9b33c01a4101d1d03db6975b1b0880aa17ff 100644 --- a/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/PredictPeaks.cpp @@ -2,7 +2,6 @@ #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidGeometry/Crystal/UnitCell.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/Matrix.h" #include "MantidGeometry/Objects/InstrumentRayTracer.h" #include "MantidKernel/PropertyWithValue.h" @@ -146,7 +145,7 @@ namespace Crystal V3D beamNormalized = beam; beamNormalized.normalize(); tracker.traceFromSample(beamNormalized); - IDetector_sptr det = tracker.getDetectorResult(); + IDetector_const_sptr det = tracker.getDetectorResult(); if (det) { // Create the peak diff --git a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp index 861eed47f28e86968d8f1e0d971828266f45a7db..74159f4e4e7f010a843d29453e14da6a21bcf183 100644 --- a/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp +++ b/Code/Mantid/Framework/Crystal/src/SaveIsawPeaks.cpp @@ -2,7 +2,6 @@ #include "MantidCrystal/SaveIsawPeaks.h" #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeaksWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/RectangularDetector.h" #include "MantidKernel/V3D.h" #include "MantidKernel/Strings.h" @@ -13,8 +12,6 @@ using namespace Mantid::Geometry; using namespace Mantid::DataObjects; using namespace Mantid::Kernel; using namespace Mantid::API; -using Mantid::Geometry::IInstrument_sptr; -using Mantid::Geometry::IInstrument_sptr; namespace Mantid { @@ -78,7 +75,7 @@ namespace Crystal std::ofstream out( filename.c_str() ); - IInstrument_const_sptr inst = ws->getInstrument(); + Instrument_const_sptr inst = ws->getInstrument(); if (!inst) throw std::runtime_error("No instrument in PeaksWorkspace. Cannot save peaks file."); double l1; V3D beamline; double beamline_norm; V3D samplePos; diff --git a/Code/Mantid/Framework/Crystal/test/IntegratePeakTimeSlicesTest.h b/Code/Mantid/Framework/Crystal/test/IntegratePeakTimeSlicesTest.h index 7e3a9a1be82084a7dee84da3b135aeb05e35e36f..4a02f653da1da35d88b2ac4bfb2b72be2cfdb0a8 100644 --- a/Code/Mantid/Framework/Crystal/test/IntegratePeakTimeSlicesTest.h +++ b/Code/Mantid/Framework/Crystal/test/IntegratePeakTimeSlicesTest.h @@ -15,7 +15,6 @@ #include "MantidCurveFitting/Fit.h" #include "MantidCrystal/IntegratePeakTimeSlices.h" #include "MantidGeometry/IComponent.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/RectangularDetector.h" #include "MantidKernel/Unit.h" @@ -77,13 +76,13 @@ public: for (size_t k = 0; k < wsPtr->getNumberHistograms(); k++) wsPtr->setX(k, x_vals); - Geometry::IInstrument_sptr instP = wsPtr->getInstrument(); - boost::shared_ptr<Geometry::IComponent> bankC = instP->getComponentByName(std::string("bank1")); + Geometry::Instrument_sptr instP = wsPtr->getInstrument(); + IComponent_const_sptr bankC = instP->getComponentByName(std::string("bank1")); if (bankC->type().compare("RectangularDetector") != 0) throw std::runtime_error(" No Rect bank named bank 1"); - boost::shared_ptr<Geometry::RectangularDetector> bankR = boost::dynamic_pointer_cast< + boost::shared_ptr<const Geometry::RectangularDetector> bankR = boost::dynamic_pointer_cast<const Geometry::RectangularDetector>(bankC); boost::shared_ptr<Geometry::Detector> pixelp = bankR->getAtXY(PeakCol, PeakRow); @@ -275,15 +274,15 @@ ISAWIntensityError 98.0362 134.863 164.32 187.991 164.32 Workspace2D_sptr wsPtr = boost::dynamic_pointer_cast<Workspace2D>( AnalysisDataService::Instance().retrieve("RebinResult")); - Geometry::IInstrument_sptr instP = wsPtr->getInstrument(); + Geometry::Instrument_sptr instP = wsPtr->getInstrument(); - boost::shared_ptr<Geometry::IComponent> bankC = instP->getComponentByName(std::string("bank26")); + IComponent_const_sptr bankC = instP->getComponentByName(std::string("bank26")); if (bankC->type().compare("RectangularDetector") != 0) throw std::runtime_error(" No Rect bank named bank 26"); - boost::shared_ptr<Geometry::RectangularDetector> bankR = boost::dynamic_pointer_cast< - Geometry::RectangularDetector>(bankC); + boost::shared_ptr<const Geometry::RectangularDetector> bankR = boost::dynamic_pointer_cast< + const Geometry::RectangularDetector>(bankC); boost::shared_ptr<Geometry::Detector> pixelp = bankR->getAtXY(57, 214); @@ -327,7 +326,7 @@ private: /** * Calculates Q */ - double calcQ(RectangularDetector_sptr bankP, boost::shared_ptr<IInstrument> instPtr, int row, int col, + double calcQ(RectangularDetector_const_sptr bankP, boost::shared_ptr<Instrument> instPtr, int row, int col, double time) { boost::shared_ptr<Detector> detP = bankP->getAtXY(col, row); @@ -363,10 +362,10 @@ private: WorkspaceFactory::Instance().create("Workspace2D", NVectors, ntimes, nvals)); //wsPtr->initialize(NVectors, ntimes, nvals); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(Npanels, NRC, + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(Npanels, NRC, sideLength); - wsPtr->setInstrument(boost::dynamic_pointer_cast<Geometry::IInstrument>(inst)); + wsPtr->setInstrument(inst); wsPtr->rebuildSpectraMapping(false); diff --git a/Code/Mantid/Framework/Crystal/test/PredictPeaksTest.h b/Code/Mantid/Framework/Crystal/test/PredictPeaksTest.h index 5ac7f8ab86ccbb24f00675b235c7611db15fe30b..204ba54d5b25381fdecb08f7b7909f7760efc38f 100644 --- a/Code/Mantid/Framework/Crystal/test/PredictPeaksTest.h +++ b/Code/Mantid/Framework/Crystal/test/PredictPeaksTest.h @@ -35,7 +35,7 @@ public: } /** Make a HKL peaks workspace */ - PeaksWorkspace_sptr getHKLpw(IInstrument_sptr inst, std::vector<V3D> hkls, detid_t detid) + PeaksWorkspace_sptr getHKLpw(Instrument_sptr inst, std::vector<V3D> hkls, detid_t detid) { PeaksWorkspace_sptr hklPW; if (hkls.size() > 0) @@ -59,7 +59,7 @@ public: // Make the fake input workspace MatrixWorkspace_sptr inWS = WorkspaceCreationHelper::Create2DWorkspace(10000, 1); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(1, 100); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(1, 100); inWS->setInstrument(inst); //Set ub and Goniometer rotation @@ -126,7 +126,7 @@ public: // Make the fake input workspace MatrixWorkspace_sptr inWS = WorkspaceCreationHelper::Create2DWorkspace(10000, 1); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 100); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 100); inWS->setInstrument(inst); //Set ub and Goniometer rotation diff --git a/Code/Mantid/Framework/Crystal/test/SaveIsawPeaksTest.h b/Code/Mantid/Framework/Crystal/test/SaveIsawPeaksTest.h index a6559a5e5f51a9a73fd0f38a18b071e4181e700f..c50c9567a42df76e710144ced167ea51a5c1b7b1 100644 --- a/Code/Mantid/Framework/Crystal/test/SaveIsawPeaksTest.h +++ b/Code/Mantid/Framework/Crystal/test/SaveIsawPeaksTest.h @@ -5,7 +5,6 @@ #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeaksWorkspace.h" #include "MantidGeometry/IDTypes.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include "MantidKernel/Timer.h" #include "MantidTestHelpers/ComponentCreationHelper.h" @@ -34,7 +33,7 @@ public: void do_test(int numRuns, size_t numBanks, size_t numPeaksPerBank) { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(4, 10, 1.0); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(4, 10, 1.0); PeaksWorkspace_sptr ws(new PeaksWorkspace()); ws->setInstrument(inst); diff --git a/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp b/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp index c0fe0562752c615297d7e9d40dd79989016c1598..b665c14db609b21a9d5abbc5ec0477c653d3d524 100644 --- a/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp +++ b/Code/Mantid/Framework/CurveFitting/src/IkedaCarpenterPV.cpp @@ -142,7 +142,7 @@ void IkedaCarpenterPV::calWavelengthAtEachDataPoint(const double* xValues, const // its size smaller than nData if ( m_workspace != 0 ) { - IInstrument_const_sptr instrument = m_workspace->getInstrument(); + Instrument_const_sptr instrument = m_workspace->getInstrument(); Geometry::IObjComponent_const_sptr sample = instrument->getSample(); if (sample != NULL) { diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCalFile.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCalFile.h index b5a68308e23641cc5fecd0d01d8c2e7b982d58dc..3c659cf31d73df9a3313a8a735ff5ff7cbe06989 100644 --- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCalFile.h +++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadCalFile.h @@ -6,7 +6,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataObjects/GroupingWorkspace.h" #include "MantidDataObjects/OffsetsWorkspace.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/System.h" @@ -36,7 +36,7 @@ namespace DataHandling static void getInstrument3WaysInit(Mantid::API::Algorithm * alg); - static Mantid::Geometry::IInstrument_sptr getInstrument3Ways(Mantid::API::Algorithm * alg); + static Geometry::Instrument_sptr getInstrument3Ways(API::Algorithm * alg); static void readCalFile(const std::string& calFileName, Mantid::DataObjects::GroupingWorkspace_sptr groupWS, Mantid::DataObjects::OffsetsWorkspace_sptr offsetsWS, Mantid::API::MatrixWorkspace_sptr maskWS); diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadEventNexus.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadEventNexus.h index d80400ec1ea87ad7fba8884be21404c925ead582..220c58b66d48b9092eb848cb5009b60aef69d93b 100644 --- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadEventNexus.h +++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/LoadEventNexus.h @@ -161,7 +161,7 @@ namespace Mantid std::vector<Kernel::DateAndTime> & pulseTimes, Algorithm * alg); /// Load a spectra mapping from the given file - static Geometry::ISpectraDetectorMap * loadSpectraMapping(const std::string & filename, Mantid::Geometry::IInstrument_sptr inst, + static Geometry::ISpectraDetectorMap * loadSpectraMapping(const std::string & filename, Geometry::Instrument_sptr inst, const bool monitorsOnly, const std::string entry_name, Mantid::Kernel::Logger & g_log); private: diff --git a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveToSNSHistogramNexus.h b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveToSNSHistogramNexus.h index f302cc259d9575efa547f52f1ec322e2d35b885b..5dfcf6b7482c54ca32664be6b16a39b50102f9e8 100644 --- a/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveToSNSHistogramNexus.h +++ b/Code/Mantid/Framework/DataHandling/inc/MantidDataHandling/SaveToSNSHistogramNexus.h @@ -117,7 +117,7 @@ namespace Mantid int WriteAttributes (int is_definition); int copy_file(const char* inFile, int nx_read_access, const char* outFile, int nx_write_access); - int WriteOutDataOrErrors(boost::shared_ptr<Mantid::Geometry::RectangularDetector> det, + int WriteOutDataOrErrors(Geometry::RectangularDetector_const_sptr det, int x_pixel_slab, const char * field_name, const char * errors_field_name, bool doErrors, bool doBoth, int is_definition, diff --git a/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp b/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp index 787738b531f22f977963aa57ed0db2c82b895a65..d973f3f2ab02220ee29f5fcc57112922cf7756b8 100644 --- a/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp +++ b/Code/Mantid/Framework/DataHandling/src/FindDetectorsInShape.cpp @@ -68,7 +68,7 @@ void FindDetectorsInShape::initDocs() boost::shared_ptr<Geometry::Object> shape_sptr = sFactory.createShape(shapeXML); //get the instrument out of the workspace - IInstrument_sptr instrument_sptr = WS->getInstrument(); + Instrument_const_sptr instrument_sptr = WS->getInstrument(); //To get all the detector ID's detid2det_map allDetectors; diff --git a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp index 3267725ceb37c024a81ba71d034bfe2456aabe31..df85ebddea6b3714920305e2185c4ca7e6541b05 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadCalFile.cpp @@ -5,12 +5,11 @@ #include "MantidDataObjects/GroupingWorkspace.h" #include "MantidDataObjects/OffsetsWorkspace.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include <fstream> #include "MantidDataObjects/SpecialWorkspace2D.h" -using Mantid::Geometry::IInstrument_sptr; +using Mantid::Geometry::Instrument_sptr; using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::DataObjects; @@ -73,7 +72,7 @@ namespace DataHandling /** Get a pointer to an instrument in one of 3 ways: InputWorkspace, InstrumentName, InstrumentFilename * @param alg :: algorithm from which to get the property values. * */ - Mantid::Geometry::IInstrument_sptr LoadCalFile::getInstrument3Ways(Algorithm * alg) + Geometry::Instrument_sptr LoadCalFile::getInstrument3Ways(Algorithm * alg) { MatrixWorkspace_sptr inWS = alg->getProperty("InputWorkspace"); std::string InputWorkspace = alg->getPropertyValue("InputWorkspace"); @@ -92,7 +91,7 @@ namespace DataHandling throw std::invalid_argument("You must specify exactly ONE way to get an instrument (workspace, instrument name, or IDF file). You specified none."); // ---------- Get the instrument one of 3 ways --------------------------- - IInstrument_sptr inst; + Instrument_sptr inst; if (inWS) { inst = inWS->getInstrument(); @@ -150,7 +149,7 @@ namespace DataHandling if (WorkspaceName.empty()) throw std::invalid_argument("Must specify WorkspaceName."); - IInstrument_sptr inst = LoadCalFile::getInstrument3Ways(this); + Instrument_sptr inst = LoadCalFile::getInstrument3Ways(this); GroupingWorkspace_sptr groupWS; OffsetsWorkspace_sptr offsetsWS; diff --git a/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp b/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp index 61103791b8b9797188a31a9210356c63a4a62922..4183058dba9f9bbcd1c76eb140c6337bec3fbd60 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadDspacemap.cpp @@ -6,7 +6,6 @@ #include "MantidDataObjects/EventWorkspace.h" #include "MantidDataObjects/GroupingWorkspace.h" #include "MantidDataObjects/OffsetsWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/V3D.h" #include "MantidKernel/BinaryFile.h" #include "MantidKernel/PhysicalConstants.h" @@ -86,7 +85,7 @@ namespace DataHandling void LoadDspacemap::exec() { // Get the instrument - IInstrument_sptr inst = LoadCalFile::getInstrument3Ways(this); + Instrument_sptr inst = LoadCalFile::getInstrument3Ways(this); // Read in the calibration data const std::string DFileName = getProperty("Filename"); @@ -137,7 +136,7 @@ namespace DataHandling Mantid::DataObjects::OffsetsWorkspace_sptr offsetsWS) { // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = offsetsWS->getInstrument(); + Instrument_const_sptr instrument = offsetsWS->getInstrument(); double l1; Kernel::V3D beamline,samplePos; double beamline_norm; @@ -197,7 +196,7 @@ namespace DataHandling Mantid::DataObjects::OffsetsWorkspace_sptr offsetsWS) { // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = offsetsWS->getInstrument(); + Instrument_const_sptr instrument = offsetsWS->getInstrument(); //To get all the detector ID's detid2det_map allDetectors; diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp index 845a11ca0d77802b96d8ebfc62ff8b9f3b9dc4a6..30c5e0c13f93f76da5f7a78887713c44c9f0caf2 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEmptyInstrument.cpp @@ -68,7 +68,7 @@ namespace Mantid // load the instrument into this workspace MatrixWorkspace_sptr ws = this->runLoadInstrument(); - IInstrument_sptr instrument = ws->getInstrument(); + Instrument_sptr instrument = ws->getInstrument(); // Get detectors stored in instrument and create dummy c-arrays for the purpose // of calling method of SpectraDetectorMap diff --git a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp index fec696ec5f6e01a18bb5fd61b43fbeef9bb7bb7b..5efcf7b33ecd72493f05455f7e6d1002e79969b8 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadEventNexus.cpp @@ -2,7 +2,6 @@ // Includes //---------------------------------------------------------------------- #include "MantidDataHandling/LoadEventNexus.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/DateAndTime.h" @@ -1192,7 +1191,7 @@ void LoadEventNexus::createSpectraMapping(const std::string &nxsfile, if( !monitorsOnly && !bankName.empty() ) { // Only build the map for the single bank - std::vector<IDetector_sptr> dets; + std::vector<IDetector_const_sptr> dets; WS->getInstrument()->getDetectorsInBank(dets, bankName); if (dets.size() > 0) { @@ -1307,7 +1306,7 @@ void LoadEventNexus::runLoadMonitors() * @param entry_name :: name of the NXentry to open. * @returns A pointer to a new map or NULL if the block does not exist */ -Geometry::ISpectraDetectorMap * LoadEventNexus::loadSpectraMapping(const std::string & filename, Mantid::Geometry::IInstrument_sptr inst, +Geometry::ISpectraDetectorMap * LoadEventNexus::loadSpectraMapping(const std::string & filename, Geometry::Instrument_sptr inst, const bool monitorsOnly, const std::string entry_name, Mantid::Kernel::Logger & g_log) { ::NeXus::File file(filename); diff --git a/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp b/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp index 1b1fb65ab76c8ca0d5b1d60fb7982b5d65ad7e8f..230c8fc7228cc9dd964893f6542acce5a3f19afd 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadGSS.cpp @@ -6,7 +6,7 @@ #include "MantidAPI/WorkspaceValidators.h" #include "MantidKernel/UnitFactory.h" #include "MantidAPI/LoadAlgorithmFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/Component.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadISISNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadISISNexus.cpp index 74cc25c0f18dcb9e8cba02b6e3424cc4cc65bcbd..f28be8a3e0930854c31b4ccf57b932ae6b75c5c8 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadISISNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadISISNexus.cpp @@ -31,7 +31,7 @@ namespace Mantid using namespace Kernel; using namespace API; - using Geometry::IInstrument; + using Geometry::Instrument; using std::size_t; /// Empty default constructor @@ -106,7 +106,7 @@ namespace Mantid Property *ws = getProperty("OutputWorkspace"); std::string localWSName = ws->value(); // If multiperiod, will need to hold the Instrument, Sample & SpectraDetectorMap for copying - boost::shared_ptr<IInstrument> instrument; + boost::shared_ptr<Instrument> instrument; boost::shared_ptr<Sample> sample; // Call private method to validate the optional parameters, if set diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp index bf7e965bc71b4a9d3cd2e708a8c4c84ea6f94d65..15f18b6b6ea8f00e9e372d76af0d36f71c7fdb35 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrument.cpp @@ -4,7 +4,7 @@ #include "MantidDataHandling/LoadInstrument.h" #include "MantidDataHandling/LoadParameterFile.h" #include "MantidGeometry/Objects/ShapeFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/InstrumentDataService.h" #include "MantidGeometry/Instrument/XMLlogfile.h" #include "MantidAPI/Progress.h" @@ -268,6 +268,7 @@ namespace Mantid NodeList* pNL_parameter = pRootElem->getElementsByTagName("parameter"); unsigned long numParameter = pNL_parameter->length(); + hasParameterElement.reserve(numParameter); for (unsigned long i = 0; i < numParameter; i++) { Element* pParameterElem = static_cast<Element*>(pNL_parameter->item(i)); @@ -533,7 +534,7 @@ namespace Mantid // Read detector IDs into idlist if required // Note idlist may be defined for any component - // Note any new idlist found will take presedence. + // Note any new idlist found will take precedence. if ( pCompElem->hasAttribute("idlist") ) { diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp index 68c74cc9bf536dce6c1a3be3b91d3a2bfd0988b2..d30084db665856d7dca0f731920bf9d6b5dcba11 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromNexus.cpp @@ -2,7 +2,7 @@ // Includes //---------------------------------------------------------------------- #include "MantidDataHandling/LoadInstrumentFromNexus.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/Component.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp index 4879a1b11e9bb10c5967554d06656fb04fabb697..e13ca7aae78065f7cb90ca831971443650b3b694 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentFromRaw.cpp @@ -4,7 +4,7 @@ #include "MantidDataHandling/LoadInstrumentFromRaw.h" #include "MantidKernel/ConfigService.h" #include "MantidAPI/FileProperty.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/Component.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentHelper.cpp b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentHelper.cpp index 8a87ff3ea4474d85b7a01af061b43c25a4c1cc63..53def648f866ff388af668c42467ebc9931fd82e 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadInstrumentHelper.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadInstrumentHelper.cpp @@ -5,7 +5,7 @@ #include "MantidKernel/DateAndTime.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/InstrumentInfo.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/OneToOneSpectraDetectorMap.h" #include "MantidAPI/Run.h" #include "MantidAPI/MatrixWorkspace.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp index f067a2e17d1d4ca396987fadccfe5dc10a10ce38..ea7d75f4d8e958c696f94823f827507a7ed2e182 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLOQDistancesFromRaw.cpp @@ -72,7 +72,7 @@ namespace DataHandling // Get current sample position std::string compname = "some-sample-holder"; - boost::shared_ptr<Geometry::IComponent> sample_holder = data_ws->getInstrument()->getComponentByName(compname); + Geometry::IComponent_const_sptr sample_holder = data_ws->getInstrument()->getComponentByName(compname); if( sample_holder.get() ) { double curr_zpos = sample_holder->getPos().Z(); @@ -89,7 +89,7 @@ namespace DataHandling sample_holder = data_ws->getInstrument()->getComponentByName(compname); //Get the main detector component compname = "main-detector-bank"; - boost::shared_ptr<Geometry::IComponent> main_det = data_ws->getInstrument()->getComponentByName(compname); + Geometry::IComponent_const_sptr main_det = data_ws->getInstrument()->getComponentByName(compname); if( main_det.get() && sample_holder.get() ) { double curr_zpos = main_det->getPos().Z(); diff --git a/Code/Mantid/Framework/DataHandling/src/LoadLogsFromSNSNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadLogsFromSNSNexus.cpp index d0dc532cd315dbcb02734a1628fd00dfd834a574..32b920d187566149742ace2f6c56ec7a91f563e4 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadLogsFromSNSNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadLogsFromSNSNexus.cpp @@ -2,7 +2,7 @@ // Includes //---------------------------------------------------------------------- #include "MantidDataHandling/LoadLogsFromSNSNexus.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/DateAndTime.h" #include "MantidKernel/Timer.h" diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp index b8ef204a1441b06ead7b30946d571ff2f437ccf1..5a0f5bf32c572b5fb51e3303f47fce6efd309695 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonLog.cpp @@ -27,8 +27,6 @@ void LoadMuonLog::initDocs() using namespace Kernel; -using Geometry::IInstrument; -using Geometry::IInstrument_sptr; using API::WorkspaceProperty; using API::MatrixWorkspace; using API::MatrixWorkspace_sptr; diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus.cpp index 3c50abf1c3d4038121509a9cb6efa200282b67fe..4f8f7492c29c94db9649730f88a6a9fd176b1336 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus.cpp @@ -38,7 +38,7 @@ namespace Mantid using namespace Kernel; using namespace API; - using Geometry::IInstrument; + using Geometry::Instrument; using namespace Mantid::NeXus; /// Empty default constructor @@ -131,7 +131,7 @@ namespace Mantid Property *ws = getProperty("OutputWorkspace"); std::string localWSName = ws->value(); // If multiperiod, will need to hold the Instrument, Sample & SpectraDetectorMap for copying - boost::shared_ptr<IInstrument> instrument; + boost::shared_ptr<Instrument> instrument; boost::shared_ptr<Sample> sample; // Call private method to validate the optional parameters, if set diff --git a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp index cbc4b9483a371241b8347f4421f82a281edf589b..f85232b429d1e9f2f81a04bfa617e4bc8c055fb8 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadMuonNexus2.cpp @@ -34,7 +34,7 @@ namespace Mantid using namespace Kernel; using namespace API; - using Geometry::IInstrument; + using Geometry::Instrument; using namespace Mantid::NeXus; /// Sets documentation strings for this algorithm @@ -103,7 +103,7 @@ namespace Mantid Property *ws = getProperty("OutputWorkspace"); std::string localWSName = ws->value(); // If multiperiod, will need to hold the Instrument, Sample & SpectraDetectorMap for copying - boost::shared_ptr<IInstrument> instrument; + boost::shared_ptr<Instrument> instrument; //- boost::shared_ptr<SpectraDetectorMap> specMap; boost::shared_ptr<Sample> sample; diff --git a/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp b/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp index 53ba4c835e3727a9c9acd6b3eef7feda5efc2301..e4644291b5b07d0da54e9c674242bb32ddc452cd 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadNexusProcessed.cpp @@ -42,7 +42,7 @@ using namespace Mantid::NeXus; using namespace DataObjects; using namespace Kernel; using namespace API; -using Geometry::IInstrument_sptr; +using Geometry::Instrument_sptr; /// Default constructor LoadNexusProcessed::LoadNexusProcessed() : m_shared_bins(false), m_xbins(), @@ -1176,7 +1176,7 @@ void LoadNexusProcessed::readParameterMap(NXEntry & mtd_entry, const std::string & details = pmap_node.data().front(); Geometry::ParameterMap& pmap = local_workspace->instrumentParameters(); - IInstrument_sptr instr = local_workspace->getBaseInstrument(); + Instrument_sptr instr = local_workspace->getBaseInstrument(); int options = Poco::StringTokenizer::TOK_IGNORE_EMPTY; options += Poco::StringTokenizer::TOK_TRIM; @@ -1191,7 +1191,7 @@ void LoadNexusProcessed::readParameterMap(NXEntry & mtd_entry, std::string comp_name = tokens[0]; //if( comp_name == prev_name ) continue; this blocks reading in different parameters of the same component. RNT //prev_name = comp_name; - Geometry::IComponent* comp = 0; + const Geometry::IComponent* comp = 0; if (comp_name.find("detID:") != std::string::npos) { int detID = atoi(comp_name.substr(6).c_str()); diff --git a/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp b/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp index f942924ac29b40584be91cffedee44685d27bc40..f55944e002f5faeb3e2645f48b002238c63b1425 100644 --- a/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/LoadParameterFile.cpp @@ -3,7 +3,7 @@ //---------------------------------------------------------------------- #include "MantidDataHandling/LoadParameterFile.h" #include "MantidDataHandling/LoadInstrument.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/InstrumentDataService.h" #include "MantidGeometry/Instrument/XMLlogfile.h" #include "MantidGeometry/Instrument/Detector.h" diff --git a/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp b/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp index fb7f4442ee804bee59db149dd88b65f615224376..ec054fe34f5950e31d92f6bfc90a066612944e2b 100644 --- a/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp +++ b/Code/Mantid/Framework/DataHandling/src/MoveInstrumentComponent.cpp @@ -57,8 +57,8 @@ void MoveInstrumentComponent::exec() const double Z = getProperty("Z"); const bool RelativePosition = getProperty("RelativePosition"); - boost::shared_ptr<IInstrument> inst = WS->getInstrument(); - boost::shared_ptr<IComponent> comp; + Instrument_sptr inst = WS->getInstrument(); + IComponent_const_sptr comp; // Find the component to move if (DetID != -1) diff --git a/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp b/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp index c8556f862a1377a934232c177632b966d97b487e..1c43ddd429833cca815c9dd3f35e2ab6509770b1 100644 --- a/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp +++ b/Code/Mantid/Framework/DataHandling/src/RotateInstrumentComponent.cpp @@ -61,8 +61,8 @@ void RotateInstrumentComponent::exec() if (X + Y + Z == 0.0) throw std::invalid_argument("The rotation axis must not be a zero vector"); - boost::shared_ptr<IInstrument> inst = WS->getInstrument(); - boost::shared_ptr<IComponent> comp; + Instrument_sptr inst = WS->getInstrument(); + IComponent_const_sptr comp; // Find the component to move if (DetID != -1) diff --git a/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp b/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp index f6ca6a4ac883bdc3a4ef0ac6006e320c0cc4f476..fa9acd8a8479988535a6e304ff18bc0e13238dd8 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveCalFile.cpp @@ -2,7 +2,6 @@ #include "MantidDataHandling/SaveCalFile.h" #include "MantidDataObjects/GroupingWorkspace.h" #include "MantidDataObjects/OffsetsWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include <cmath> #include <fstream> @@ -89,7 +88,7 @@ namespace DataHandling void SaveCalFile::saveCalFile(const std::string& calFileName, GroupingWorkspace_sptr groupWS, OffsetsWorkspace_sptr offsetsWS, MatrixWorkspace_sptr maskWS) { - IInstrument_sptr inst; + Instrument_sptr inst; bool doGroup = false; if (groupWS) { doGroup = true; inst = groupWS->getInstrument(); } diff --git a/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp b/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp index a1afc65ffcdfdaa97075e78f0651d1fcfc4316a4..0bb37ef0b793a7b6ba1083c0e452f6342b5f0fed 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveDspacemap.cpp @@ -83,7 +83,7 @@ namespace DataHandling { const char * filename = DFileName.c_str(); // Get a pointer to the instrument contained in the workspace - IInstrument_const_sptr instrument = offsetsWS->getInstrument(); + Instrument_const_sptr instrument = offsetsWS->getInstrument(); double l1; Kernel::V3D beamline,samplePos; double beamline_norm; diff --git a/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp b/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp index 25b1cd243c06fe7c972beee451199215691fb9e1..cd3466e8fc12103c56080c1c177cb964f9b9ae7f 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveGSS.cpp @@ -70,7 +70,7 @@ namespace Mantid void getFocusedPos(MatrixWorkspace_const_sptr wksp, const int spectrum, double &l1, double &l2, double &tth) { - Geometry::IInstrument_const_sptr instrument = wksp->getInstrument(); + Geometry::Instrument_const_sptr instrument = wksp->getInstrument(); if (instrument == NULL) { l1 = 0.; @@ -135,7 +135,7 @@ namespace Mantid ios_base::openmode mode = (append ? (ios_base::out | ios_base::app) : ios_base::out); Progress p(this, 0.0, 1.0, nHist); double l1, l2, tth; - Geometry::IInstrument_const_sptr instrument = inputWS->getInstrument(); + Geometry::Instrument_const_sptr instrument = inputWS->getInstrument(); Geometry::IObjComponent_const_sptr source; Geometry::IObjComponent_const_sptr sample; if (instrument != NULL) diff --git a/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp b/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp index dfc9375ba9d2833ca2d6fec8412bba6546d66bae..e4a120de0a877f14657e46d3bf4bf8d5372513df 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveNexusProcessed.cpp @@ -26,7 +26,7 @@ namespace DataHandling using namespace Kernel; using namespace API; using namespace DataObjects; - using Geometry::IInstrument_const_sptr; + using Geometry::Instrument_const_sptr; // Register the algorithm into the algorithm factory DECLARE_ALGORITHM(SaveNexusProcessed) @@ -164,7 +164,7 @@ namespace DataHandling // write instrument data, if present and writer enabled if (matrixWorkspace) { - IInstrument_const_sptr instrument = matrixWorkspace->getInstrument(); + Instrument_const_sptr instrument = matrixWorkspace->getInstrument(); nexusFile->writeNexusInstrument(instrument); prog_init.reportIncrement(1, "Writing instrument"); diff --git a/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp b/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp index 3596296b244fee8010cbbeb114c0179c961e8b08..7183b099c4129b8864a8e0d95a99044e2cb7ce7e 100644 --- a/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SaveToSNSHistogramNexus.cpp @@ -214,7 +214,7 @@ namespace DataHandling * @param bank :: name of the bank being written. * @return error code */ - int SaveToSNSHistogramNexus::WriteOutDataOrErrors(boost::shared_ptr<Mantid::Geometry::RectangularDetector> det, + int SaveToSNSHistogramNexus::WriteOutDataOrErrors(Geometry::RectangularDetector_const_sptr det, int x_pixel_slab, const char * field_name, const char * errors_field_name, bool doErrors, bool doBoth, int is_definition, @@ -412,8 +412,8 @@ namespace DataHandling if (NXgetinfo (inId, &dataRank, dataDimensions, &dataType) != NX_OK) return NX_ERROR; // Get the rectangular detector - IComponent_sptr det_comp = inputWorkspace->getInstrument()->getComponentByName( std::string(bank) ); - boost::shared_ptr<RectangularDetector> det = boost::dynamic_pointer_cast<RectangularDetector>(det_comp); + IComponent_const_sptr det_comp = inputWorkspace->getInstrument()->getComponentByName( std::string(bank) ); + RectangularDetector_const_sptr det = boost::dynamic_pointer_cast<const RectangularDetector>(det_comp); if (!det) { g_log.information() << "Detector '" + bank + "' not found, or it is not a rectangular detector!\n"; diff --git a/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp b/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp index f2787697605cbd66dae3d5c8141e08a02741b4d3..a7a6c22e90844b6d760104b11f76cff363c73161 100644 --- a/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp +++ b/Code/Mantid/Framework/DataHandling/src/SetScalingPSD.cpp @@ -96,7 +96,7 @@ namespace DataHandling std::map<int,double> scaleMap; std::map<int,double>::iterator its; - IInstrument_const_sptr instrument = m_workspace->getInstrument(); + Instrument_const_sptr instrument = m_workspace->getInstrument(); if(scalingFile.find(".sca")!=std::string::npos || scalingFile.find(".SCA")!=std::string::npos) { // read a .sca text format file @@ -275,7 +275,7 @@ void SetScalingPSD::movePos(API::MatrixWorkspace_sptr& WS, std::map<int,Kernel:: * @param scaleMap :: A map of integer detectorID and corresponding scaling (in Y) */ std::map<int,Kernel::V3D>::iterator iter = posMap.begin(); - boost::shared_ptr<IInstrument> inst = WS->getInstrument(); + boost::shared_ptr<Instrument> inst = WS->getInstrument(); boost::shared_ptr<IComponent> comp; // Want to get all the detectors to move, but don't want to do this one at a time diff --git a/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp b/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp index a3333fd53989685961bd6ef0f86681defd223bfa..595d3fce3c361aeee027dd5a41b455a1dd0c61b8 100644 --- a/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp +++ b/Code/Mantid/Framework/DataHandling/src/UpdateInstrumentFromFile.cpp @@ -3,7 +3,7 @@ //---------------------------------------------------------------------- #include "MantidDataHandling/UpdateInstrumentFromFile.h" #include "MantidDataHandling/LoadRawHelper.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/FileProperty.h" #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/SpectraDetectorMap.h" diff --git a/Code/Mantid/Framework/DataHandling/test/GetMaskedDetectorsTest.h b/Code/Mantid/Framework/DataHandling/test/GetMaskedDetectorsTest.h index 464848bb39dce5d1396648f103d400c49b38b469..00687409ce41dd4c596f0b09b6b5d17333232a6a 100644 --- a/Code/Mantid/Framework/DataHandling/test/GetMaskedDetectorsTest.h +++ b/Code/Mantid/Framework/DataHandling/test/GetMaskedDetectorsTest.h @@ -7,7 +7,7 @@ #include "MantidDataHandling/MaskDetectors.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/WorkspaceFactory.h" #include "MantidAPI/SpectraDetectorMap.h" #include <vector> @@ -69,7 +69,7 @@ public: marker_mask.setPropertyValue("Workspace", inputWS); marker_mask.setPropertyValue("DetectorList","1,3"); marker_mask.execute(); - boost::shared_ptr<IInstrument> instrument = space->getInstrument(); + boost::shared_ptr<Instrument> instrument = space->getInstrument(); TS_ASSERT( instrument->getDetector(1)->isMasked() ) TS_ASSERT( instrument->getDetector(3)->isMasked() ) } diff --git a/Code/Mantid/Framework/DataHandling/test/GroupDetectors2Test.h b/Code/Mantid/Framework/DataHandling/test/GroupDetectors2Test.h index 45177b0c4ceb757665f3faeb43cc4a6df035926c..34b4bdd0e8e2d4227291548c38a69176ff04ba7d 100644 --- a/Code/Mantid/Framework/DataHandling/test/GroupDetectors2Test.h +++ b/Code/Mantid/Framework/DataHandling/test/GroupDetectors2Test.h @@ -7,7 +7,7 @@ #include "MantidDataObjects/Workspace2D.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/DetectorGroup.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/ArrayProperty.h" #include "MantidKernel/Exception.h" #include "MantidKernel/UnitFactory.h" diff --git a/Code/Mantid/Framework/DataHandling/test/GroupDetectorsTest.h b/Code/Mantid/Framework/DataHandling/test/GroupDetectorsTest.h index 7707b85b4fb97f36029b5a2f1a6f61ed7488fb70..daf46ee52ecba75c9c9fe4f757633644db4eb53d 100644 --- a/Code/Mantid/Framework/DataHandling/test/GroupDetectorsTest.h +++ b/Code/Mantid/Framework/DataHandling/test/GroupDetectorsTest.h @@ -8,7 +8,7 @@ #include "MantidKernel/ArrayProperty.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidKernel/UnitFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/DetectorGroup.h" #include "MantidAPI/SpectraDetectorMap.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadDetectorInfoTest.h b/Code/Mantid/Framework/DataHandling/test/LoadDetectorInfoTest.h index 429e6c233f1f5705a0a78b5fbac1516094c9974f..7b9cd5913b479ded14b687d79f6e931afe442652 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadDetectorInfoTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadDetectorInfoTest.h @@ -8,7 +8,7 @@ #include "MantidAPI/WorkspaceProperty.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidKernel/UnitFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidGeometry/Instrument/DetectorGroup.h" #include "MantidAPI/SpectraDetectorMap.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h b/Code/Mantid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h index 1ecef8b998c1b980c6aa401ec57907d13de56af7..b9061227443668a44073b89ce10ba17fc39c6e27 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadEmptyInstrumentTest.h @@ -5,7 +5,7 @@ #include "MantidDataHandling/LoadEmptyInstrument.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" @@ -242,7 +242,7 @@ public: dummy = paramMap.getDouble("nickel-holder", "fjols"); TS_ASSERT_DELTA( dummy[0], 200.0, 0.0001); - boost::shared_ptr<IInstrument> i = ws->getInstrument(); + boost::shared_ptr<Instrument> i = ws->getInstrument(); boost::shared_ptr<IDetector> ptrDet = i->getDetector(1008); TS_ASSERT_EQUALS( ptrDet->getID(), 1008); TS_ASSERT_EQUALS( ptrDet->getName(), "combined translation6"); @@ -252,7 +252,7 @@ public: TS_ASSERT_DELTA( param->value<double>(), 77.0, 0.0001); // test that can hold of "string" parameter in two ways - boost::shared_ptr<IComponent> ptrNickelHolder = i->getComponentByName("nickel-holder"); + boost::shared_ptr<const IComponent> ptrNickelHolder = i->getComponentByName("nickel-holder"); std::string dummyString = paramMap.getString(&(*ptrNickelHolder), "fjols-string"); TS_ASSERT( dummyString.compare("boevs") == 0 ); std::vector<std::string> dummyStringVec = paramMap.getString("nickel-holder", "fjols-string"); @@ -384,7 +384,7 @@ public: TS_ASSERT_DELTA( ptrDet1->getPos().Z(), 1, 0.0001); // testing r-position, t-position and p-position parameters - boost::shared_ptr<IComponent> ptrRTP_Test = i->getComponentByName("rtpTest1"); + boost::shared_ptr<const IComponent> ptrRTP_Test = i->getComponentByName("rtpTest1"); TS_ASSERT_DELTA(ptrRTP_Test->getPos().X(), 0.0, 0.0001); TS_ASSERT_DELTA(ptrRTP_Test->getPos().Y(), 0.0, 0.0001); TS_ASSERT_DELTA(ptrRTP_Test->getPos().Z(), 20.0, 0.0001); @@ -428,7 +428,7 @@ public: MatrixWorkspace_sptr ws; ws = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); - boost::shared_ptr<IInstrument> i = ws->getInstrument(); + boost::shared_ptr<Instrument> i = ws->getInstrument(); // check if combined translation works boost::shared_ptr<IDetector> ptrDet1 = i->getDetector(1001); @@ -605,7 +605,7 @@ public: // get parameter map ParameterMap& paramMap = ws->instrumentParameters(); - boost::shared_ptr<IInstrument> i = ws->getInstrument(); + boost::shared_ptr<Instrument> i = ws->getInstrument(); boost::shared_ptr<IDetector> det = i->getDetector(1100); // should be a detector from bank_bsk Parameter_sptr param = paramMap.getRecursive(&(*det), "S", "fitting"); const FitParameter& fitParam1 = param->value<FitParameter>(); @@ -788,7 +788,7 @@ public: IDetector_sptr det = ws->getDetector(1); TS_ASSERT_EQUALS( (det->getNumberParameter("number-of-x-pixels"))[0], 192); - IInstrument_sptr inst = ws->getInstrument(); + Instrument_sptr inst = ws->getInstrument(); TS_ASSERT_EQUALS( (inst->getNumberParameter("number-of-x-pixels")).size(), 1); TS_ASSERT_EQUALS( (inst->getNumberParameter("number-of-x-pixels"))[0], 192); @@ -813,7 +813,7 @@ void testSANS2D() ws = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); // get parameter map - boost::shared_ptr<IInstrument> i = ws->getInstrument(); + boost::shared_ptr<Instrument> i = ws->getInstrument(); double pixelLength = 0.0051; double bankLength = 192*pixelLength; diff --git a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentFromRawTest.h b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentFromRawTest.h index 94969ce65c39bba51b5ec63c8919b6805e4766d8..80e38add2b2c908f5e04838107bd761b0714c49f 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentFromRawTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentFromRawTest.h @@ -5,7 +5,7 @@ #include "MantidDataHandling/LoadInstrumentFromRaw.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" @@ -72,7 +72,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); TS_ASSERT_EQUALS( i->getName(), "HET "); boost::shared_ptr<IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "Source"); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentHelperTest.h b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentHelperTest.h index dfb60ca0870048570a7f60e19731a8f58782f245..b70beb805c76dce34d664018b71db5b4ae9dae77 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentHelperTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentHelperTest.h @@ -7,7 +7,7 @@ #include "MantidAPI/InstrumentDataService.h" #include "MantidGeometry/Instrument/FitParameter.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentTest.h b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentTest.h index 6fe8a6cfc6a0cced54219217ebcd0c3ad2e83261..b9d84b18e8a6200f7420c35b9bdca3f78e36049f 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadInstrumentTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadInstrumentTest.h @@ -13,7 +13,7 @@ #include "MantidGeometry/Instrument/Component.h" #include "MantidGeometry/Instrument/FitParameter.h" #include "MantidGeometry/Instrument/FitParameter.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/RectangularDetector.h" #include "MantidKernel/Exception.h" #include "MantidTestHelpers/WorkspaceCreationHelper.h" @@ -103,7 +103,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getBaseInstrument(); + boost::shared_ptr<Instrument> i = output->getBaseInstrument(); boost::shared_ptr<IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); TS_ASSERT_DELTA( source->getPos().Y(), 0.0,0.01); @@ -205,7 +205,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IObjComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); TS_ASSERT_DELTA( source->getPos().Z(), -17.0,0.01); @@ -283,7 +283,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IObjComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); TS_ASSERT_DELTA( source->getPos().Z(), -11.016,0.01); @@ -345,7 +345,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IDetector> ptrDet = i->getDetector(20201001); TS_ASSERT_EQUALS( ptrDet->getName(), "det 1"); @@ -394,7 +394,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IDetector> ptrDetShape = i->getDetector(3100); TS_ASSERT_EQUALS( ptrDetShape->getName(), "Det0"); @@ -410,7 +410,7 @@ public: TS_ASSERT( !ptrDetShape->isValid(V3D(-0.0069,0.0227,0.011)+ptrDetShape->getPos()) ); // test if a dummy parameter has been read in - boost::shared_ptr<IComponent> comp = i->getComponentByName("bank_90degnew"); + boost::shared_ptr<const IComponent> comp = i->getComponentByName("bank_90degnew"); TS_ASSERT_EQUALS( comp->getName(), "bank_90degnew"); ParameterMap& paramMap = output->instrumentParameters(); @@ -458,7 +458,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IObjComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); TS_ASSERT_DELTA( source->getPos().Z(), -17.0,0.01); @@ -679,7 +679,7 @@ public: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IDetector> ptrDetShape = i->getDetector(1100); TS_ASSERT_EQUALS( ptrDetShape->getID(), 1100); @@ -728,10 +728,10 @@ public: // Get back the saved workspace MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); // Now the XY detector in bank1 - boost::shared_ptr<RectangularDetector> bank1 = boost::dynamic_pointer_cast<RectangularDetector>( i->getComponentByName("bank1") ); + boost::shared_ptr<const RectangularDetector> bank1 = boost::dynamic_pointer_cast<const RectangularDetector>( i->getComponentByName("bank1") ); TS_ASSERT( bank1 ); if (!bank1) return; @@ -783,7 +783,7 @@ public: // loaderIDF2->execute(); // TS_ASSERT( loaderIDF2->isExecuted() ); // output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); -// boost::shared_ptr<IInstrument> i_new = output->getInstrument(); +// boost::shared_ptr<Instrument> i_new = output->getInstrument(); // TS_ASSERT_EQUALS( i_new->getName(), "SNAP"); // // TS_ASSERT_EQUALS( i_new->nelements(), 21); @@ -801,7 +801,7 @@ public: // loaderIDF2->execute(); // TS_ASSERT( loaderIDF2->isExecuted() ); // output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); -// boost::shared_ptr<IInstrument> i_old = output->getInstrument(); +// boost::shared_ptr<Instrument> i_old = output->getInstrument(); // TS_ASSERT_EQUALS( i_old->getName(), "SNAPOLD"); // // std::cout << "Comparing\n"; @@ -852,7 +852,7 @@ public: // loaderIDF2->execute(); // TS_ASSERT( loaderIDF2->isExecuted() ); // output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); -// boost::shared_ptr<IInstrument> i_new = output->getInstrument(); +// boost::shared_ptr<Instrument> i_new = output->getInstrument(); // TS_ASSERT_EQUALS( i_new->getName(), "PG3"); // // std::cout << "Loading the OLD geometry\n"; @@ -868,7 +868,7 @@ public: // loaderIDF2->execute(); // TS_ASSERT( loaderIDF2->isExecuted() ); // output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName)); -// boost::shared_ptr<IInstrument> i_old = output->getInstrument(); +// boost::shared_ptr<Instrument> i_old = output->getInstrument(); // TS_ASSERT_EQUALS( i_old->getName(), "PG3OLD"); // // std::cout << "Comparing #\n"; diff --git a/Code/Mantid/Framework/DataHandling/test/LoadLogTest.h b/Code/Mantid/Framework/DataHandling/test/LoadLogTest.h index 924d4550dc33c317d6f44de30c4c309526847967..a2bc9494ed26a710684b3d8ec31a7e43ae5c86c0 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadLogTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadLogTest.h @@ -5,7 +5,7 @@ #include "MantidDataHandling/LoadLog.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadMuonLogTest.h b/Code/Mantid/Framework/DataHandling/test/LoadMuonLogTest.h index 45538ee2467527eb60c77aaa98594863c886a8a3..d4a6a769a76f507d31a788cd785f963a60a13fd3 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadMuonLogTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadMuonLogTest.h @@ -11,7 +11,7 @@ #include "MantidDataHandling/LoadMuonLog.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadMuonNexus2Test.h b/Code/Mantid/Framework/DataHandling/test/LoadMuonNexus2Test.h index 32588a455187869e43fc6aa76fecf466d76eb045..03b0375393ec0fc3a800ffdcb52259c0b33db47e 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadMuonNexus2Test.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadMuonNexus2Test.h @@ -110,7 +110,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - IInstrument_sptr i = output->getInstrument(); + Instrument_sptr i = output->getInstrument(); Mantid::Geometry::IObjComponent_sptr source = i->getSource(); Mantid::Geometry::IObjComponent_sptr samplepos = i->getSample(); @@ -327,7 +327,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - IInstrument_sptr i = output->getInstrument(); + Instrument_sptr i = output->getInstrument(); Mantid::Geometry::IObjComponent_sptr source = i->getSource(); Mantid::Geometry::IObjComponent_sptr samplepos = i->getSample(); @@ -412,7 +412,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - IInstrument_sptr i = output->getInstrument(); + Instrument_sptr i = output->getInstrument(); Mantid::Geometry::IObjComponent_sptr source = i->getSource(); Mantid::Geometry::IObjComponent_sptr samplepos = i->getSample(); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadNexusProcessedTest.h b/Code/Mantid/Framework/DataHandling/test/LoadNexusProcessedTest.h index 694697c02e002f0960aaf2f8b462313e1d8abfb0..7e222281477a1a65796782962eb0eb0867cc6537 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadNexusProcessedTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadNexusProcessedTest.h @@ -6,7 +6,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataHandling/LoadInstrument.h" #include "MantidDataObjects/EventWorkspace.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataHandling/LoadNexusProcessed.h" #include "MantidDataHandling/SaveNexusProcessed.h" #include "SaveNexusProcessedTest.h" diff --git a/Code/Mantid/Framework/DataHandling/test/LoadParameterFileTest.h b/Code/Mantid/Framework/DataHandling/test/LoadParameterFileTest.h index a529c251cd2eac5f09446612b0d4f2850ce0cb72..9647c6c4b66c6935de7ac2a3cebca4267ce0e534 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadParameterFileTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadParameterFileTest.h @@ -7,7 +7,7 @@ #include "MantidDataHandling/LoadInstrument.h" #include "MantidGeometry/Instrument/FitParameter.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" @@ -64,7 +64,7 @@ public: TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); ParameterMap& paramMap = output->instrumentParameters(); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + boost::shared_ptr<Instrument> i = output->getInstrument(); boost::shared_ptr<IDetector> ptrDet = i->getDetector(1008); TS_ASSERT_EQUALS( ptrDet->getID(), 1008); TS_ASSERT_EQUALS( ptrDet->getName(), "combined translation6"); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRSaveNLoadNcspTest.h b/Code/Mantid/Framework/DataHandling/test/LoadRSaveNLoadNcspTest.h index 8cb5c9db68f1d0c736b27d54b9866779a7386952..ce23c6d04bf3d40cf083a50a9217e5d5565f681d 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRSaveNLoadNcspTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRSaveNLoadNcspTest.h @@ -135,7 +135,7 @@ void testExecOnLoadraw() // // check that the instrument data has been loaded, copied from LoadInstrumentTest // - boost::shared_ptr<IInstrument> i = output->getInstrument(); + Instrument_const_sptr i = output->getInstrument(); //std::cerr << "Count = " << i.use_count(); boost::shared_ptr<IComponent> source = i->getSource(); TS_ASSERT( source != NULL); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRaw2Test.h b/Code/Mantid/Framework/DataHandling/test/LoadRaw2Test.h index 6bf12a8ed940fb10e6cb15550db547c59e74149d..37b81942f33f7d3fbc3f9f461ddb0f932edb8b1b 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRaw2Test.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRaw2Test.h @@ -8,7 +8,6 @@ #include "MantidDataObjects/ManagedWorkspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/FrameworkManager.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/TimeSeriesProperty.h" #include "MantidAPI/SpectraDetectorMap.h" @@ -18,7 +17,6 @@ using namespace Mantid; using namespace Mantid::Kernel; using namespace Mantid::DataHandling; using namespace Mantid::DataObjects; -using Mantid::Geometry::IInstrument; class LoadRaw2Test : public CxxTest::TestSuite { @@ -82,7 +80,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - boost::shared_ptr<IInstrument> i = output2D->getInstrument(); + boost::shared_ptr<Mantid::Geometry::Instrument> i = output2D->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRaw3Test.h b/Code/Mantid/Framework/DataHandling/test/LoadRaw3Test.h index d5744c13a3f92e61b2e28afcea53cd8f02fb27dd..b457e4577ba725717f343f51ed7175abc944b75e 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRaw3Test.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRaw3Test.h @@ -8,7 +8,7 @@ #include "MantidAPI/WorkspaceGroup.h" #include "MantidDataHandling/LoadRaw3.h" #include "MantidDataObjects/ManagedWorkspace2D.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/ConfigService.h" #include "MantidKernel/TimeSeriesProperty.h" #include <cxxtest/TestSuite.h> @@ -82,7 +82,7 @@ public: //---------------------------------------------------------------------- //Tests taken from LoadInstrumentTest to check sub-algorithm is running properly // ---------------------------------------------------------------------- - boost::shared_ptr<IInstrument> i = output2D->getInstrument(); + boost::shared_ptr<Instrument> i = output2D->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); @@ -403,7 +403,7 @@ public: Workspace2D_sptr output2D = boost::dynamic_pointer_cast<Workspace2D>(output); - boost::shared_ptr<IInstrument> i = output2D->getInstrument(); + boost::shared_ptr<Instrument> i = output2D->getInstrument(); Mantid::Geometry::IDetector_sptr ptrDet = i->getDetector(60); TS_ASSERT_EQUALS( ptrDet->getID(), 60); @@ -487,7 +487,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - boost::shared_ptr<IInstrument> i = output2D->getInstrument(); + boost::shared_ptr<Instrument> i = output2D->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRawBin0Test.h b/Code/Mantid/Framework/DataHandling/test/LoadRawBin0Test.h index 1beee5748654759fe2fb74f4b6e03db60d336d8d..2558a5d7e6c278aca1ad6641123a03983e09cd3f 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRawBin0Test.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRawBin0Test.h @@ -12,7 +12,7 @@ #include "MantidKernel/TimeSeriesProperty.h" #include "MantidAPI/SpectraDetectorMap.h" #include "MantidAPI/WorkspaceGroup.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <Poco/Path.h> using namespace Mantid::API; diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRawSpectrum0Test.h b/Code/Mantid/Framework/DataHandling/test/LoadRawSpectrum0Test.h index 916a6c15d7b43a472656a3e221855b0b23a8fcc7..a0012f8f12fa5f2af3780bed5b2aa962045e1533 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRawSpectrum0Test.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRawSpectrum0Test.h @@ -12,7 +12,7 @@ #include "MantidKernel/TimeSeriesProperty.h" #include "MantidAPI/SpectraDetectorMap.h" #include "MantidAPI/WorkspaceGroup.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <Poco/Path.h> using namespace Mantid::API; diff --git a/Code/Mantid/Framework/DataHandling/test/LoadRawTest.h b/Code/Mantid/Framework/DataHandling/test/LoadRawTest.h index 0b1980361233aabfb09d9f92feb9a32caa8f6fc2..e968e00ec77bd566df6bf83ac4d5f80d0c53d8ba 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadRawTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadRawTest.h @@ -80,7 +80,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - boost::shared_ptr<Mantid::Geometry::IInstrument> i = output2D->getInstrument(); + Mantid::Geometry::Instrument_const_sptr i = output2D->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadSNSNexusTest.h b/Code/Mantid/Framework/DataHandling/test/LoadSNSNexusTest.h index 9c7c515cc6e1d37821f1ec9bc7f58cb71229166c..d777032cfd37e27b8a2505bd4ca9a6cc4a9698da 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadSNSNexusTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadSNSNexusTest.h @@ -60,7 +60,7 @@ public: TS_ASSERT_EQUALS(logs.size(),1); //------------ Instrument Loading Sub-Test ----------------------- - IInstrument_sptr inst = ws->getInstrument(); + Instrument_sptr inst = ws->getInstrument(); TS_ASSERT_EQUALS(inst->getName(), "REF_L"); std::map<int, Geometry::IDetector_sptr> detectors = inst->getDetectors(); diff --git a/Code/Mantid/Framework/DataHandling/test/LoadSpice2dTest.h b/Code/Mantid/Framework/DataHandling/test/LoadSpice2dTest.h index 3fb00515262bd906f70aa80685fd9433a4e05ac0..95c170be54c3cc41cee309ff52b8f4c3fab3a9d9 100644 --- a/Code/Mantid/Framework/DataHandling/test/LoadSpice2dTest.h +++ b/Code/Mantid/Framework/DataHandling/test/LoadSpice2dTest.h @@ -9,7 +9,6 @@ #include "MantidDataHandling/LoadSpice2D.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/ParameterMap.h" #include "MantidGeometry/Instrument/Parameter.h" #include "MantidKernel/PropertyWithValue.h" @@ -103,14 +102,14 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - boost::shared_ptr<Mantid::Geometry::IInstrument> i = ws2d->getInstrument(); + Mantid::Geometry::Instrument_const_sptr i = ws2d->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( i->getName(), "GPSANS"); TS_ASSERT_EQUALS( source->getName(), "source"); // Check parameters for sample aperture - boost::shared_ptr<Mantid::Geometry::IComponent> sample_aperture = i->getComponentByName("sample_aperture"); + Mantid::Geometry::IComponent_const_sptr sample_aperture = i->getComponentByName("sample_aperture"); TS_ASSERT_EQUALS( sample_aperture->getNumberParameter("Size")[0], 14.0); // Check parameter map access diff --git a/Code/Mantid/Framework/DataHandling/test/ManagedRawFileWorkspace2DTest.h b/Code/Mantid/Framework/DataHandling/test/ManagedRawFileWorkspace2DTest.h index f2dfc6eba58144cdf87e986022d639744ad81ad3..906ff57147ef63f4535dee04a640ec20afa22ade 100644 --- a/Code/Mantid/Framework/DataHandling/test/ManagedRawFileWorkspace2DTest.h +++ b/Code/Mantid/Framework/DataHandling/test/ManagedRawFileWorkspace2DTest.h @@ -150,7 +150,7 @@ public: //---------------------------------------------------------------------- // Tests taken from LoadInstrumentTest to check sub-algorithm is running properly //---------------------------------------------------------------------- - boost::shared_ptr<Mantid::Geometry::IInstrument> i = output2D->getInstrument(); + boost::shared_ptr<Mantid::Geometry::Instrument> i = output2D->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = i->getSource(); TS_ASSERT_EQUALS( source->getName(), "undulator"); diff --git a/Code/Mantid/Framework/DataHandling/test/MaskDetectorsInShapeTest.h b/Code/Mantid/Framework/DataHandling/test/MaskDetectorsInShapeTest.h index f319646affa0ef26d59abad46154fae32fe2906e..fe01f99c1cb508bcb716aedc1931a95a88f5bf72 100644 --- a/Code/Mantid/Framework/DataHandling/test/MaskDetectorsInShapeTest.h +++ b/Code/Mantid/Framework/DataHandling/test/MaskDetectorsInShapeTest.h @@ -81,7 +81,7 @@ public: { //check that the detectors have actually been marked dead std::vector<int> expectedDetectorArray = convertStringToVector(expectedHits); - Mantid::Geometry::IInstrument_const_sptr i = outWS->getInstrument(); + Mantid::Geometry::Instrument_const_sptr i = outWS->getInstrument(); for (std::vector<int>::iterator it = expectedDetectorArray.begin(); it!=expectedDetectorArray.end(); ++it) { TS_ASSERT( i->getDetector((*it))->isMasked() ) diff --git a/Code/Mantid/Framework/DataHandling/test/MaskDetectorsTest.h b/Code/Mantid/Framework/DataHandling/test/MaskDetectorsTest.h index 6a5f5532c1930134c82d76aff2718637f3856646..1e4ba13107921c5181ecad656eaae11f751ca8fa 100644 --- a/Code/Mantid/Framework/DataHandling/test/MaskDetectorsTest.h +++ b/Code/Mantid/Framework/DataHandling/test/MaskDetectorsTest.h @@ -8,7 +8,7 @@ #include "MantidKernel/ArrayProperty.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidDataObjects/EventWorkspace.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/Detector.h" #include "MantidAPI/FrameworkManager.h" #include "MantidAPI/WorkspaceFactory.h" @@ -164,7 +164,6 @@ public: TS_ASSERT_EQUALS( outputWS->dataE(3)[0], zeroes ); TS_ASSERT_EQUALS( outputWS->dataY(4)[0], ones ); TS_ASSERT_EQUALS( outputWS->dataE(4)[0], ones ); - boost::shared_ptr<IInstrument> i = outputWS->getInstrument(); TS_ASSERT( outputWS->getDetector(0)->isMasked() ); TS_ASSERT( ! outputWS->getDetector(1)->isMasked() ); TS_ASSERT( outputWS->getDetector(2)->isMasked() ); diff --git a/Code/Mantid/Framework/DataHandling/test/MoveInstrumentComponentTest.h b/Code/Mantid/Framework/DataHandling/test/MoveInstrumentComponentTest.h index 3f1800a669b85a235265e1b72d6e5203a3b0cf3e..8c57c4cd29dd51dcd1ba396ef934b2b6e2ecf47d 100644 --- a/Code/Mantid/Framework/DataHandling/test/MoveInstrumentComponentTest.h +++ b/Code/Mantid/Framework/DataHandling/test/MoveInstrumentComponentTest.h @@ -5,7 +5,7 @@ #include "MantidDataHandling/MoveInstrumentComponent.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/AnalysisDataService.h" #include "MantidKernel/Exception.h" @@ -65,7 +65,7 @@ public: mover.setPropertyValue("Z","30"); mover.execute(); - IInstrument_sptr inst = WS->getInstrument(); + Instrument_sptr inst = WS->getInstrument(); // get pointer to the first detector in the bank boost::shared_ptr<IComponent> comp = (*boost::dynamic_pointer_cast<ICompAssembly>( (*boost::dynamic_pointer_cast<ICompAssembly>(inst))[0]))[0]; @@ -87,7 +87,7 @@ public: mover.setPropertyValue("RelativePosition","0"); mover.execute(); - IInstrument_sptr inst = WS->getInstrument(); + Instrument_sptr inst = WS->getInstrument(); // get pointer to the first detector in the bank boost::shared_ptr<IComponent> comp = (*boost::dynamic_pointer_cast<ICompAssembly>( (*boost::dynamic_pointer_cast<ICompAssembly>(inst))[0]))[0]; @@ -108,7 +108,7 @@ public: mover.setPropertyValue("RelativePosition","0"); mover.execute(); - IInstrument_sptr inst = WS->getInstrument(); + Instrument_sptr inst = WS->getInstrument(); // get pointer to the first detector in the bank boost::shared_ptr<IComponent> comp = (*boost::dynamic_pointer_cast<ICompAssembly>((*boost::dynamic_pointer_cast<ICompAssembly>(inst))[0]))[0]; diff --git a/Code/Mantid/Framework/DataHandling/test/SaveCalFileTest.h b/Code/Mantid/Framework/DataHandling/test/SaveCalFileTest.h index 425d536f627f665896a9c0f9de3ce6186758ed9c..9c906b19b73d61b2816bc242d95ab2a7f3fa9559 100644 --- a/Code/Mantid/Framework/DataHandling/test/SaveCalFileTest.h +++ b/Code/Mantid/Framework/DataHandling/test/SaveCalFileTest.h @@ -38,7 +38,7 @@ public: void test_exec() { // --- Get an instrument ----- - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5, false); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5, false); // --- Make up some data ---- GroupingWorkspace_sptr groupWS(new GroupingWorkspace(inst)); diff --git a/Code/Mantid/Framework/DataHandling/test/SaveDspacemapTest.h b/Code/Mantid/Framework/DataHandling/test/SaveDspacemapTest.h index c1d5fbffa23878854cf8baad8b65cdc03da83a61..62b0ad7dbe0777623ee9a035a14ae28c2f3c1d37 100644 --- a/Code/Mantid/Framework/DataHandling/test/SaveDspacemapTest.h +++ b/Code/Mantid/Framework/DataHandling/test/SaveDspacemapTest.h @@ -4,7 +4,6 @@ #include "MantidDataHandling/SaveDspacemap.h" #include "MantidDataHandling/LoadDspacemap.h" #include "MantidDataObjects/OffsetsWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include "MantidKernel/Timer.h" #include "MantidTestHelpers/ComponentCreationHelper.h" @@ -16,7 +15,7 @@ using namespace Mantid::DataHandling; using namespace Mantid::API; using namespace Mantid::DataObjects; -using Mantid::Geometry::IInstrument_sptr; +using Mantid::Geometry::Instrument_sptr; class SaveDspacemapTest : public CxxTest::TestSuite { @@ -41,7 +40,7 @@ public: // Name of the output workspace. std::string filename("./SaveDspacemapTest_Output.dat"); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); OffsetsWorkspace_sptr offsetsWS(new OffsetsWorkspace(inst)); offsetsWS->setValue(1,0.10); offsetsWS->setValue(2,0.20); @@ -84,7 +83,7 @@ public: { std::string filename("./SaveDspacemapTest_Output.dat"); - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); OffsetsWorkspace_sptr offsetsWS(new OffsetsWorkspace(inst)); offsetsWS->setValue(1,0.10); offsetsWS->setValue(2,0.20); diff --git a/Code/Mantid/Framework/DataHandling/test/UpdateInstrumentFromFileTest.h b/Code/Mantid/Framework/DataHandling/test/UpdateInstrumentFromFileTest.h index 5f7219090dfa70bcd3b4f2ffab9cc800f109baa0..4ec1417e43f3c5bb1232909a3512c64b2a4ba62c 100644 --- a/Code/Mantid/Framework/DataHandling/test/UpdateInstrumentFromFileTest.h +++ b/Code/Mantid/Framework/DataHandling/test/UpdateInstrumentFromFileTest.h @@ -8,7 +8,7 @@ #include "MantidDataHandling/LoadInstrument.h" #include "MantidAPI/InstrumentDataService.h" #include "MantidAPI/WorkspaceFactory.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidDataObjects/Workspace2D.h" #include "MantidAPI/Algorithm.h" @@ -74,7 +74,7 @@ private: MatrixWorkspace_sptr output; TS_ASSERT_THROWS_NOTHING(output = boost::dynamic_pointer_cast<MatrixWorkspace>(AnalysisDataService::Instance().retrieve(wsName))); - boost::shared_ptr<IInstrument> i = output->getInstrument(); + Instrument_const_sptr i = output->getInstrument(); boost::shared_ptr<IDetector> ptrDet = i->getDetector(3100); TS_ASSERT_EQUALS( ptrDet->getName(), "Det0"); diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/GroupingWorkspace.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/GroupingWorkspace.h index 5c0c703ea03cdf8aedf79027969ebb7ec58c4606..b1baa866053b66b126a89a55cd031ff1a65e559a 100644 --- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/GroupingWorkspace.h +++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/GroupingWorkspace.h @@ -25,7 +25,7 @@ namespace DataObjects class DLLExport GroupingWorkspace : public SpecialWorkspace2D { public: - GroupingWorkspace(Mantid::Geometry::IInstrument_sptr inst); + GroupingWorkspace(Geometry::Instrument_sptr inst); GroupingWorkspace(); ~GroupingWorkspace(); diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/OffsetsWorkspace.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/OffsetsWorkspace.h index d44418d5ff705a6af75ef36d6920190206a542dd..7abd2f773c4bff89f4c4761f2d70d9977329edf7 100644 --- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/OffsetsWorkspace.h +++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/OffsetsWorkspace.h @@ -5,7 +5,6 @@ #include "MantidAPI/SpectraDetectorMap.h" #include "MantidDataObjects/SpecialWorkspace2D.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" @@ -25,7 +24,7 @@ namespace DataObjects { public: OffsetsWorkspace(); - OffsetsWorkspace(Mantid::Geometry::IInstrument_sptr inst); + OffsetsWorkspace(Geometry::Instrument_sptr inst); ~OffsetsWorkspace(); /** Gets the name of the workspace type diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/Peak.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/Peak.h index fbdf0a8943351d16006ca96b4d84dceaaf856c58..d346c62e88f36edbae073b06e6e36b6c4ef52092 100644 --- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/Peak.h +++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/Peak.h @@ -2,7 +2,7 @@ #define MANTID_DATAOBJECTS_PEAK_H_ #include "MantidAPI/IPeak.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Matrix.h" #include "MantidKernel/V3D.h" #include "MantidKernel/PhysicalConstants.h" @@ -25,23 +25,23 @@ namespace DataObjects /// Allow PeakColumn class to directly access members. friend class PeakColumn; - Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, Mantid::Kernel::V3D QLabFrame, double detectorDistance=1.0); - Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, Mantid::Kernel::V3D QSampleFrame, Mantid::Kernel::Matrix<double> goniometer, double detectorDistance=1.0); - Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength); - Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL); - Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL, Mantid::Kernel::Matrix<double> goniometer); + Peak(Geometry::Instrument_const_sptr m_inst, Mantid::Kernel::V3D QLabFrame, double detectorDistance=1.0); + Peak(Geometry::Instrument_const_sptr m_inst, Mantid::Kernel::V3D QSampleFrame, Mantid::Kernel::Matrix<double> goniometer, double detectorDistance=1.0); + Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength); + Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL); + Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL, Mantid::Kernel::Matrix<double> goniometer); // Copy constructor is compiler-provided. Peak(const Peak & other); Peak(const API::IPeak & ipeak); virtual ~Peak(); - void setInstrument(Mantid::Geometry::IInstrument_const_sptr inst); + void setInstrument(Geometry::Instrument_const_sptr inst); int getDetectorID() const; void setDetectorID(int m_DetectorID); - Mantid::Geometry::IDetector_const_sptr getDetector() const; - Mantid::Geometry::IInstrument_const_sptr getInstrument() const; + Geometry::IDetector_const_sptr getDetector() const; + Geometry::Instrument_const_sptr getInstrument() const; bool findDetector(); @@ -96,10 +96,10 @@ namespace DataObjects protected: /// Shared pointer to the instrument (for calculating some values ) - Mantid::Geometry::IInstrument_const_sptr m_inst; + Geometry::Instrument_const_sptr m_inst; /// Detector pointed to - Mantid::Geometry::IDetector_const_sptr m_det; + Geometry::IDetector_const_sptr m_det; /// Name of the parent bank std::string m_BankName; diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/PeaksWorkspace.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/PeaksWorkspace.h index 0c8e11b1e1ad4b8277732a9f1b5311599e0d57dc..1f22e68234889a10365ac07cae9d73018320b6ee 100644 --- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/PeaksWorkspace.h +++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/PeaksWorkspace.h @@ -11,7 +11,7 @@ #include "MantidDataObjects/Peak.h" #include "MantidDataObjects/PeakColumn.h" #include "MantidDataObjects/TableWorkspace.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/DateAndTime.h" #include "MantidKernel/Exception.h" #include "MantidKernel/Logger.h" @@ -75,7 +75,7 @@ namespace DataObjects boost::shared_ptr<PeaksWorkspace> clone(); - void appendFile( std::string filename, Mantid::Geometry::IInstrument_sptr inst); + void appendFile( std::string filename, Geometry::Instrument_sptr inst); //--------------------------------------------------------------------------------------------- /** @return the number of peaks @@ -130,8 +130,7 @@ namespace DataObjects */ API::IPeak* createPeak(Kernel::V3D QLabFrame, double detectorDistance=1.0) { - Mantid::Geometry::IInstrument_const_sptr inst = this->getInstrument(); - return new Peak(inst, QLabFrame, detectorDistance); + return new Peak(this->getInstrument(), QLabFrame, detectorDistance); } //--------------------------------------------------------------------------------------------- diff --git a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/SpecialWorkspace2D.h b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/SpecialWorkspace2D.h index 9a7bccc1c39dda1fed2fdd6c928236acf8cd0f2e..bbccfc3defbfff266133e1fc4e64aea39f0bd05c 100644 --- a/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/SpecialWorkspace2D.h +++ b/Code/Mantid/Framework/DataObjects/inc/MantidDataObjects/SpecialWorkspace2D.h @@ -5,7 +5,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidAPI/SpectraDetectorMap.h" #include "MantidDataObjects/Workspace2D.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/System.h" @@ -28,7 +28,7 @@ namespace DataObjects { public: SpecialWorkspace2D(); - SpecialWorkspace2D(Mantid::Geometry::IInstrument_sptr inst); + SpecialWorkspace2D(Geometry::Instrument_sptr inst); ~SpecialWorkspace2D(); /** Gets the name of the workspace type diff --git a/Code/Mantid/Framework/DataObjects/src/GroupingWorkspace.cpp b/Code/Mantid/Framework/DataObjects/src/GroupingWorkspace.cpp index cfda44a007ed0f166fab2af24710821fb04b172f..3efb0f7e8bfb4a76f0532fbeacdd44ebfb754427 100644 --- a/Code/Mantid/Framework/DataObjects/src/GroupingWorkspace.cpp +++ b/Code/Mantid/Framework/DataObjects/src/GroupingWorkspace.cpp @@ -30,7 +30,7 @@ namespace DataObjects * @param inst :: input instrument that is the base for this workspace * @return created GroupingWorkspace */ - GroupingWorkspace::GroupingWorkspace(Mantid::Geometry::IInstrument_sptr inst) + GroupingWorkspace::GroupingWorkspace(Geometry::Instrument_sptr inst) : SpecialWorkspace2D(inst) { } diff --git a/Code/Mantid/Framework/DataObjects/src/ManagedDataBlock2D.cpp b/Code/Mantid/Framework/DataObjects/src/ManagedDataBlock2D.cpp index 8fe7bef43aba13413fccc04ee57433ae2ac59d43..2d8ab2660d415c0af41dc5146ae786376101d6bf 100644 --- a/Code/Mantid/Framework/DataObjects/src/ManagedDataBlock2D.cpp +++ b/Code/Mantid/Framework/DataObjects/src/ManagedDataBlock2D.cpp @@ -173,7 +173,6 @@ std::fstream& operator<<(std::fstream& fs, ManagedDataBlock2D& data) ManagedDataBlock2D::g_log.warning() << "E vector resized to " << data.m_YLength << " elements."; } fs.write(reinterpret_cast<char *>(&(it->directDataE().front())), data.m_YLength * sizeof(double)); - // N.B. ErrorHelper member not stored to file so will always be Gaussian default // Clear the "dirty" flag since it was just written out. it->setDirty(false); @@ -201,7 +200,6 @@ std::fstream& operator>>(std::fstream& fs, ManagedDataBlock2D& data) fs.read(reinterpret_cast<char *>(&(it->directDataE().front())), data.m_YLength * sizeof(double)); // Yes, it is loaded it->setLoaded(true); - // N.B. ErrorHelper member not stored to file so will always be Gaussian default } return fs; } diff --git a/Code/Mantid/Framework/DataObjects/src/ManagedWorkspace2D.cpp b/Code/Mantid/Framework/DataObjects/src/ManagedWorkspace2D.cpp index c6389f9b21ed6dcbd90b2b8a5d66818950b64925..412a8d59f492d1e111689f6cff1ee788159c7e84 100644 --- a/Code/Mantid/Framework/DataObjects/src/ManagedWorkspace2D.cpp +++ b/Code/Mantid/Framework/DataObjects/src/ManagedWorkspace2D.cpp @@ -215,6 +215,9 @@ void ManagedWorkspace2D::readDataBlock(ManagedDataBlock2D *newBlock,size_t start */ void ManagedWorkspace2D::writeDataBlock(ManagedDataBlock2D *toWrite) const { + std::cout << "Writing " << toWrite->minIndex() << std::endl; + std::cout << ">>> " << m_indexWrittenTo << std::endl; + std::cout << ">>> " << m_vectorsPerBlock << std::endl; size_t fileIndex = 0; // Check whether we need to pad file with zeroes before writing data if ( toWrite->minIndex() > static_cast<int>(m_indexWrittenTo+m_vectorsPerBlock) && m_indexWrittenTo >= 0 ) @@ -239,10 +242,11 @@ void ManagedWorkspace2D::writeDataBlock(ManagedDataBlock2D *toWrite) const m_datafile[fileIndex]->write((char *) &*yzeroes.begin(), m_YLength * sizeof(double)); m_datafile[fileIndex]->write((char *) &speczero, sizeof(int) ); } + std::cout << "Here!!!!" << std::endl; } else - // If no padding needed, go to correct place in file - { + // If no padding needed, go to correct place in file + { long long seekPoint = toWrite->minIndex() * m_vectorSize; while (seekPoint > std::numeric_limits<int>::max()) @@ -254,7 +258,8 @@ void ManagedWorkspace2D::writeDataBlock(ManagedDataBlock2D *toWrite) const // Safe to cast seekPoint to int because the while loop above guarantees that // it'll be in range by this point. m_datafile[fileIndex]->seekp(static_cast<int>(seekPoint), std::ios::beg); - } + std::cout << "Now here!!!!" << std::endl; + } *m_datafile[fileIndex] << *toWrite; m_indexWrittenTo = std::max(m_indexWrittenTo, toWrite->minIndex()); diff --git a/Code/Mantid/Framework/DataObjects/src/OffsetsWorkspace.cpp b/Code/Mantid/Framework/DataObjects/src/OffsetsWorkspace.cpp index f05dfd506a9be79485c9fd732dc7f7432fe3370e..641b06686c9b7816ce4a61496f78d54848e5a5bb 100644 --- a/Code/Mantid/Framework/DataObjects/src/OffsetsWorkspace.cpp +++ b/Code/Mantid/Framework/DataObjects/src/OffsetsWorkspace.cpp @@ -27,7 +27,7 @@ namespace DataObjects * @param inst :: input instrument that is the base for this workspace * @return created OffsetsWorkspace */ - OffsetsWorkspace::OffsetsWorkspace(Mantid::Geometry::IInstrument_sptr inst) + OffsetsWorkspace::OffsetsWorkspace(Geometry::Instrument_sptr inst) : SpecialWorkspace2D(inst) { } diff --git a/Code/Mantid/Framework/DataObjects/src/Peak.cpp b/Code/Mantid/Framework/DataObjects/src/Peak.cpp index 28577122ca647103814ee22e314ea1d87c762a1b..dde9f75c8a9f96b7aa625a908fb3323c175903a2 100644 --- a/Code/Mantid/Framework/DataObjects/src/Peak.cpp +++ b/Code/Mantid/Framework/DataObjects/src/Peak.cpp @@ -22,7 +22,7 @@ namespace DataObjects * @param detectorDistance :: distance between the sample and the detector. * Used to give a valid TOF. Default 1.0 meters. */ - Peak::Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, Mantid::Kernel::V3D QLabFrame, double detectorDistance) + Peak::Peak(Geometry::Instrument_const_sptr m_inst, Mantid::Kernel::V3D QLabFrame, double detectorDistance) : m_H(0), m_K(0), m_L(0), m_Intensity(0), m_SigmaIntensity(0), m_BinCount(0), m_GoniometerMatrix(3,3,true), @@ -45,7 +45,7 @@ namespace DataObjects * @param detectorDistance :: distance between the sample and the detector. * Used to give a valid TOF. Default 1.0 meters. */ - Peak::Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, Mantid::Kernel::V3D QSampleFrame, + Peak::Peak(Geometry::Instrument_const_sptr m_inst, Mantid::Kernel::V3D QSampleFrame, Mantid::Kernel::Matrix<double> goniometer, double detectorDistance) : m_H(0), m_K(0), m_L(0), m_Intensity(0), m_SigmaIntensity(0), m_BinCount(0), @@ -68,7 +68,7 @@ namespace DataObjects * @param m_Wavelength :: incident neutron wavelength, in Angstroms * @return */ - Peak::Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength) + Peak::Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength) : m_H(0), m_K(0), m_L(0), m_Intensity(0), m_SigmaIntensity(0), m_BinCount(0), m_GoniometerMatrix(3,3,true), @@ -90,7 +90,7 @@ namespace DataObjects * @param HKL :: vector with H,K,L position of the peak * @return */ - Peak::Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL) + Peak::Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL) : m_H(HKL[0]), m_K(HKL[1]), m_L(HKL[2]), m_Intensity(0), m_SigmaIntensity(0), m_BinCount(0), m_GoniometerMatrix(3,3,true), @@ -112,7 +112,7 @@ namespace DataObjects * @param goniometer :: a 3x3 rotation matrix * @return */ - Peak::Peak(Mantid::Geometry::IInstrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL, Mantid::Kernel::Matrix<double> goniometer) : + Peak::Peak(Geometry::Instrument_const_sptr m_inst, int m_DetectorID, double m_Wavelength, Mantid::Kernel::V3D HKL, Mantid::Kernel::Matrix<double> goniometer) : m_H(HKL[0]), m_K(HKL[1]), m_L(HKL[2]), m_Intensity(0), m_SigmaIntensity(0), m_BinCount(0), m_GoniometerMatrix(goniometer), @@ -215,7 +215,7 @@ namespace DataObjects * * @param inst :: Instrument sptr to use */ - void Peak::setInstrument(Mantid::Geometry::IInstrument_const_sptr inst) + void Peak::setInstrument(Geometry::Instrument_const_sptr inst) { m_inst = inst; if (!inst) throw std::runtime_error("Peak::setInstrument(): No instrument is set!"); @@ -451,9 +451,9 @@ namespace DataObjects beam.normalize(); // Create a ray tracer - InstrumentRayTracer tracker( boost::const_pointer_cast<IInstrument>(m_inst) ); + InstrumentRayTracer tracker( boost::const_pointer_cast<Instrument>(m_inst) ); tracker.traceFromSample(beam); - IDetector_sptr det = tracker.getDetectorResult(); + IDetector_const_sptr det = tracker.getDetectorResult(); if (det) { // Set the detector ID, the row, col, etc. @@ -469,12 +469,10 @@ namespace DataObjects //---------------------------------------------------------------------------------------------- /** Return a shared ptr to the detector at center of peak. */ - Mantid::Geometry::IDetector_const_sptr Peak::getDetector() const - { return m_det; } + Geometry::IDetector_const_sptr Peak::getDetector() const { return m_det; } /** Return a shared ptr to the instrument for this peak. */ - Mantid::Geometry::IInstrument_const_sptr Peak::getInstrument() const - { return m_inst; } + Geometry::Instrument_const_sptr Peak::getInstrument() const { return m_inst; } //---------------------------------------------------------------------------------------------- /** Return the run number this peak was measured at. */ diff --git a/Code/Mantid/Framework/DataObjects/src/SpecialWorkspace2D.cpp b/Code/Mantid/Framework/DataObjects/src/SpecialWorkspace2D.cpp index 8e114b2672ce310ec882f2e5b8c90898fb827444..8871a7ee749c79544f39b2f20b713af45f6528eb 100644 --- a/Code/Mantid/Framework/DataObjects/src/SpecialWorkspace2D.cpp +++ b/Code/Mantid/Framework/DataObjects/src/SpecialWorkspace2D.cpp @@ -30,7 +30,7 @@ namespace DataObjects * @param inst :: input instrument that is the base for this workspace * @return created SpecialWorkspace2D */ - SpecialWorkspace2D::SpecialWorkspace2D(Mantid::Geometry::IInstrument_sptr inst) + SpecialWorkspace2D::SpecialWorkspace2D(Geometry::Instrument_sptr inst) { // Get all the detectors IDs detectorIDs = inst->getDetectorIDs(true /*no monitors*/); diff --git a/Code/Mantid/Framework/DataObjects/test/GroupingWorkspaceTest.h b/Code/Mantid/Framework/DataObjects/test/GroupingWorkspaceTest.h index 4a614b5042d65baecf90a5dcd6392f56a07413fa..24bc49b9988e9d6331c32c7009dcd59dd8fbd68e 100644 --- a/Code/Mantid/Framework/DataObjects/test/GroupingWorkspaceTest.h +++ b/Code/Mantid/Framework/DataObjects/test/GroupingWorkspaceTest.h @@ -33,7 +33,7 @@ public: void test_constructor_from_Instrument() { // Fake instrument with 5*9 pixels with ID starting at 1 - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); GroupingWorkspace_sptr ws(new GroupingWorkspace(inst)); diff --git a/Code/Mantid/Framework/DataObjects/test/ManagedWorkspace2DTest.h b/Code/Mantid/Framework/DataObjects/test/ManagedWorkspace2DTest.h index 26ea8050b53d3ac1b7292b96dc0e33ec431b6031..f2eca83484f649e1ecd99974975f89e2b43eb838 100644 --- a/Code/Mantid/Framework/DataObjects/test/ManagedWorkspace2DTest.h +++ b/Code/Mantid/Framework/DataObjects/test/ManagedWorkspace2DTest.h @@ -296,6 +296,48 @@ public: } } + void testPadding() + { + std::cout << "Start!!!!" << std::endl; + + // This will make sure 1 ManagedDataBlock = 1 Vector + Mantid::Kernel::ConfigServiceImpl& conf = Mantid::Kernel::ConfigService::Instance(); + const std::string blocksize = "ManagedWorkspace.DataBlockSize"; + const std::string oldValue = conf.getString(blocksize); + conf.setString(blocksize,"1"); + + Mantid::DataObjects::ManagedWorkspace2D ws; + ws.initialize(111,10,9); + + MantidVec fours(10,4.0); + MantidVec fives(9,5.0); + MantidVec sixes(9,6.0); + for ( std::size_t i = 10; i < ws.getNumberHistograms(); ++i ) + { + ws.dataX(i) = fours; + ws.dataY(i) = fives; + ws.dataE(i) = sixes; + } + + // Get back a block that should have gone out to disk and check its values + MantidVec xvals = ws.dataX(10); + MantidVec yvals = ws.dataY(10); + MantidVec evals = ws.dataE(10); + TS_ASSERT_EQUALS( xvals.size(), 10 ); + TS_ASSERT_EQUALS( yvals.size(), 9 ); + TS_ASSERT_EQUALS( evals.size(), 9 ); + for ( std::size_t j = 0; j < 9; ++j ) + { + TS_ASSERT_EQUALS( xvals[j], 4.0 ); + TS_ASSERT_EQUALS( yvals[j], 5.0 ); + TS_ASSERT_EQUALS( evals[j], 6.0 ); + } + TS_ASSERT_EQUALS( xvals.back(), 4.0 ); + + conf.setString(blocksize,oldValue); + std::cout << "End!!!!" << std::endl; + } + void testDestructor() { std::string filename; @@ -330,13 +372,12 @@ public: ManagedWorkspace2DTestPerformance() { - // Try to make the input workspace NOT managed if you can help it + // Make sure the input workspace is NOT managed Mantid::Kernel::ConfigServiceImpl& conf = Mantid::Kernel::ConfigService::Instance(); - conf.setString("ManagedWorkspace.LowerMemoryLimit","90"); - // 1 MB block size - conf.setString("ManagedWorkspace.DataBlockSize", "1000000"); + conf.setString("ManagedWorkspace.AlwaysInMemory","1"); // Workspace should use up around 800 MB of memory inWS = Mantid::API::WorkspaceFactory::Instance().create("Workspace2D",7000,5000,5000); + conf.setString("ManagedWorkspace.AlwaysInMemory","0"); } // This should take ~no time (nothing should be written to disk) @@ -350,6 +391,8 @@ public: const std::string managed2 = "ManagedRawFileWorkspace.DoNotUse"; const std::string oldValue2 = conf.getString(managed2); conf.setString(managed2,"0"); + // 1 MB block size + conf.setString("ManagedWorkspace.DataBlockSize", "1000000"); Mantid::Kernel::MemoryStats stats; stats.update(); diff --git a/Code/Mantid/Framework/DataObjects/test/PeakTest.h b/Code/Mantid/Framework/DataObjects/test/PeakTest.h index f070e55bffd845f625d7dc1ed2ee30981aad101b..0a5970eda41f4624f7af034b3b6076d36d5bfe93 100644 --- a/Code/Mantid/Framework/DataObjects/test/PeakTest.h +++ b/Code/Mantid/Framework/DataObjects/test/PeakTest.h @@ -18,7 +18,7 @@ class PeakTest : public CxxTest::TestSuite { public: /// Common instrument - IInstrument_sptr inst; + Instrument_sptr inst; void setUp() { inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 100); diff --git a/Code/Mantid/Framework/DataObjects/test/PeaksWorkspaceTest.h b/Code/Mantid/Framework/DataObjects/test/PeaksWorkspaceTest.h index eb9f2740e1fe0066309f46d4c6ff129159e3a470..320570ccc02a5101ee4d0f9fb9dd47f872b3706f 100644 --- a/Code/Mantid/Framework/DataObjects/test/PeaksWorkspaceTest.h +++ b/Code/Mantid/Framework/DataObjects/test/PeaksWorkspaceTest.h @@ -31,7 +31,7 @@ public: */ PeaksWorkspace * buildPW() { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 10); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 10); inst->setName("SillyInstrument"); PeaksWorkspace * pw = new PeaksWorkspace(); pw->setInstrument(inst); diff --git a/Code/Mantid/Framework/DataObjects/test/SpecialWorkspace2DTest.h b/Code/Mantid/Framework/DataObjects/test/SpecialWorkspace2DTest.h index 8df41b44403cb543ff697416d8e80681d2a9be79..42719b229483bb9f69efedcdd977f10f4c517297 100644 --- a/Code/Mantid/Framework/DataObjects/test/SpecialWorkspace2DTest.h +++ b/Code/Mantid/Framework/DataObjects/test/SpecialWorkspace2DTest.h @@ -35,7 +35,7 @@ public: void test_constructor_from_Instrument() { // Fake instrument with 5*9 pixels with ID starting at 1 - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); SpecialWorkspace2D_sptr ws(new SpecialWorkspace2D(inst)); TS_ASSERT_EQUALS( ws->getNumberHistograms(), 45); @@ -50,7 +50,7 @@ public: void test_setValue_getValue() { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); SpecialWorkspace2D_sptr ws(new SpecialWorkspace2D(inst)); TS_ASSERT_DIFFERS( ws->getValue(1), 12.3 ); diff --git a/Code/Mantid/Framework/Geometry/CMakeLists.txt b/Code/Mantid/Framework/Geometry/CMakeLists.txt index 8b2a94ecb06f61a0e1dd709fd092fc9c90b5a593..40323c9d85e6e9077636f64630d4853e8c5d05b0 100644 --- a/Code/Mantid/Framework/Geometry/CMakeLists.txt +++ b/Code/Mantid/Framework/Geometry/CMakeLists.txt @@ -4,7 +4,7 @@ set ( SRC_FILES src/Crystal/ReflectionCondition.cpp src/Crystal/UnitCell.cpp src/IDetector.cpp - src/IInstrument.cpp + src/Instrument.cpp src/IObjComponent.cpp src/Instrument/CompAssembly.cpp src/Instrument/Component.cpp @@ -12,7 +12,6 @@ set ( SRC_FILES src/Instrument/DetectorGroup.cpp src/Instrument/FitParameter.cpp src/Instrument/Goniometer.cpp - src/Instrument/Instrument.cpp src/Instrument/NearestNeighbours.cpp src/Instrument/ObjCompAssembly.cpp src/Instrument/ObjComponent.cpp @@ -22,7 +21,6 @@ set ( SRC_FILES src/Instrument/ParameterMap.cpp src/Instrument/RectangularDetector.cpp src/Instrument/XMLlogfile.cpp - src/InstrumentRayTracer.cpp src/MDGeometry/Coordinate.cpp src/MDGeometry/IMDDimension.cpp src/MDGeometry/IMDDimensionFactory.cpp @@ -55,6 +53,7 @@ set ( SRC_FILES src/Math/Vertex2DList.cpp src/Math/mathSupport.cpp src/Objects/BoundingBox.cpp + src/Objects/InstrumentRayTracer.cpp src/Objects/Material.cpp src/Objects/Object.cpp src/Objects/RuleItems.cpp @@ -101,7 +100,7 @@ set ( INC_FILES inc/MantidGeometry/ICompAssembly.h inc/MantidGeometry/IComponent.h inc/MantidGeometry/IDetector.h - inc/MantidGeometry/IInstrument.h + inc/MantidGeometry/Instrument.h inc/MantidGeometry/IObjComponent.h inc/MantidGeometry/ISpectraDetectorMap.h inc/MantidGeometry/Instrument/CompAssembly.h @@ -110,7 +109,6 @@ set ( INC_FILES inc/MantidGeometry/Instrument/DetectorGroup.h inc/MantidGeometry/Instrument/FitParameter.h inc/MantidGeometry/Instrument/Goniometer.h - inc/MantidGeometry/Instrument/Instrument.h inc/MantidGeometry/Instrument/NearestNeighbours.h inc/MantidGeometry/Instrument/ObjCompAssembly.h inc/MantidGeometry/Instrument/ObjComponent.h diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/ICompAssembly.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/ICompAssembly.h index b90919b1e371a3202d98f379c78536bb9633b96e..41a9f07cc19032ff7f969cee7a761143923eaac0 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/ICompAssembly.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/ICompAssembly.h @@ -66,7 +66,7 @@ namespace Mantid //! Get a pointer to the ith component within the assembly. Easier to use than [] when you have a pointer virtual boost::shared_ptr<IComponent> getChild(const int i) const = 0; //! Get all children - virtual void getChildren(std::vector<boost::shared_ptr<IComponent> > & outVector, bool recursive) const = 0; + virtual void getChildren(std::vector<IComponent_const_sptr> & outVector, bool recursive) const = 0; //! Overloaded index operator. Get a pointer to the ith component in the assembly virtual boost::shared_ptr<IComponent> operator[](int i) const = 0; //! Print information about all children diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/IInstrument.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/IInstrument.h deleted file mode 100644 index 87c96d945ad1a68bac8f84b75bb99ce07bc0584b..0000000000000000000000000000000000000000 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/IInstrument.h +++ /dev/null @@ -1,179 +0,0 @@ -#ifndef MANTID_GEOMETRY_IINSTRUMENT_H_ -#define MANTID_GEOMETRY_IINSTRUMENT_H_ - -//---------------------------------------------------------------------- -// Includes -//---------------------------------------------------------------------- -#include "MantidKernel/Logger.h" -#include "MantidGeometry/DllConfig.h" -#include "MantidGeometry/ICompAssembly.h" -#include "MantidGeometry/Instrument/Detector.h" -#include <boost/shared_ptr.hpp> -#include <map> -#include <string> -#include "MantidKernel/DateAndTime.h" - -namespace Mantid -{ - -/// Typedef of a map from detector ID to detector shared pointer. -typedef std::map<detid_t, Mantid::Geometry::IDetector_sptr> detid2det_map; - - -namespace Geometry -{ - -/** IInstrument class. The abstract instrument class it is the base for - Instrument and Instrument classes. - - @author Nick Draper, ISIS, RAL - @date 26/09/2007 - @author Anders Markvardsen, ISIS, RAL - @date 1/4/2008 - - Copyright © 2007-10 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory - - This file is part of Mantid. - - Mantid is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - Mantid is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - - File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>. - Code Documentation is available at: <http://doxygen.mantidproject.org> -*/ -class MANTID_GEOMETRY_DLL IInstrument : public virtual Geometry::ICompAssembly -{ -public: - - IInstrument() - : ICompAssembly() - {} - - IInstrument(const IInstrument & other) - : ICompAssembly(), - m_ValidFrom(other.m_ValidFrom), - m_ValidTo(other.m_ValidTo) - {} - - ///String description of the type of component - virtual std::string type() const { return "IInstrument"; } - - ///Virtual destructor - virtual ~IInstrument() {} - - virtual std::string getName() const = 0; - - - - /// Returns a pointer to the geometrical object representing the source - virtual Geometry::IObjComponent_sptr getSource() const = 0; - - /// Returns a pointer to the geometrical object representing the sample - virtual Geometry::IObjComponent_sptr getSample() const = 0; - - /// Returns a unit vector pointing in the direction of the beam - Kernel::V3D getBeamDirection() const; - - /// Returns a pointer to the geometrical object for the detector with the given ID - virtual Geometry::IDetector_sptr getDetector(const detid_t &detector_id) const = 0; - /// Returns a pointer to the geometrical object for the given set of IDs - virtual Geometry::IDetector_sptr getDetector(const std::vector<detid_t> &detector_id) const = 0; - - /// Returns a list of Detectors for the given detectors ids - virtual std::vector<IDetector_sptr> getDetectors(const std::vector<detid_t> &det_ids) const = 0; - - /// Returns a list of Detectors for the given detectors ids - virtual std::vector<IDetector_sptr> getDetectors(const std::set<detid_t> &det_ids) const = 0; - - /// Fill a vector with all the detectors contained in a named component - virtual void getDetectorsInBank(std::vector<Geometry::IDetector_sptr> & dets, const std::string & bankName) = 0; - - /// return map of detector ID : detector sptr - virtual void getDetectors( detid2det_map & out_dets) const = 0; - - /// return a vector with a list of the detector IDs - virtual std::vector<detid_t> getDetectorIDs(bool skipMonitors = false) const = 0; - - /// Returns a pointer to the geometrical object representing the monitor with the given ID - virtual Geometry::IDetector_sptr getMonitor(const int &detector_id) const = 0; - - /// returns a list containing detector ids of monitors - virtual const std::vector<detid_t> getMonitors()const = 0; - - /// Returns the number of monitors attached to this instrument - virtual size_t numMonitors() const = 0; - - /// Returns a shared pointer to a component - virtual boost::shared_ptr<Geometry::IComponent> getComponentByID(Geometry::ComponentID id) = 0; - - /// Returns a shared pointer to a component - virtual boost::shared_ptr<const Geometry::IComponent> getComponentByID(Geometry::ComponentID id)const = 0; - - /// Returns a pointer to the first component encountered with the given name - boost::shared_ptr<Geometry::IComponent> getComponentByName(const std::string & cname); - - /// Returns a pointer to the first component encountered with the given name - boost::shared_ptr<const Geometry::IComponent> getComponentByName(const std::string & cname) const; - - /// Returns pointers to all components encountered with the given name - std::vector<boost::shared_ptr<Geometry::IComponent> > getAllComponentsWithName(const std::string & cname); - - - /// The type used to deliver the set of plottable components - typedef std::vector<Geometry::IObjComponent_const_sptr> plottables; - /// A constant shared pointer to a vector of plotables - typedef const boost::shared_ptr<const plottables> plottables_const_sptr; - - /// Get pointers to plottable components - virtual plottables_const_sptr getPlottable() const = 0; - - /// Retrieves from which side the instrument to be viewed from when the instrument viewer first starts, possiblities are "Z+, Z-, X+, ..." - virtual std::string getDefaultAxis() const=0; - - virtual void getInstrumentParameters(double & l1, Kernel::V3D & beamline, - double & beamline_norm, Kernel::V3D & samplePos) const = 0; - - /// @return the date from which the instrument definition begins to be valid. - Kernel::DateAndTime getValidFromDate() const - { return m_ValidFrom; } - - /// @return the date at which the instrument definition is no longer valid. - Kernel::DateAndTime getValidToDate() const - { return m_ValidTo; } - - /// Set the date from which the instrument definition begins to be valid. - /// @param val :: date - void setValidFromDate(const Kernel::DateAndTime val) - { m_ValidFrom = val; } - - /// Set the date at which the instrument definition is no longer valid. - /// @param val :: date - void setValidToDate(const Kernel::DateAndTime val) - { m_ValidTo = val; } - -protected: - /// the date from which the instrument definition begins to be valid. - Kernel::DateAndTime m_ValidFrom; - /// the date at which the instrument definition is no longer valid. - Kernel::DateAndTime m_ValidTo; -}; - -/// Shared pointer to IInstrument -typedef boost::shared_ptr<IInstrument> IInstrument_sptr; -/// Shared pointer to IInstrument (const version) -typedef boost::shared_ptr<const IInstrument> IInstrument_const_sptr; - -} // namespace Geometry -} // namespace Mantid - -#endif /*MANTID_GEOMETRY_IINSTRUMENT_H_*/ diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Instrument.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument.h similarity index 78% rename from Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Instrument.h rename to Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument.h index 889fc3ff6da2d53a6b71c349ec34c9c84f1f4dd1..98ae060c120c05bdbce571eec0ac7ac2d8e8f399 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/Instrument.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument.h @@ -5,9 +5,9 @@ // Includes //---------------------------------------------------------------------- #include "MantidKernel/cow_ptr.h" +#include "MantidKernel/DateAndTime.h" #include "MantidKernel/Logger.h" #include "MantidGeometry/DllConfig.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/ObjComponent.h" #include "MantidGeometry/Instrument/Detector.h" @@ -17,6 +17,8 @@ namespace Mantid { + /// Typedef of a map from detector ID to detector shared pointer. + typedef std::map<detid_t, Geometry::IDetector_sptr> detid2det_map; namespace Geometry { @@ -56,7 +58,7 @@ namespace Mantid File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>. Code Documentation is available at: <http://doxygen.mantidproject.org> */ - class MANTID_GEOMETRY_DLL Instrument : public Geometry::CompAssembly, public IInstrument + class MANTID_GEOMETRY_DLL Instrument : public CompAssembly { public: ///String description of the type of component @@ -70,6 +72,8 @@ namespace Mantid IObjComponent_sptr getSource() const; IObjComponent_sptr getSample() const; + Kernel::V3D getBeamDirection() const; + IDetector_sptr getDetector(const detid_t &detector_id) const; /// Returns a pointer to the geometrical object for the given set of IDs IDetector_sptr getDetector(const std::vector<detid_t> &det_ids) const; @@ -86,27 +90,27 @@ namespace Mantid /// mark a Component which has already been added to the Instrument (as a child comp.) /// to be 'the' samplePos Component. For now it is assumed that we have /// at most one of these. - void markAsSamplePos(Geometry::ObjComponent*); + void markAsSamplePos(ObjComponent*); /// mark a Component which has already been added to the Instrument (as a child comp.) /// to be 'the' source Component. For now it is assumed that we have /// at most one of these. - void markAsSource(Geometry::ObjComponent*); + void markAsSource(ObjComponent*); /// mark a Component which has already been added to the Instrument (as a child comp.) /// to be a Detector component by adding it to _detectorCache - void markAsDetector(Geometry::IDetector*); + void markAsDetector(IDetector*); /// mark a Component which has already been added to the Instrument (as a child comp.) /// to be a monitor and also add it to _detectorCache for possible later retrieval - void markAsMonitor(Geometry::IDetector*); + void markAsMonitor(IDetector*); /// return reference to detector cache void getDetectors(detid2det_map & out_map) const; std::vector<detid_t> getDetectorIDs(bool skipMonitors = false) const; - void getDetectorsInBank(std::vector<Geometry::IDetector_sptr> & dets, const std::string & bankName); + void getDetectorsInBank(std::vector<IDetector_const_sptr> & dets, const std::string & bankName) const; /// returns a list containing detector ids of monitors const std::vector<detid_t> getMonitors()const ; @@ -120,15 +124,19 @@ namespace Mantid void getBoundingBox(BoundingBox& boundingBox) const; /// Get pointers to plottable components - plottables_const_sptr getPlottable() const; - - std::string getName()const{return Geometry::CompAssembly::getName();} + boost::shared_ptr<const std::vector<IObjComponent_const_sptr> > getPlottable() const; /// Returns a shared pointer to a component - boost::shared_ptr<Geometry::IComponent> getComponentByID(Geometry::ComponentID id); + boost::shared_ptr<IComponent> getComponentByID(ComponentID id); /// Returns a shared pointer to a component - boost::shared_ptr<const Geometry::IComponent> getComponentByID(Geometry::ComponentID id)const; + boost::shared_ptr<const IComponent> getComponentByID(ComponentID id) const; + + /// Returns a pointer to the first component encountered with the given name + boost::shared_ptr<const IComponent> getComponentByName(const std::string & cname) const; + + /// Returns pointers to all components encountered with the given name + std::vector<boost::shared_ptr<IComponent> > getAllComponentsWithName(const std::string & cname); /// Get information about the parameters described in the instrument definition file and associated parameter files std::multimap<std::string, boost::shared_ptr<XMLlogfile> >& getLogfileCache() {return _logfileCache;} @@ -143,23 +151,36 @@ namespace Mantid // Allow access by index using CompAssembly::getChild; - /// Pointer to the 'real' instrument, for parametrized instruments boost::shared_ptr<Instrument> baseInstrument() const; /// Pointer to the NOT const ParameterMap holding the parameters of the modified instrument components. boost::shared_ptr<ParameterMap> getParameterMap() const; + /// @return the date from which the instrument definition begins to be valid. + Kernel::DateAndTime getValidFromDate() const { return m_ValidFrom; } + + /// @return the date at which the instrument definition is no longer valid. + Kernel::DateAndTime getValidToDate() const { return m_ValidTo; } + + /// Set the date from which the instrument definition begins to be valid. + /// @param val :: date + void setValidFromDate(const Kernel::DateAndTime val) { m_ValidFrom = val; } + + /// Set the date at which the instrument definition is no longer valid. + /// @param val :: date + void setValidToDate(const Kernel::DateAndTime val) { m_ValidTo = val; } + // ----- Useful static functions ------ static double calcConversion(const double l1, const Kernel::V3D &beamline, const double beamline_norm, - const Kernel::V3D &samplePos, const Geometry::IDetector_const_sptr &det, const double offset, + const Kernel::V3D &samplePos, const IDetector_const_sptr &det, const double offset, bool vulcancorrection); static double calcConversion(const double l1, const Kernel::V3D &beamline, const double beamline_norm, const Kernel::V3D &samplePos, - const Geometry::IInstrument_const_sptr &instrument, + const boost::shared_ptr<const Instrument> &instrument, const std::vector<detid_t> &detectors, const std::map<detid_t,double> &offsets, bool vulcancorrection); @@ -177,10 +198,10 @@ namespace Mantid static Kernel::Logger& g_log; /// Get a child by name - Geometry::IComponent* getChild(const std::string& name) const; + IComponent* getChild(const std::string& name) const; /// Add a plottable component - void appendPlottable(const Geometry::CompAssembly& ca,std::vector<Geometry::IObjComponent_const_sptr>& lst)const; + void appendPlottable(const CompAssembly& ca,std::vector<IObjComponent_const_sptr>& lst)const; // This method is only required for efficent caching of parameterized components and // should not form part of the interface. It is an implementation detail. @@ -189,13 +210,13 @@ namespace Mantid void swap(const Instrument* base, const ParameterMap * map); /// Map which holds detector-IDs and pointers to detector components - std::map<detid_t, Geometry::IDetector_sptr > _detectorCache; + std::map<detid_t, IDetector_sptr > _detectorCache; /// Purpose to hold copy of source component. For now assumed to be just one component - Geometry::ObjComponent* _sourceCache; + ObjComponent* _sourceCache; /// Purpose to hold copy of samplePos component. For now assumed to be just one component - Geometry::ObjComponent* _sampleCache; + ObjComponent* _sampleCache; /// To store info about the parameters defined in IDF. Indexed according to logfile-IDs, which equals logfile filename minus the run number and file extension std::multimap<std::string, boost::shared_ptr<XMLlogfile> > _logfileCache; @@ -220,6 +241,10 @@ namespace Mantid /// Non-const pointer to the parameter map boost::shared_ptr<ParameterMap> m_map_nonconst; + /// the date from which the instrument definition begins to be valid. + Kernel::DateAndTime m_ValidFrom; + /// the date at which the instrument definition is no longer valid. + Kernel::DateAndTime m_ValidTo; }; /// Shared pointer to an instrument object diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/CompAssembly.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/CompAssembly.h index 289ce266cf356b86c5f341d492e3e90315933899..606233d9fef6d420576a9accf3b62a8864efb185 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/CompAssembly.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/CompAssembly.h @@ -76,7 +76,7 @@ public: //! Get a pointer to the ith component within the assembly. Easier to use than [] when you have a pointer boost::shared_ptr<IComponent> getChild(const int i) const; //! Returns a vector of all children contained. - void getChildren(std::vector<boost::shared_ptr<IComponent> > & outVector, bool recursive) const; + void getChildren(std::vector<IComponent_const_sptr> & outVector, bool recursive) const; //! Get a pointer to the ith component in the assembly boost::shared_ptr<IComponent> operator[](int i) const; diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/NearestNeighbours.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/NearestNeighbours.h index abe3e4ddcdb92e37eb9edc3638d6fdd0ab3a67ff..7ca2421d2402d2a4d36922232d09bdb4b0fb3973 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/NearestNeighbours.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/NearestNeighbours.h @@ -24,7 +24,7 @@ namespace Mantid //------------------------------------------------------------------------------ // Forward Declarations //------------------------------------------------------------------------------ - class IInstrument; + class Instrument; class IComponent; class ISpectraDetectorMap; @@ -70,7 +70,7 @@ namespace Mantid { public: /// Constructor with an instrument and a spectra map - NearestNeighbours(boost::shared_ptr<const IInstrument> instrument, + NearestNeighbours(boost::shared_ptr<const Instrument> instrument, const ISpectraDetectorMap & spectraMap); /// Default (empty) destructor virtual ~NearestNeighbours() {}; @@ -97,11 +97,11 @@ namespace Mantid /// Get the spectra associated with all in the instrument std::map<specid_t, IDetector_sptr> - getSpectraDetectors(boost::shared_ptr<const IInstrument> instrument, + getSpectraDetectors(boost::shared_ptr<const Instrument> instrument, const ISpectraDetectorMap & spectraMap); /// A pointer the the instrument - boost::shared_ptr<const IInstrument> m_instrument; + boost::shared_ptr<const Instrument> m_instrument; /// A reference to the spectra map const ISpectraDetectorMap & m_spectraMap; /// The current number of nearest neighbours diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ObjCompAssembly.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ObjCompAssembly.h index f3b59b61fa0019964c8dd27a00d23d55e07bad3a..f18286ff6d196627c960eb7434ae6ccf6f532219 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ObjCompAssembly.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ObjCompAssembly.h @@ -74,7 +74,7 @@ public: //! Get a pointer to the ith component within the assembly. Easier to use than [] when you have a pointer boost::shared_ptr<IComponent> getChild(const int i) const{return (*this)[i];} //! Get all children - void getChildren(std::vector<boost::shared_ptr<IComponent> > & outVector, bool recursive) const; + void getChildren(std::vector<IComponent_const_sptr> & outVector, bool recursive) const; //! Get a pointer to the ith component in the assembly boost::shared_ptr<IComponent> operator[](int i) const; //! Print information about all children diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ParComponentFactory.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ParComponentFactory.h index ba12ff31ddd471038dbb94139e302358d1b933e5..531b3f9df0ac58b08d0e8cdfbbbf5008104b0aa9 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ParComponentFactory.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Instrument/ParComponentFactory.h @@ -18,7 +18,6 @@ namespace Mantid class IComponent; class IDetector; class Detector; - class IInstrument; class Instrument; /** diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/MDGeometry/MDPoint.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/MDGeometry/MDPoint.h index 2c5761bc731ab66f57025c5c090989e0e6125c08..a9b74e4930a8f4d557e6c80bfa92b42bc68c9987 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/MDGeometry/MDPoint.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/MDGeometry/MDPoint.h @@ -33,7 +33,7 @@ //---------------------------------------------------------------------- #include "MantidGeometry/DllConfig.h" #include "MantidGeometry/IDetector.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/MDGeometry/Coordinate.h" #include "MantidGeometry/DllConfig.h" #include <vector> @@ -59,19 +59,19 @@ namespace Mantid private: signal_t m_signal; signal_t m_error; - IInstrument_sptr m_instrument; + Instrument_sptr m_instrument; IDetector_sptr m_detector; std::vector<Coordinate> m_vertexes; int m_runId; public: MDPoint(){}; - MDPoint(signal_t signal, signal_t error, const std::vector<Coordinate>& vertexes, IDetector_sptr detector, IInstrument_sptr instrument, + MDPoint(signal_t signal, signal_t error, const std::vector<Coordinate>& vertexes, IDetector_sptr detector, Instrument_sptr instrument, const int runId = 0); std::vector<Coordinate> getVertexes() const; signal_t getSignal() const; signal_t getError() const; IDetector_sptr getDetector() const; - IInstrument_sptr getInstrument() const; + Instrument_sptr getInstrument() const; int getRunId() const; virtual ~MDPoint(); std::vector<boost::shared_ptr<MDPoint> > getContributingPoints() const; diff --git a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Objects/InstrumentRayTracer.h b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Objects/InstrumentRayTracer.h index bf7b4e17a9e65ce591bc14f8bbc68aecedc8e91b..f68ae1db97c9d7d0dc98a149e485e2c4b940aba7 100644 --- a/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Objects/InstrumentRayTracer.h +++ b/Code/Mantid/Framework/Geometry/inc/MantidGeometry/Objects/InstrumentRayTracer.h @@ -5,7 +5,7 @@ // Includes //------------------------------------------------------------- #include "MantidGeometry/IDetector.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Logger.h" #include <deque> #include <list> @@ -58,7 +58,7 @@ namespace Mantid public: /// Constructor taking an instrument - InstrumentRayTracer(IInstrument_sptr instrument); + InstrumentRayTracer(Instrument_sptr instrument); /// Trace a given track from the instrument source in the given direction /// and compile a list of results that this track intersects. void trace(const Kernel::V3D & direction) const; @@ -76,7 +76,7 @@ namespace Mantid void fireRay(Track & testRay, bool checkInstrumentBB = true) const; /// Pointer to the instrument - IInstrument_sptr m_instrument; + Instrument_sptr m_instrument; /// Accumulate results in this Track object, aids performance. This is cleared when getResults is called. mutable Track m_resultsTrack; /// Logger diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/Instrument.cpp b/Code/Mantid/Framework/Geometry/src/Instrument.cpp similarity index 75% rename from Code/Mantid/Framework/Geometry/src/Instrument/Instrument.cpp rename to Code/Mantid/Framework/Geometry/src/Instrument.cpp index 65876843138ca276c9d450d16d7f5894b8f57e3f..7f83ab68a713578e5d37c6ff4e11ffb529396242 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/Instrument.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument.cpp @@ -1,4 +1,4 @@ -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/V3D.h" #include "MantidKernel/Exception.h" #include "MantidGeometry/Instrument/ParameterMap.h" @@ -21,13 +21,13 @@ namespace Mantid Kernel::Logger& Instrument::g_log = Kernel::Logger::get("Instrument"); /// Default constructor - Instrument::Instrument() : Geometry::CompAssembly(), + Instrument::Instrument() : CompAssembly(), _detectorCache(),_sourceCache(0),_sampleCache(0), m_defaultViewAxis("Z+") {} /// Constructor with name - Instrument::Instrument(const std::string& name) : Geometry::CompAssembly(name), + Instrument::Instrument(const std::string& name) : CompAssembly(name), _detectorCache(),_sourceCache(0),_sampleCache(0), m_defaultViewAxis("Z+") {} @@ -38,11 +38,10 @@ namespace Mantid **/ Instrument::Instrument(const boost::shared_ptr<Instrument> instr, ParameterMap_sptr map) : CompAssembly(instr.get(), map.get() ), - IInstrument(*instr.get()), _sourceCache(instr->_sourceCache), _sampleCache(instr->_sampleCache), m_defaultViewAxis(instr->m_defaultViewAxis), - m_instr(instr), - m_map_nonconst(map) + m_instr(instr), m_map_nonconst(map), + m_ValidFrom(instr->m_ValidFrom), m_ValidTo(instr->m_ValidTo) { } @@ -60,7 +59,7 @@ namespace Mantid * Pointer to the ParameterMap holding the parameters of the modified instrument components. * @return parameter map from modified instrument components */ - Geometry::ParameterMap_sptr Instrument::getParameterMap() const + ParameterMap_sptr Instrument::getParameterMap() const { if (m_isParametrized) return m_map_nonconst; @@ -131,19 +130,19 @@ namespace Mantid * The name must be unique, otherwise the first matching component (getComponentByName) * is used. */ - void Instrument::getDetectorsInBank(std::vector<Geometry::IDetector_sptr> & dets, const std::string & bankName) + void Instrument::getDetectorsInBank(std::vector<IDetector_const_sptr> & dets, const std::string & bankName) const { - boost::shared_ptr<IComponent> comp = this->getComponentByName(bankName); - boost::shared_ptr<ICompAssembly> bank = boost::dynamic_pointer_cast<ICompAssembly>(comp); + boost::shared_ptr<const IComponent> comp = this->getComponentByName(bankName); + boost::shared_ptr<const ICompAssembly> bank = boost::dynamic_pointer_cast<const ICompAssembly>(comp); if (bank) { // Get a vector of children (recursively) - std::vector<boost::shared_ptr<IComponent> > children; + std::vector<boost::shared_ptr<const IComponent> > children; bank->getChildren(children, true); - std::vector<boost::shared_ptr<IComponent> >::iterator it; + std::vector<boost::shared_ptr<const IComponent> >::iterator it; for (it = children.begin(); it != children.end(); it++) { - IDetector_sptr det = boost::dynamic_pointer_cast<IDetector>(*it); + IDetector_const_sptr det = boost::dynamic_pointer_cast<const IDetector>(*it); if (det) { dets.push_back( det ); @@ -195,18 +194,29 @@ namespace Mantid } } + /** Gets the beam direction (i.e. source->sample direction). + * Not virtual because it relies the getSample() & getPos() virtual functions + * @returns A unit vector denoting the direction of the beam + */ + Kernel::V3D Instrument::getBeamDirection() const + { + V3D retval = getSample()->getPos() - getSource()->getPos(); + retval.normalize(); + return retval; + } + //------------------------------------------------------------------------------------------ /** Get a shared pointer to a component by its ID * @param id :: ID * @return A pointer to the component. */ - boost::shared_ptr<Geometry::IComponent> Instrument::getComponentByID(Geometry::ComponentID id) + boost::shared_ptr<IComponent> Instrument::getComponentByID(ComponentID id) { IComponent* base = (IComponent*)(id); if (m_isParametrized) return ParComponentFactory::create(boost::shared_ptr<IComponent>(base,NoDeleting()),m_map); else - return boost::shared_ptr<Geometry::IComponent>(base, NoDeleting()); + return boost::shared_ptr<IComponent>(base, NoDeleting()); } //------------------------------------------------------------------------------------------ @@ -214,13 +224,107 @@ namespace Mantid * @param id :: ID * @return A pointer to the component. */ - boost::shared_ptr<const Geometry::IComponent> Instrument::getComponentByID(Geometry::ComponentID id)const + boost::shared_ptr<const IComponent> Instrument::getComponentByID(ComponentID id) const { IComponent* base = (IComponent*)(id); if (m_isParametrized) return ParComponentFactory::create(boost::shared_ptr<IComponent>(base,NoDeleting()),m_map); else - return boost::shared_ptr<Geometry::IComponent>(base, NoDeleting()); + return boost::shared_ptr<IComponent>(base, NoDeleting()); + } + + /** + * Find a component by name. + * @param cname :: The name of the component. If there are multiple matches, the first one found is returned. + * @returns A shared pointer to the component + */ + boost::shared_ptr<const IComponent> Instrument::getComponentByName(const std::string & cname) const + { + boost::shared_ptr<const IComponent> node = boost::shared_ptr<const IComponent>(this, NoDeleting()); + // Check the instrument name first + if( this->getName() == cname ) + { + return node; + } + // Otherwise Search the instrument tree using a breadth-first search algorithm since most likely candidates + // are higher-level components + // I found some useful info here http://www.cs.bu.edu/teaching/c/tree/breadth-first/ + std::deque<boost::shared_ptr<const IComponent> > nodeQueue; + // Need to be able to enter the while loop + nodeQueue.push_back(node); + while( !nodeQueue.empty() ) + { + node = nodeQueue.front(); + nodeQueue.pop_front(); + int nchildren(0); + boost::shared_ptr<const ICompAssembly> asmb = boost::dynamic_pointer_cast<const ICompAssembly>(node); + if( asmb ) + { + nchildren = asmb->nelements(); + } + for( int i = 0; i < nchildren; ++i ) + { + boost::shared_ptr<const IComponent> comp = (*asmb)[i]; + if( comp->getName() == cname ) + { + return comp; + } + else + { + nodeQueue.push_back(comp); + } + } + }// while-end + + // If we have reached here then the search failed + return boost::shared_ptr<const IComponent>(); + } + + /** Find all components in an Instrument Definition File (IDF) with a given name. If you know a component + * has a unique name use instead getComponentByName(), which is as fast or faster for retrieving a uniquely + * named component. + * @param cname :: The name of the component. If there are multiple matches, the first one found is returned. + * @returns Pointers to components + */ + std::vector<boost::shared_ptr<IComponent> > Instrument::getAllComponentsWithName(const std::string & cname) + { + boost::shared_ptr<IComponent> node = boost::shared_ptr<IComponent>(this, NoDeleting()); + std::vector<boost::shared_ptr<IComponent> > retVec; + // Check the instrument name first + if( this->getName() == cname ) + { + retVec.push_back(node); + } + // Same algorithm as used in getComponentByName() but searching the full tree + std::deque<boost::shared_ptr<IComponent> > nodeQueue; + // Need to be able to enter the while loop + nodeQueue.push_back(node); + while( !nodeQueue.empty() ) + { + node = nodeQueue.front(); + nodeQueue.pop_front(); + int nchildren(0); + boost::shared_ptr<ICompAssembly> asmb = boost::dynamic_pointer_cast<ICompAssembly>(node); + if( asmb ) + { + nchildren = asmb->nelements(); + } + for( int i = 0; i < nchildren; ++i ) + { + boost::shared_ptr<IComponent> comp = (*asmb)[i]; + if( comp->getName() == cname ) + { + retVec.push_back(comp); + } + else + { + nodeQueue.push_back(comp); + } + } + }// while-end + + // If we have reached here then the search failed + return retVec; } /** Gets a pointer to the detector from its ID @@ -231,7 +335,7 @@ namespace Mantid * @returns A pointer to the detector object * @throw NotFoundError If no detector is found for the detector ID given */ - Geometry::IDetector_sptr Instrument::getDetector(const detid_t &detector_id) const + IDetector_sptr Instrument::getDetector(const detid_t &detector_id) const { if (m_isParametrized) { @@ -240,7 +344,7 @@ namespace Mantid } else { - std::map<detid_t, Geometry::IDetector_sptr >::const_iterator it = _detectorCache.find(detector_id); + std::map<detid_t, IDetector_sptr >::const_iterator it = _detectorCache.find(detector_id); if ( it == _detectorCache.end() ) { g_log.debug() << "Detector with ID " << detector_id << " not found." << std::endl; @@ -284,7 +388,7 @@ namespace Mantid */ std::vector<IDetector_sptr> Instrument::getDetectors(const std::vector<detid_t> &det_ids) const { - std::vector<Geometry::IDetector_sptr> dets_ptr; + std::vector<IDetector_sptr> dets_ptr; dets_ptr.reserve(det_ids.size()); std::vector<detid_t>::const_iterator it; for ( it = det_ids.begin(); it != det_ids.end(); ++it ) @@ -300,7 +404,7 @@ namespace Mantid */ std::vector<IDetector_sptr> Instrument::getDetectors(const std::set<detid_t> &det_ids) const { - std::vector<Geometry::IDetector_sptr> dets_ptr; + std::vector<IDetector_sptr> dets_ptr; dets_ptr.reserve(det_ids.size()); std::set<detid_t>::const_iterator it; for ( it = det_ids.begin(); it != det_ids.end(); ++it ) @@ -316,7 +420,7 @@ namespace Mantid * @return A pointer to the detector object * @throw NotFoundError If no monitor is found for the detector ID given */ - Geometry::IDetector_sptr Instrument::getMonitor(const int &detector_id)const + IDetector_sptr Instrument::getMonitor(const int &detector_id)const { //No parametrized monitors - I guess .... @@ -329,7 +433,7 @@ namespace Mantid readInt << detector_id; throw Kernel::Exception::NotFoundError("Instrument: Detector with ID " + readInt.str() + " not found.",""); } - Geometry::IDetector_sptr monitor=getDetector(detector_id); + IDetector_sptr monitor=getDetector(detector_id); return monitor; } @@ -339,9 +443,9 @@ namespace Mantid * @param name :: the name of the object requested (case insensitive) * @returns a pointer to the component */ - Geometry::IComponent* Instrument::getChild(const std::string& name) const + IComponent* Instrument::getChild(const std::string& name) const { - Geometry::IComponent *retVal = 0; + IComponent *retVal = 0; std::string searchName = name; std::transform(searchName.begin(), searchName.end(), searchName.begin(), toupper); @@ -349,7 +453,7 @@ namespace Mantid for (int i = 0; i < noOfChildren; i++) { //The proper (parametrized or not) component will be returned by [i] operator. - Geometry::IComponent *loopPtr = (*this)[i].get(); + IComponent *loopPtr = (*this)[i].get(); std::string loopName = loopPtr->getName(); std::transform(loopName.begin(), loopName.end(), loopName.begin(), toupper); if (loopName == searchName) @@ -374,7 +478,7 @@ namespace Mantid * * @param comp :: Component to be marked (stored for later retrievel) as a "SamplePos" Component */ - void Instrument::markAsSamplePos(Geometry::ObjComponent* comp) + void Instrument::markAsSamplePos(ObjComponent* comp) { if (m_isParametrized) throw std::runtime_error("Instrument::markAsSamplePos() called on a parametrized Instrument object."); @@ -391,7 +495,7 @@ namespace Mantid * * @param comp :: Component to be marked (stored for later retrievel) as a "source" Component */ - void Instrument::markAsSource(Geometry::ObjComponent* comp) + void Instrument::markAsSource(ObjComponent* comp) { if (m_isParametrized) throw std::runtime_error("Instrument::markAsSource() called on a parametrized Instrument object."); @@ -408,14 +512,14 @@ namespace Mantid * @param det :: Component to be marked (stored for later retrievel) as a detector Component * */ - void Instrument::markAsDetector(Geometry::IDetector* det) + void Instrument::markAsDetector(IDetector* det) { if (m_isParametrized) throw std::runtime_error("Instrument::markAsDetector() called on a parametrized Instrument object."); //Create a (non-deleting) shared pointer to it - Geometry::IDetector_sptr det_sptr = Geometry::IDetector_sptr(det, NoDeleting() ); - if ( !_detectorCache.insert( std::map<int, Geometry::IDetector_sptr >::value_type(det->getID(), det_sptr) ).second ) + IDetector_sptr det_sptr = IDetector_sptr(det, NoDeleting() ); + if ( !_detectorCache.insert( std::map<int, IDetector_sptr >::value_type(det->getID(), det_sptr) ).second ) { std::stringstream convert; convert << det->getID(); @@ -430,7 +534,7 @@ namespace Mantid * * @throw Exception::ExistsError if cannot add detector to cache */ - void Instrument::markAsMonitor(Geometry::IDetector* det) + void Instrument::markAsMonitor(IDetector* det) { if (m_isParametrized) throw std::runtime_error("Instrument::markAsMonitor() called on a parametrized Instrument object."); @@ -439,7 +543,7 @@ namespace Mantid markAsDetector(det); // mark detector as a monitor - Geometry::Detector *d = dynamic_cast<Geometry::Detector*>(det); + Detector *d = dynamic_cast<Detector*>(det); if (d) { d->markAsMonitor(); @@ -522,21 +626,21 @@ namespace Mantid } - IInstrument::plottables_const_sptr Instrument::getPlottable() const + boost::shared_ptr<const std::vector<IObjComponent_const_sptr> > Instrument::getPlottable() const { if (m_isParametrized) { // Get the 'base' plottable components - IInstrument::plottables_const_sptr objs = m_instr->getPlottable(); + boost::shared_ptr<const std::vector<IObjComponent_const_sptr> > objs = m_instr->getPlottable(); // Get a reference to the underlying vector, casting away the constness so that we // can modify it to get our result rather than creating another long vector - IInstrument::plottables & res = const_cast<IInstrument::plottables&>(*objs); - const plottables::size_type total = res.size(); - for(plottables::size_type i = 0; i < total; ++i) + std::vector<IObjComponent_const_sptr> & res = const_cast<std::vector<IObjComponent_const_sptr>&>(*objs); + const std::vector<IObjComponent_const_sptr>::size_type total = res.size(); + for(std::vector<IObjComponent_const_sptr>::size_type i = 0; i < total; ++i) { - res[i] = boost::dynamic_pointer_cast<const Detector>( - ParComponentFactory::create(objs->at(i), m_map)); + res[i] = boost::dynamic_pointer_cast<const Detector>( + ParComponentFactory::create(objs->at(i), m_map)); } return objs; @@ -544,7 +648,7 @@ namespace Mantid else { // Base instrument - boost::shared_ptr<std::vector<Geometry::IObjComponent_const_sptr> > res( new std::vector<Geometry::IObjComponent_const_sptr> ); + boost::shared_ptr<std::vector<IObjComponent_const_sptr> > res( new std::vector<IObjComponent_const_sptr> ); res->reserve(_detectorCache.size()+10); appendPlottable(*this,*res); return res; @@ -553,21 +657,21 @@ namespace Mantid } - void Instrument::appendPlottable(const Geometry::CompAssembly& ca,std::vector<Geometry::IObjComponent_const_sptr>& lst) const + void Instrument::appendPlottable(const CompAssembly& ca,std::vector<IObjComponent_const_sptr>& lst) const { for(int i=0;i<ca.nelements();i++) { - Geometry::IComponent* c = ca[i].get(); - Geometry::CompAssembly* a = dynamic_cast<Geometry::CompAssembly*>(c); + IComponent* c = ca[i].get(); + CompAssembly* a = dynamic_cast<CompAssembly*>(c); if (a) appendPlottable(*a,lst); else { - Geometry::Detector* d = dynamic_cast<Geometry::Detector*>(c); - Geometry::ObjComponent* o = dynamic_cast<Geometry::ObjComponent*>(c); + Detector* d = dynamic_cast<Detector*>(c); + ObjComponent* o = dynamic_cast<ObjComponent*>(c); if (d) - lst.push_back(Geometry::IObjComponent_const_sptr(d,NoDeleting())); + lst.push_back(IObjComponent_const_sptr(d,NoDeleting())); else if (o) - lst.push_back(Geometry::IObjComponent_const_sptr(o,NoDeleting())); + lst.push_back(IObjComponent_const_sptr(o,NoDeleting())); else g_log.error()<<"Unknown comp type\n"; } @@ -609,7 +713,7 @@ namespace Mantid const Kernel::V3D &beamline, const double beamline_norm, const Kernel::V3D &samplePos, - const Geometry::IDetector_const_sptr &det, + const IDetector_const_sptr &det, const double offset, bool vulcancorrection) { @@ -647,7 +751,7 @@ namespace Mantid const Kernel::V3D &beamline, const double beamline_norm, const Kernel::V3D &samplePos, - const IInstrument_const_sptr &instrument, + const Instrument_const_sptr &instrument, const std::vector<detid_t> &detectors, const std::map<detid_t,double> &offsets, bool vulcancorrection) @@ -685,7 +789,7 @@ namespace Mantid double & beamline_norm, Kernel::V3D & samplePos) const { // Get some positions - const Geometry::IObjComponent_sptr sourceObj = this->getSource(); + const IObjComponent_sptr sourceObj = this->getSource(); if (sourceObj == NULL) { throw Exception::InstrumentDefinitionError("Failed to get source component from instrument"); @@ -696,7 +800,7 @@ namespace Mantid beamline_norm=2.0*beamline.norm(); // Get the distance between the source and the sample (assume in metres) - Geometry::IObjComponent_const_sptr sample = this->getSample(); + IObjComponent_const_sptr sample = this->getSample(); try { l1 = this->getSource()->getDistance(*sample); diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp b/Code/Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp index 174ef9dcecf38885e97f7fdb227cd7f8bcb5be57..95379017fb3ce3cbf3ca7d3f2c6c7a81dff96892 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument/CompAssembly.cpp @@ -226,7 +226,7 @@ boost::shared_ptr<IComponent> CompAssembly::operator[](int i) const * @param outVector :: vector of IComponent sptr. * @param recursive :: if a child is a CompAssembly, returns its children recursively */ -void CompAssembly::getChildren(std::vector<boost::shared_ptr<IComponent> > & outVector, bool recursive) const +void CompAssembly::getChildren(std::vector<IComponent_const_sptr> & outVector, bool recursive) const { for (int i=0; i < this->nelements(); i++) { diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/NearestNeighbours.cpp b/Code/Mantid/Framework/Geometry/src/Instrument/NearestNeighbours.cpp index 203dad74dc1b3ffcbc2cd86790b0a0e3fc19ca3f..2e42d81104d7f11bf364a11ad448dd65a05b5b42 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/NearestNeighbours.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument/NearestNeighbours.cpp @@ -2,7 +2,7 @@ // Includes //------------------------------------------------------------------------------ #include "MantidGeometry/Instrument/NearestNeighbours.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/ISpectraDetectorMap.h" #include "MantidGeometry/Instrument/DetectorGroup.h" // Nearest neighbours library @@ -18,10 +18,10 @@ namespace Mantid /** * Constructor - * @param instrument :: A shared pointer to IInstrument object + * @param instrument :: A shared pointer to Instrument object * @param spectraMap :: A reference to the spectra-detector mapping */ - NearestNeighbours::NearestNeighbours(IInstrument_const_sptr instrument, + NearestNeighbours::NearestNeighbours(Instrument_const_sptr instrument, const ISpectraDetectorMap & spectraMap) : m_instrument(instrument), m_spectraMap(spectraMap), m_noNeighbours(8), m_cutoff(-DBL_MAX), m_scale() { @@ -221,7 +221,7 @@ namespace Mantid * @returns A map of spectra number to detector pointer */ std::map<specid_t, IDetector_sptr> - NearestNeighbours::getSpectraDetectors(IInstrument_const_sptr instrument, + NearestNeighbours::getSpectraDetectors(Instrument_const_sptr instrument, const ISpectraDetectorMap & spectraMap) { std::map<specid_t, IDetector_sptr> spectra; diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/ObjCompAssembly.cpp b/Code/Mantid/Framework/Geometry/src/Instrument/ObjCompAssembly.cpp index 8f3d70bf741c53fa0a4147d9aa830356645decb7..c459591d6e884cb0f4a36462399fd7c85cc379f0 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/ObjCompAssembly.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument/ObjCompAssembly.cpp @@ -229,7 +229,7 @@ boost::shared_ptr<IComponent> ObjCompAssembly::operator[](int i) const * @param outVector :: vector of IComponent sptr. * @param recursive :: if a child is a CompAssembly, returns its children recursively */ -void ObjCompAssembly::getChildren(std::vector<boost::shared_ptr<IComponent> > & outVector, bool recursive) const +void ObjCompAssembly::getChildren(std::vector<IComponent_const_sptr> & outVector, bool recursive) const { for (int i=0; i < this->nelements(); i++) { diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/ParComponentFactory.cpp b/Code/Mantid/Framework/Geometry/src/Instrument/ParComponentFactory.cpp index 54e000277eac098d368d854c78fd9c5abcca1c55..22b461c7e31ee355ceb61459f6cf19aef629aa91 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/ParComponentFactory.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument/ParComponentFactory.cpp @@ -1,7 +1,7 @@ #include "MantidGeometry/Instrument/CompAssembly.h" #include "MantidGeometry/Instrument/Component.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/ObjCompAssembly.h" #include "MantidGeometry/Instrument/ObjComponent.h" #include "MantidGeometry/Instrument/ParComponentFactory.h" diff --git a/Code/Mantid/Framework/Geometry/src/Instrument/ParameterMap.cpp b/Code/Mantid/Framework/Geometry/src/Instrument/ParameterMap.cpp index 7098bf0f746ef290c1a968ffc3a74e64c55a4ecd..5356eed3132625f2a1d2dbbc1348adb94b116243 100644 --- a/Code/Mantid/Framework/Geometry/src/Instrument/ParameterMap.cpp +++ b/Code/Mantid/Framework/Geometry/src/Instrument/ParameterMap.cpp @@ -3,7 +3,7 @@ #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Instrument/NearestNeighbours.h" #include "MantidKernel/MultiThreaded.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <cstring> namespace Mantid diff --git a/Code/Mantid/Framework/Geometry/src/MDGeometry/MDPoint.cpp b/Code/Mantid/Framework/Geometry/src/MDGeometry/MDPoint.cpp index 0be14c36a424dd6f3a315471707d08feced0b963..2d2787ebd2736805bb70bf6296b0edab59ae30be 100644 --- a/Code/Mantid/Framework/Geometry/src/MDGeometry/MDPoint.cpp +++ b/Code/Mantid/Framework/Geometry/src/MDGeometry/MDPoint.cpp @@ -5,7 +5,7 @@ namespace Mantid namespace Geometry { MDPoint::MDPoint(signal_t signal, signal_t error, - const std::vector<Coordinate>& vertexes, IDetector_sptr detector, IInstrument_sptr instrument, + const std::vector<Coordinate>& vertexes, IDetector_sptr detector, Instrument_sptr instrument, const int runId) : m_signal(signal), m_error(error), @@ -36,7 +36,7 @@ namespace Mantid return this->m_detector; } - IInstrument_sptr MDPoint::getInstrument() const + Instrument_sptr MDPoint::getInstrument() const { return this->m_instrument; } diff --git a/Code/Mantid/Framework/Geometry/src/InstrumentRayTracer.cpp b/Code/Mantid/Framework/Geometry/src/Objects/InstrumentRayTracer.cpp similarity index 98% rename from Code/Mantid/Framework/Geometry/src/InstrumentRayTracer.cpp rename to Code/Mantid/Framework/Geometry/src/Objects/InstrumentRayTracer.cpp index 1ca1aeaf086e75a123eb7a56db4c05624508572a..3c9460d6c0172ea16a4e08b5f1a810da4ace46b6 100644 --- a/Code/Mantid/Framework/Geometry/src/InstrumentRayTracer.cpp +++ b/Code/Mantid/Framework/Geometry/src/Objects/InstrumentRayTracer.cpp @@ -8,7 +8,6 @@ #include "MantidKernel/Exception.h" #include <deque> #include <iterator> -#include "MantidGeometry/IDetector.h" namespace Mantid { @@ -29,7 +28,7 @@ namespace Mantid * component. * @param instrument :: The instrument to perform the ray tracings on. It must have a defined source. */ - InstrumentRayTracer::InstrumentRayTracer(IInstrument_sptr instrument) : m_instrument(instrument) + InstrumentRayTracer::InstrumentRayTracer(Instrument_sptr instrument) : m_instrument(instrument) { if( !m_instrument ) { diff --git a/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h b/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h index c39e018326996e988729a7caac69c806399c41c2..e0850477c4cd69fa9d8fd79cfa7fc9d788817b11 100644 --- a/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h +++ b/Code/Mantid/Framework/Geometry/test/CompAssemblyTest.h @@ -107,9 +107,9 @@ public: void test_GetChildren_NonRecursive() { - ICompAssembly_sptr bank = setUpGetChildren(); + ICompAssembly_const_sptr bank = setUpGetChildren(); TS_ASSERT_EQUALS(bank->nelements(), 4); - std::vector<IComponent_sptr> kids; + std::vector<IComponent_const_sptr> kids; bank->getChildren(kids, false); TS_ASSERT_EQUALS(kids.size(), 4); TS_ASSERT_EQUALS(kids[0]->getName(), "Det1Name"); @@ -117,9 +117,9 @@ public: void test_GetChildren_Recursive() { - ICompAssembly_sptr bank = setUpGetChildren(); + ICompAssembly_const_sptr bank = setUpGetChildren(); TS_ASSERT_EQUALS(bank->nelements(), 4); - std::vector<IComponent_sptr> kids; + std::vector<IComponent_const_sptr> kids; bank->getChildren(kids, true); TS_ASSERT_EQUALS(kids.size(), 9); TS_ASSERT_EQUALS(kids[0]->getName(), "Det1Name"); diff --git a/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h b/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h index d25ad10594a12c96fdc1a23074403f3d5e0ca98e..35120bcd9fac5d919a4d9905298ea74072e8cbd9 100644 --- a/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h +++ b/Code/Mantid/Framework/Geometry/test/InstrumentRayTracerTest.h @@ -45,25 +45,25 @@ public: void test_That_Constructor_Throws_Invalid_Argument_On_Giving_A_Null_Instrument() { InstrumentRayTracer *rayTracker(NULL); - TS_ASSERT_THROWS(rayTracker = new InstrumentRayTracer(boost::shared_ptr<IInstrument>()), std::invalid_argument); + TS_ASSERT_THROWS(rayTracker = new InstrumentRayTracer(boost::shared_ptr<Instrument>()), std::invalid_argument); } void test_That_Constructor_Throws_Invalid_Argument_On_Giving_An_Instrument_With_No_Source() { - IInstrument_sptr testInst(new Instrument("empty")); + Instrument_sptr testInst(new Instrument("empty")); InstrumentRayTracer *rayTracker(NULL); TS_ASSERT_THROWS(rayTracker = new InstrumentRayTracer(testInst), std::invalid_argument); } void test_That_A_Trace_For_A_Ray_That_Intersects_Many_Components_Gives_These_Components_As_A_Result() { - IInstrument_sptr testInst = setupInstrument(); + Instrument_sptr testInst = setupInstrument(); InstrumentRayTracer tracker(testInst); tracker.trace(V3D(0.,0.,1)); Links results = tracker.getResults(); TS_ASSERT_EQUALS(results.size(), 2); // Check they are actually what we expect: 1 with the sample and 1 with the central detector - IComponent_sptr centralPixel = testInst->getComponentByName("pixel-(0,0)"); + IComponent_const_sptr centralPixel = testInst->getComponentByName("pixel-(0,0)"); IComponent_sptr sampleComp = testInst->getSample(); if( !sampleComp ) @@ -112,14 +112,14 @@ public: void test_That_A_Ray_Which_Just_Intersects_One_Component_Gives_This_Component_Only() { - IInstrument_sptr testInst = setupInstrument(); + Instrument_sptr testInst = setupInstrument(); InstrumentRayTracer tracker(testInst); V3D testDir(0.010,0.0,15.004); tracker.trace(testDir); Links results = tracker.getResults(); TS_ASSERT_EQUALS(results.size(), 1); - IComponent * interceptedPixel = testInst->getComponentByName("pixel-(1,0)").get(); + const IComponent * interceptedPixel = testInst->getComponentByName("pixel-(1,0)").get(); Link intersect = results.front(); TS_ASSERT_DELTA(intersect.distFromStart, 15.003468, 1e-6); @@ -149,7 +149,7 @@ public: * @param expectX :: expected x index, -1 if off * @param expectY :: expected y index, -1 if off */ - void doTestRectangularDetector(std::string message, IInstrument_sptr inst, V3D testDir, int expectX, int expectY) + void doTestRectangularDetector(std::string message, Instrument_sptr inst, V3D testDir, int expectX, int expectY) { // std::cout << message << std::endl; InstrumentRayTracer tracker(inst); @@ -181,7 +181,7 @@ public: void test_RectangularDetector() { - IInstrument_sptr inst; + Instrument_sptr inst; inst = ComponentCreationHelper::createTestInstrumentRectangular(1, 100); // Towards the detector lower-left corner @@ -205,7 +205,7 @@ public: } - static void showResults(Links & results, IInstrument_sptr inst) + static void showResults(Links & results, Instrument_sptr inst) { Links::const_iterator resultItr = results.begin(); for (; resultItr != results.end(); resultItr++) @@ -218,7 +218,7 @@ public: private: /// Setup the shared test instrument - IInstrument_sptr setupInstrument() + Instrument_sptr setupInstrument() { if( !m_testInst ) { @@ -230,7 +230,7 @@ private: private: /// Test instrument - IInstrument_sptr m_testInst; + Instrument_sptr m_testInst; }; @@ -247,7 +247,7 @@ class InstrumentRayTracerTestPerformance : public CxxTest::TestSuite { public: /// Test instrument - IInstrument_sptr m_inst; + Instrument_sptr m_inst; Workspace2D_sptr topazWS; // This pair of boilerplate methods prevent the suite being created statically @@ -289,7 +289,7 @@ public: void test_TOPAZ() { bool verbose=false; - IInstrument_sptr inst = topazWS->getInstrument(); + Instrument_sptr inst = topazWS->getInstrument(); // Directly in Z+ = towards the detector center for (int azimuth=0; azimuth < 360; azimuth += 3) for (int elev=-89; elev < 89; elev += 3) diff --git a/Code/Mantid/Framework/Geometry/test/InstrumentTest.h b/Code/Mantid/Framework/Geometry/test/InstrumentTest.h index d906ce52d9af7cdd135736a5eba17c9a6317b6a5..23b5239605ba81fa7588aa4f840dedb22f397179 100644 --- a/Code/Mantid/Framework/Geometry/test/InstrumentTest.h +++ b/Code/Mantid/Framework/Geometry/test/InstrumentTest.h @@ -1,9 +1,8 @@ #ifndef INSTRUMENTTEST_H_ #define INSTRUMENTTEST_H_ -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/DetectorGroup.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Exception.h" #include "MantidTestHelpers/ComponentCreationHelper.h" #include <cxxtest/TestSuite.h> @@ -204,8 +203,8 @@ public: void test_getDetectorsInBank() { // 5 banks with 6x6 pixels in them. - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); - std::vector<IDetector_sptr> dets; + Instrument_const_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); + std::vector<IDetector_const_sptr> dets; inst->getDetectorsInBank(dets, "bank2"); TS_ASSERT_EQUALS(dets.size(), 36); TS_ASSERT_EQUALS(dets[0]->getID(), 36*2); @@ -214,8 +213,8 @@ public: void test_getDetectorsInBank2() { // 5 banks with 9 pixels each - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5, false); - std::vector<IDetector_sptr> dets; + Instrument_const_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5, false); + std::vector<IDetector_const_sptr> dets; inst->getDetectorsInBank(dets, "bank2"); TS_ASSERT_EQUALS(dets.size(), 9); } @@ -223,7 +222,7 @@ public: void test_getDetectors() { // 5 banks with 6x6 pixels in them. - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); detid2det_map dets; inst->getDetectors(dets); TS_ASSERT_EQUALS(dets.size(), 36*5); @@ -232,7 +231,7 @@ public: void test_getDetectorIDs() { // 5 banks with 6x6 pixels in them. - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); std::vector<detid_t> dets; dets = inst->getDetectorIDs(); TS_ASSERT_EQUALS(dets.size(), 36*5); @@ -240,7 +239,7 @@ public: void test_getValidFromDate() { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(5, 6); Kernel::DateAndTime validFrom("1900-01-31T23:59:59"); Kernel::DateAndTime validTo("2100-01-31 23:59:59"); inst->setValidFromDate(validFrom); diff --git a/Code/Mantid/Framework/Geometry/test/MDPointTest.h b/Code/Mantid/Framework/Geometry/test/MDPointTest.h index e1f9f714b1559c6ac209922dc9f600850bed0f82..13a8d649d1036aea914fc2b8305c024ba0894ce4 100644 --- a/Code/Mantid/Framework/Geometry/test/MDPointTest.h +++ b/Code/Mantid/Framework/Geometry/test/MDPointTest.h @@ -4,7 +4,7 @@ #include <cxxtest/TestSuite.h> #include "MantidGeometry/MDGeometry/MDPoint.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/IComponent.h" #include "MantidKernel/V3D.h" #include <boost/scoped_ptr.hpp> @@ -38,7 +38,7 @@ private: Coordinate c = Coordinate::createCoordinate4D(1, 2, 3, 4); vertexes.push_back(c); IDetector_sptr detector = IDetector_sptr(new DummyDetector("dummydetector")); - IInstrument_sptr instrument = IInstrument_sptr(new DummyInstrument("dummyinstrument")); + Instrument_sptr instrument = Instrument_sptr(new DummyInstrument("dummyinstrument")); return new MDPoint(1, 0.1, vertexes, detector, instrument); } diff --git a/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h b/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h index f04995a6d2d722296c1512e3e8ec633090c64138..bcc17e6a2767c3fa8cea719acf1e5290c88aeb99 100644 --- a/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h +++ b/Code/Mantid/Framework/Geometry/test/NearestNeighboursTest.h @@ -2,9 +2,8 @@ #define MANTID_TEST_GEOMETRY_NEARESTNEIGHBOURS #include "MantidGeometry/IDetector.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/NearestNeighbours.h" #include "MantidGeometry/Instrument/OneToOneSpectraDetectorMap.h" #include "MantidGeometry/Instrument/ParameterMap.h" @@ -101,8 +100,8 @@ public: TS_ASSERT_EQUALS( m_instrument->getDetectorIDs().size(), 512); - RectangularDetector_sptr bank1 = boost::dynamic_pointer_cast<RectangularDetector>(m_instrument->getComponentByName("bank1")); - boost::shared_ptr<Detector> det = bank1->getAtXY(2,3); + RectangularDetector_const_sptr bank1 = boost::dynamic_pointer_cast<const RectangularDetector>(m_instrument->getComponentByName("bank1")); + boost::shared_ptr<const Detector> det = bank1->getAtXY(2,3); TS_ASSERT( det ); std::map<specid_t, double> nb; diff --git a/Code/Mantid/Framework/Geometry/test/ParComponentFactoryTest.h b/Code/Mantid/Framework/Geometry/test/ParComponentFactoryTest.h index 2ef7b829fc017ce48ec2b3dd00034aa26bef0eaa..fd4bf0f77897649b16c25c32fb48bdf9752ffbd5 100644 --- a/Code/Mantid/Framework/Geometry/test/ParComponentFactoryTest.h +++ b/Code/Mantid/Framework/Geometry/test/ParComponentFactoryTest.h @@ -19,7 +19,7 @@ public: void test_createDetector() { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); IDetector_sptr idet = inst->getDetector(1); Detector * det = boost::dynamic_pointer_cast<Detector>(idet).get(); ParameterMap * map = new ParameterMap(); @@ -31,7 +31,7 @@ public: void test_createInstrument() { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(1); ParameterMap_sptr map(new ParameterMap()); Instrument_sptr pinst; diff --git a/Code/Mantid/Framework/Geometry/test/ParInstrumentTest.h b/Code/Mantid/Framework/Geometry/test/ParInstrumentTest.h index e65315656c06b2674978eb8f4a9c18e767b0b15e..fc0010e50c54da997e3152dc58707c7f1384e7b9 100644 --- a/Code/Mantid/Framework/Geometry/test/ParInstrumentTest.h +++ b/Code/Mantid/Framework/Geometry/test/ParInstrumentTest.h @@ -3,7 +3,7 @@ #include <cxxtest/TestSuite.h> -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/Exception.h" #include "MantidGeometry/Instrument/DetectorGroup.h" #include "MantidKernel/cow_ptr.h" diff --git a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDFitWorkspace.cpp b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDFitWorkspace.cpp index 29eb7cb0abd3eec2335ab4dd188c528e01429a6f..5e42a313fbfd782de25cab9dd79d558fc0a5d3a8 100644 --- a/Code/Mantid/Framework/MDAlgorithms/src/CreateMDFitWorkspace.cpp +++ b/Code/Mantid/Framework/MDAlgorithms/src/CreateMDFitWorkspace.cpp @@ -89,10 +89,10 @@ namespace Mantid for(int i = 1; i < n; ++i) { double s = double(rand()) / RAND_MAX * signal * 0.75; - points[i].reset(new MDPoint(s,error,std::vector<Coordinate>(),IDetector_sptr(),IInstrument_sptr())); + points[i].reset(new MDPoint(s,error,std::vector<Coordinate>(),IDetector_sptr(),Instrument_sptr())); signal -= s; } - points[0].reset(new MDPoint(signal,error,std::vector<Coordinate>(),IDetector_sptr(),IInstrument_sptr())); + points[0].reset(new MDPoint(signal,error,std::vector<Coordinate>(),IDetector_sptr(),Instrument_sptr())); size_t i = it->getPointer(); ws->setCell(i,points); } diff --git a/Code/Mantid/Framework/MDAlgorithms/test/CobaltSWDTest.h b/Code/Mantid/Framework/MDAlgorithms/test/CobaltSWDTest.h index 3e8c349d937eff67af00a5a72e89d9ba6cb4a3c0..3c91b08c98939a0caea4206f01c9d2d6f0b343b4 100644 --- a/Code/Mantid/Framework/MDAlgorithms/test/CobaltSWDTest.h +++ b/Code/Mantid/Framework/MDAlgorithms/test/CobaltSWDTest.h @@ -24,7 +24,7 @@ #include "MantidAPI/IMDWorkspace.h" #include "MantidAPI/IMDIterator.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <math.h> #include <cmath> @@ -299,7 +299,7 @@ private: Coordinate c = Coordinate::createCoordinate4D(x, y, z, t); vertices.push_back(c); IDetector_sptr detector = IDetector_sptr(new DummyDetector("dummydetector")); - IInstrument_sptr instrument = IInstrument_sptr(new DummyInstrument("dummyinstrument")); + Instrument_sptr instrument = Instrument_sptr(new DummyInstrument("dummyinstrument")); return new MDPoint(s, e, vertices, detector, instrument); } diff --git a/Code/Mantid/Framework/MDAlgorithms/test/QuadEnBackgroundTest.h b/Code/Mantid/Framework/MDAlgorithms/test/QuadEnBackgroundTest.h index e2162717f1f1d515cb5e46e069557dcd4f236bc4..749cf7af40c816f5b8af0f5be35d49609e5a2b62 100644 --- a/Code/Mantid/Framework/MDAlgorithms/test/QuadEnBackgroundTest.h +++ b/Code/Mantid/Framework/MDAlgorithms/test/QuadEnBackgroundTest.h @@ -24,7 +24,7 @@ #include "MantidAPI/IMDWorkspace.h" #include "MantidAPI/IMDIterator.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidMDAlgorithms/QuadEnBackground.h" #include <math.h> @@ -297,7 +297,7 @@ private: Coordinate c = Coordinate::createCoordinate4D(x, y, z, t); vertices.push_back(c); IDetector_sptr detector = IDetector_sptr(new DummyDetector("dummydetector")); - IInstrument_sptr instrument = IInstrument_sptr(new DummyInstrument("dummyinstrument")); + Instrument_sptr instrument = Instrument_sptr(new DummyInstrument("dummyinstrument")); return new MDPoint(s, e, vertices, detector, instrument); } diff --git a/Code/Mantid/Framework/MDAlgorithms/test/SimulateMDDataTest.h b/Code/Mantid/Framework/MDAlgorithms/test/SimulateMDDataTest.h index c098c724ce224fa31e97d0d015deef0baa5ccaaf..7c430956e460f629d06ae4d7c420c2263a07660c 100644 --- a/Code/Mantid/Framework/MDAlgorithms/test/SimulateMDDataTest.h +++ b/Code/Mantid/Framework/MDAlgorithms/test/SimulateMDDataTest.h @@ -10,7 +10,7 @@ #include "MantidGeometry/MDGeometry/MDCell.h" #include "MantidAPI/IMDWorkspace.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidMDAlgorithms/SimulateMDD.h" using namespace Mantid::API; @@ -216,7 +216,7 @@ private: Coordinate c = Coordinate::createCoordinate4D(x, y, z, t); vertices.push_back(c); IDetector_sptr detector = IDetector_sptr(new DummyDetector("dummydetector")); - IInstrument_sptr instrument = IInstrument_sptr(new DummyInstrument("dummyinstrument")); + Instrument_sptr instrument = Instrument_sptr(new DummyInstrument("dummyinstrument")); return new MDPoint(s, e, vertices, detector, instrument); } diff --git a/Code/Mantid/Framework/MDAlgorithms/test/TobyFitSimulateTest.h b/Code/Mantid/Framework/MDAlgorithms/test/TobyFitSimulateTest.h index dd2fe5522467be9628fe34e4f9d4d06718131e41..3fe36ce625ea2d4d5412aac6860673182ad1b109 100644 --- a/Code/Mantid/Framework/MDAlgorithms/test/TobyFitSimulateTest.h +++ b/Code/Mantid/Framework/MDAlgorithms/test/TobyFitSimulateTest.h @@ -10,7 +10,7 @@ #include "MantidGeometry/MDGeometry/MDCell.h" #include "MantidAPI/IMDWorkspace.h" #include "MantidGeometry/Instrument/Detector.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidMDAlgorithms/TobyFitSimulate.h" using namespace Mantid::API; @@ -215,7 +215,7 @@ private: Coordinate c = Coordinate::createCoordinate4D(x, y, z, t); vertices.push_back(c); IDetector_sptr detector = IDetector_sptr(new DummyDetector("dummydetector")); - IInstrument_sptr instrument = IInstrument_sptr(new DummyInstrument("dummyinstrument")); + Instrument_sptr instrument = Instrument_sptr(new DummyInstrument("dummyinstrument")); return new MDPoint(s, e, vertices, detector, instrument); } diff --git a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDFitWorkspace.h b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDFitWorkspace.h index acd6027908e27531d336ab448ac6fd04450ea7aa..f093bacdb932161cd66eb1be424345abfbed00b9 100644 --- a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDFitWorkspace.h +++ b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDFitWorkspace.h @@ -6,7 +6,7 @@ #include "MantidAPI/IMDWorkspace.h" #include "MantidGeometry/MDGeometry/MDCell.h" #include "MantidGeometry/MDGeometry/MDGeometry.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include <boost/scoped_ptr.hpp> #include <map> @@ -123,7 +123,7 @@ namespace Mantid /// Get the geometry xml. virtual std::string getGeometryXML() const{return "";} - void setInstrument(const Mantid::Geometry::IInstrument_sptr& instr); + void setInstrument(const Geometry::Instrument_sptr& instr); /// Creates a new iterator pointing to the first cell in the workspace virtual API::IMDIterator* createIterator() const; diff --git a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDWorkspace.h b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDWorkspace.h index 6ae3f153aa04adf7b307c0eada1c0e5b01b0466b..8edc972d98985886cc966a94d1258330beb2a930 100644 --- a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDWorkspace.h +++ b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/MDWorkspace.h @@ -8,7 +8,7 @@ #include "MDDataObjects/IMD_FileFormat.h" #include "MantidGeometry/MDGeometry/MDGeometry.h" #include "MantidGeometry/MDGeometry/MDDimension.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" /** MD-workspace -> main class which keeps all data objects necessary for work with @@ -174,7 +174,7 @@ namespace Mantid /// Get the geometry xml. virtual std::string getGeometryXML() const; - void setInstrument(const Mantid::Geometry::IInstrument_sptr& instr); + void setInstrument(const Geometry::Instrument_sptr& instr); /// Creates a new iterator pointing to the first cell in the workspace Mantid::API::IMDIterator* createIterator() const; diff --git a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/PrecompiledHeader.h b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/PrecompiledHeader.h index bc6a4519d35182315ecc77759a55fc502c3f6ff2..88b2f5837fee06f25511c491e458c9c469da0fdb 100644 --- a/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/PrecompiledHeader.h +++ b/Code/Mantid/Framework/MDDataObjects/inc/MDDataObjects/PrecompiledHeader.h @@ -7,7 +7,7 @@ #include "MantidAPI/IMDWorkspace.h" #include "MantidGeometry/MDGeometry/MDGeometry.h" #include "MantidGeometry/MDGeometry/MDDimension.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" //STL #include <vector> diff --git a/Code/Mantid/Framework/MDDataObjects/src/MDFitWorkspace.cpp b/Code/Mantid/Framework/MDDataObjects/src/MDFitWorkspace.cpp index 179542288cfe4b87e015521ef4a6ca1e44d14a1e..68f7f21759dd9ad4aa6ee5093effa6994de9d7cc 100644 --- a/Code/Mantid/Framework/MDDataObjects/src/MDFitWorkspace.cpp +++ b/Code/Mantid/Framework/MDDataObjects/src/MDFitWorkspace.cpp @@ -48,7 +48,7 @@ namespace Mantid{ return m_cells.size()*sizeof(MDCell) + m_points.size()*(2*sizeof(void*)+sizeof(MDPoint)); } - void MDFitWorkspace::setInstrument(const IInstrument_sptr& instr) + void MDFitWorkspace::setInstrument(const Instrument_sptr& instr) { boost::shared_ptr<Instrument> tmp = boost::dynamic_pointer_cast<Instrument>(instr); if (tmp->isParametrized()) diff --git a/Code/Mantid/Framework/MDDataObjects/src/MDWorkspace.cpp b/Code/Mantid/Framework/MDDataObjects/src/MDWorkspace.cpp index 0a3936f9ab9bf5bfbe535ce3f4aa0633092ad758..6782fe90eeaff69137424a97bfee1ad99d83a698 100644 --- a/Code/Mantid/Framework/MDDataObjects/src/MDWorkspace.cpp +++ b/Code/Mantid/Framework/MDDataObjects/src/MDWorkspace.cpp @@ -117,7 +117,7 @@ MDWorkspace::MDWorkspace(unsigned int nDimensions, unsigned int nRecDims) } // - void MDWorkspace::setInstrument(const IInstrument_sptr& instr) + void MDWorkspace::setInstrument(const Instrument_sptr& instr) { boost::shared_ptr<Instrument> tmp = boost::dynamic_pointer_cast<Instrument>(instr); if (tmp->isParametrized()) diff --git a/Code/Mantid/Framework/MDDataObjects/test/MDFitWorkspaceTest.h b/Code/Mantid/Framework/MDDataObjects/test/MDFitWorkspaceTest.h index 40258b5e8733e19579bcf703301624bbf59d19ab..150055515bb09e0f6068a2a14467a996ca5de472 100644 --- a/Code/Mantid/Framework/MDDataObjects/test/MDFitWorkspaceTest.h +++ b/Code/Mantid/Framework/MDDataObjects/test/MDFitWorkspaceTest.h @@ -31,8 +31,8 @@ public: do { std::vector<boost::shared_ptr<Mantid::Geometry::MDPoint> > points(2); - points[0].reset(new MDPoint(double(rand() % 100),1.0,std::vector<Coordinate>(),IDetector_sptr(),IInstrument_sptr())); - points[1].reset(new MDPoint(double(rand() % 100),1.0,std::vector<Coordinate>(),IDetector_sptr(),IInstrument_sptr())); + points[0].reset(new MDPoint(double(rand() % 100),1.0,std::vector<Coordinate>(),IDetector_sptr(),Instrument_sptr())); + points[1].reset(new MDPoint(double(rand() % 100),1.0,std::vector<Coordinate>(),IDetector_sptr(),Instrument_sptr())); size_t i = it->getPointer(); ws.setCell(i,points); } diff --git a/Code/Mantid/Framework/MDEvents/src/MDEWFindPeaks.cpp b/Code/Mantid/Framework/MDEvents/src/MDEWFindPeaks.cpp index a0b58f618f073d55bcc3b7b4495c9e890ac680d4..6a56d9685e17b05b2f1cbbc5142b234054a8a458 100644 --- a/Code/Mantid/Framework/MDEvents/src/MDEWFindPeaks.cpp +++ b/Code/Mantid/Framework/MDEvents/src/MDEWFindPeaks.cpp @@ -4,12 +4,10 @@ #include "MantidMDEvents/MDEventFactory.h" #include <vector> #include <map> -#include "MantidGeometry/IInstrument.h" using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid::DataObjects; -using Mantid::Geometry::IInstrument_sptr; namespace Mantid { @@ -109,7 +107,7 @@ namespace MDEvents // TODO: Do we need to pick a different instrument info? ExperimentInfo_sptr ei = ws->getExperimentInfo(0); // Instrument associated with workspace - IInstrument_sptr inst = ei->getInstrument(); + Geometry::Instrument_sptr inst = ei->getInstrument(); // Calculate a threshold below which a box is too diffuse to be considered a peak. signal_t thresholdDensity = 0.0; diff --git a/Code/Mantid/Framework/MDEvents/test/MDCentroidPeaksTest.h b/Code/Mantid/Framework/MDEvents/test/MDCentroidPeaksTest.h index e95663e239fb147cbab84d3076cd0c9ba141c50c..d375479e87a6e8f81584f2432265dab128b1205e 100644 --- a/Code/Mantid/Framework/MDEvents/test/MDCentroidPeaksTest.h +++ b/Code/Mantid/Framework/MDEvents/test/MDCentroidPeaksTest.h @@ -5,7 +5,6 @@ #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/IMDEventWorkspace.h" #include "MantidDataObjects/PeaksWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/MDGeometry/MDHistoDimension.h" #include "MantidKernel/System.h" #include "MantidKernel/Timer.h" @@ -83,7 +82,7 @@ public: std::string OutputWorkspace = "MDCentroidPeaksTest_Peaks") { // Make a fake instrument - doesn't matter, we won't use it really - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); // --- Make a fake PeaksWorkspace in the given coordinate space --- PeaksWorkspace_sptr peakWS(new PeaksWorkspace()); diff --git a/Code/Mantid/Framework/MDEvents/test/MDEWFindPeaksTest.h b/Code/Mantid/Framework/MDEvents/test/MDEWFindPeaksTest.h index 000ede6a1ae8294f50ec11f8edd553d43e28b7cc..e3610e1ba03fad07c7dd645dc149c8842bbae971 100644 --- a/Code/Mantid/Framework/MDEvents/test/MDEWFindPeaksTest.h +++ b/Code/Mantid/Framework/MDEvents/test/MDEWFindPeaksTest.h @@ -2,7 +2,6 @@ #define MANTID_MDEVENTS_MDEWFINDPEAKSTEST_H_ #include "MantidDataObjects/PeaksWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/System.h" #include "MantidKernel/Timer.h" #include "MantidMDEvents/MDEWFindPeaks.h" @@ -16,7 +15,7 @@ using namespace Mantid::MDEvents; using namespace Mantid::API; using namespace Mantid::DataObjects; -using Mantid::Geometry::IInstrument_sptr; +using Mantid::Geometry::Instrument_sptr; class MDEWFindPeaksTest : public CxxTest::TestSuite { @@ -38,7 +37,7 @@ public: "OutputWorkspace", "MDEWS"); // Give it an instrument - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 16); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular2(1, 16); IMDEventWorkspace_sptr ws; TS_ASSERT_THROWS_NOTHING( ws = boost::dynamic_pointer_cast<IMDEventWorkspace>(AnalysisDataService::Instance().retrieve("MDEWS")) ); ExperimentInfo_sptr ei(new ExperimentInfo()); diff --git a/Code/Mantid/Framework/MDEvents/test/MDEWPeakIntegrationTest.h b/Code/Mantid/Framework/MDEvents/test/MDEWPeakIntegrationTest.h index b0d58059742002c19c35cfbde6739983937b4c24..d1559a97fe7526173fe13f49b4b9faecd106a90e 100644 --- a/Code/Mantid/Framework/MDEvents/test/MDEWPeakIntegrationTest.h +++ b/Code/Mantid/Framework/MDEvents/test/MDEWPeakIntegrationTest.h @@ -4,7 +4,6 @@ #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/IMDEventWorkspace.h" #include "MantidDataObjects/PeaksWorkspace.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/MDGeometry/MDHistoDimension.h" #include "MantidKernel/System.h" #include "MantidKernel/Timer.h" @@ -107,7 +106,7 @@ public: TS_ASSERT_DELTA( mdews->getBox()->getSignal(), 3000.0, 1e-2); // Make a fake instrument - doesn't matter, we won't use it really - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); // --- Make a fake PeaksWorkspace --- PeaksWorkspace_sptr peakWS(new PeaksWorkspace()); @@ -192,7 +191,7 @@ public: addPeak(1000, 0.,0.,0., 1.0); // Make a fake instrument - doesn't matter, we won't use it really - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); // --- Make a fake PeaksWorkspace --- PeaksWorkspace_sptr peakWS(new PeaksWorkspace()); peakWS->addPeak( Peak(inst, 1, 1.0, V3D(0., 0., 0.) ) ); @@ -242,7 +241,7 @@ public: // Make a fake instrument - doesn't matter, we won't use it really - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentCylindrical(5); boost::mt19937 rng; boost::uniform_real<double> u(-9.0, 9.0); // Random from -9 to 9.0 diff --git a/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h b/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h index 2bab36c52a09439fcda002122ed46bf6cd005ca5..d8447924cf55689671c4fec73803bc4a5b4d5684 100644 --- a/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h +++ b/Code/Mantid/Framework/Nexus/inc/MantidNexus/NexusFileIO.h @@ -98,7 +98,7 @@ namespace Mantid bool writeNexusInstrumentXmlName(const std::string& instrumentXml,const std::string& date, const std::string& version) const; /// write an instrument section - currently only the name - bool writeNexusInstrument(const Geometry::IInstrument_const_sptr& instrument) const; + bool writeNexusInstrument(const Geometry::Instrument_const_sptr& instrument) const; /// write any spectra map information to Nexus file bool writeNexusProcessedSpectraMap(const API::MatrixWorkspace_const_sptr& localWorkspace, const std::vector<int>& spec) const; /// write instrument parameters diff --git a/Code/Mantid/Framework/Nexus/src/NexusFileIO.cpp b/Code/Mantid/Framework/Nexus/src/NexusFileIO.cpp index eb72d6ff5e1b242e8fe7004374952e88694e2f11..9bd18ad11b5c53b99384862adf4f6ec26f7b432b 100644 --- a/Code/Mantid/Framework/Nexus/src/NexusFileIO.cpp +++ b/Code/Mantid/Framework/Nexus/src/NexusFileIO.cpp @@ -10,7 +10,7 @@ #ifdef _WIN32 #include <io.h> #endif /* _WIN32 */ -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/TimeSeriesProperty.h" #include "MantidNexus/NexusFileIO.h" #include "MantidDataObjects/Workspace2D.h" @@ -199,7 +199,7 @@ using namespace DataObjects; //----------------------------------------------------------------------------------------------- - bool NexusFileIO::writeNexusInstrument(const Geometry::IInstrument_const_sptr& instrument) const + bool NexusFileIO::writeNexusInstrument(const Geometry::Instrument_const_sptr& instrument) const { NXstatus status; diff --git a/Code/Mantid/Framework/PythonAPI/inc/MantidPythonAPI/std_operator_definitions.h b/Code/Mantid/Framework/PythonAPI/inc/MantidPythonAPI/std_operator_definitions.h index a7c54e5489e73d575a93acb981ed37951e25ebec..2ca80cda9e503d3fab695b46ece791399c39a852 100644 --- a/Code/Mantid/Framework/PythonAPI/inc/MantidPythonAPI/std_operator_definitions.h +++ b/Code/Mantid/Framework/PythonAPI/inc/MantidPythonAPI/std_operator_definitions.h @@ -3,7 +3,8 @@ #include <MantidKernel/InstrumentInfo.h> -/** +/** @file + Some classes that are exported to Python do not define certain operators that are necessary to wrap them. These operators are added here. diff --git a/Code/Mantid/Framework/PythonAPI/src/geometry_exports.cpp b/Code/Mantid/Framework/PythonAPI/src/geometry_exports.cpp index 07ac32fb8a99040c83eddb966f44b7302ab427ad..7db947f8f698b5477dfb8474c6773de6b9f26edc 100644 --- a/Code/Mantid/Framework/PythonAPI/src/geometry_exports.cpp +++ b/Code/Mantid/Framework/PythonAPI/src/geometry_exports.cpp @@ -21,7 +21,7 @@ #include <MantidGeometry/Instrument/Component.h> #include <MantidGeometry/Instrument/CompAssembly.h> #include <MantidGeometry/Instrument/Detector.h> -#include <MantidGeometry/Instrument/Instrument.h> +#include <MantidGeometry/Instrument.h> #include <MantidGeometry/Instrument/DetectorGroup.h> #include "MantidPythonAPI/geometryhelper.h" //exports for matrices to numpy arrays @@ -138,24 +138,16 @@ namespace Mantid void export_instrument() { //Pointer to the interface - register_ptr_to_python<boost::shared_ptr<Geometry::IInstrument> >(); - - //IInstrument class - class_< Geometry::IInstrument, boost::python::bases<Geometry::ICompAssembly>, - boost::noncopyable>("IInstrument", no_init) - .def("getSample", &Geometry::IInstrument::getSample) - .def("getSource", &Geometry::IInstrument::getSource) - .def("getComponentByName", (boost::shared_ptr<Geometry::IComponent> (Geometry::IInstrument::*)(const std::string&))&Geometry::IInstrument::getComponentByName) - .def("getDetector", (Geometry::IDetector_sptr (Geometry::IInstrument::*)(const detid_t&)const)&Geometry::IInstrument::getDetector) - ; - - /** Concrete implementations so that Python knows about them */ + register_ptr_to_python<boost::shared_ptr<Geometry::Instrument> >(); //Instrument class - class_< Geometry::Instrument, boost::python::bases<Geometry::IInstrument, Geometry::CompAssembly>, - boost::noncopyable>("Instrument", no_init) + class_< Geometry::Instrument, boost::python::bases<Geometry::CompAssembly>, + boost::noncopyable>("Instrument", no_init) + .def("getSample", &Geometry::Instrument::getSample) + .def("getSource", &Geometry::Instrument::getSource) + .def("getComponentByName", (boost::shared_ptr<Geometry::IComponent> (Geometry::Instrument::*)(const std::string&))&Geometry::Instrument::getComponentByName) + .def("getDetector", (Geometry::IDetector_sptr (Geometry::Instrument::*)(const detid_t&)const)&Geometry::Instrument::getDetector) ; - } void export_unit_cell() diff --git a/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/ComponentCreationHelper.h b/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/ComponentCreationHelper.h index 3b6969dd0b35f67cdf2c2e83dd90b32df921df96..51a13fe93217295e5de3a724500096c426c4f808 100644 --- a/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/ComponentCreationHelper.h +++ b/Code/Mantid/Framework/TestHelpers/inc/MantidTestHelpers/ComponentCreationHelper.h @@ -4,7 +4,7 @@ #include "MantidTestHelpers/DLLExport.h" #include "MantidGeometry/Objects/Object.h" #include "MantidKernel/V3D.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/ISpectraDetectorMap.h" #include "MantidDataObjects/Workspace2D.h" @@ -105,7 +105,7 @@ namespace ComponentCreationHelper * @param num_banks: number of 9-cylinder banks to create * @param verbose: prints out the instrument after creation. */ - DLL_TESTHELPERS Mantid::Geometry::IInstrument_sptr + DLL_TESTHELPERS Mantid::Geometry::Instrument_sptr createTestInstrumentCylindrical(int num_banks, bool verbose = false); /** * Create a test instrument with n panels of rectangular detectors, pixels*pixels in size, a source and spherical sample shape. @@ -113,9 +113,9 @@ namespace ComponentCreationHelper * @param num_banks: number of 9-cylinder banks to create * @param verbose: prints out the instrument after creation. */ - DLL_TESTHELPERS Mantid::Geometry::IInstrument_sptr createTestInstrumentRectangular(int num_banks, int pixels, double pixelSpacing = 0.008); + DLL_TESTHELPERS Mantid::Geometry::Instrument_sptr createTestInstrumentRectangular(int num_banks, int pixels, double pixelSpacing = 0.008); - DLL_TESTHELPERS Mantid::Geometry::IInstrument_sptr createTestInstrumentRectangular2(int num_banks, int pixels, double pixelSpacing = 0.008); + DLL_TESTHELPERS Mantid::Geometry::Instrument_sptr createTestInstrumentRectangular2(int num_banks, int pixels, double pixelSpacing = 0.008); } diff --git a/Code/Mantid/Framework/TestHelpers/src/ComponentCreationHelper.cpp b/Code/Mantid/Framework/TestHelpers/src/ComponentCreationHelper.cpp index 18828f2bb92afda4d4861e767a981eb11b07a403..7602c597d64c287cad5587fffc6b9b958788062f 100644 --- a/Code/Mantid/Framework/TestHelpers/src/ComponentCreationHelper.cpp +++ b/Code/Mantid/Framework/TestHelpers/src/ComponentCreationHelper.cpp @@ -257,7 +257,7 @@ namespace ComponentCreationHelper * @param num_banks: number of 9-cylinder banks to create * @param verbose: prints out the instrument after creation. */ - IInstrument_sptr createTestInstrumentCylindrical(int num_banks, bool verbose) + Instrument_sptr createTestInstrumentCylindrical(int num_banks, bool verbose) { boost::shared_ptr<Instrument> testInst(new Instrument("basic")); @@ -344,7 +344,7 @@ namespace ComponentCreationHelper * @param num_banks: number of rectangular banks to create * @param pixels :: number of pixels in each direction. */ - IInstrument_sptr createTestInstrumentRectangular(int num_banks, int pixels, double pixelSpacing) + Instrument_sptr createTestInstrumentRectangular(int num_banks, int pixels, double pixelSpacing) { boost::shared_ptr<Instrument> testInst(new Instrument("basic_rect")); @@ -407,7 +407,7 @@ namespace ComponentCreationHelper * @param num_banks: number of rectangular banks to create * @param pixels :: number of pixels in each direction. */ - IInstrument_sptr createTestInstrumentRectangular2(int num_banks, int pixels, double pixelSpacing) + Instrument_sptr createTestInstrumentRectangular2(int num_banks, int pixels, double pixelSpacing) { boost::shared_ptr<Instrument> testInst(new Instrument("basic_rect")); diff --git a/Code/Mantid/Framework/TestHelpers/src/MDEventsTestHelper.cpp b/Code/Mantid/Framework/TestHelpers/src/MDEventsTestHelper.cpp index 57cafe4f22f609f0e667753bacead972265e8e1b..8b31b0c23248fe3013f9ea15e46b75e3b08f02c1 100644 --- a/Code/Mantid/Framework/TestHelpers/src/MDEventsTestHelper.cpp +++ b/Code/Mantid/Framework/TestHelpers/src/MDEventsTestHelper.cpp @@ -1,7 +1,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidDataHandling/LoadInstrument.h" #include "MantidDataObjects/EventWorkspace.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/MDGeometry/MDTypes.h" #include "MantidKernel/cow_ptr.h" #include "MantidKernel/DateAndTime.h" diff --git a/Code/Mantid/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp b/Code/Mantid/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp index 3329dd7f1a8f0c749606a5d78419366223478315..2ba2de10eb070dd7a6003b1aebce486b27bdc8f8 100644 --- a/Code/Mantid/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp +++ b/Code/Mantid/Framework/TestHelpers/src/WorkspaceCreationHelper.cpp @@ -299,7 +299,7 @@ namespace WorkspaceCreationHelper */ Mantid::DataObjects::Workspace2D_sptr create2DWorkspaceWithRectangularInstrument(int numBanks, int numPixels, int numBins) { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(numBanks, numPixels); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(numBanks, numPixels); Workspace2D_sptr ws = Create2DWorkspaceBinned(numBanks*numPixels*numPixels, numBins); ws->setInstrument(inst); ws->getAxis(0)->setUnit("dSpacing"); @@ -323,7 +323,7 @@ namespace WorkspaceCreationHelper */ Mantid::DataObjects::EventWorkspace_sptr createEventWorkspaceWithFullInstrument(int numBanks, int numPixels, bool clearEvents) { - IInstrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(numBanks, numPixels); + Instrument_sptr inst = ComponentCreationHelper::createTestInstrumentRectangular(numBanks, numPixels); EventWorkspace_sptr ws = CreateEventWorkspace2(numBanks*numPixels*numPixels, 10); ws->setInstrument(inst); ws->getAxis(0)->setUnit("dSpacing"); diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/CompAssemblyActor.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/CompAssemblyActor.cpp index 3725c04ae22e489f2040206c0fced5eef282caab..667fffaccfeb6f535c7fb66070db24e8f3fd6811 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/CompAssemblyActor.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/CompAssemblyActor.cpp @@ -4,12 +4,11 @@ #include "RectangularDetectorActor.h" #include "OpenGLError.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidKernel/V3D.h" #include "MantidGeometry/Objects/Object.h" #include "MantidGeometry/ICompAssembly.h" #include "MantidGeometry/Instrument/ObjCompAssembly.h" -//#include "MantidGeometry/Instrument/ParObjCompAssembly.h" #include "MantidGeometry/IObjComponent.h" #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Instrument/RectangularDetector.h" @@ -17,12 +16,11 @@ #include <cfloat> -using Mantid::Geometry::IInstrument; +using Mantid::Geometry::Instrument; using Mantid::Geometry::IComponent; using Mantid::Geometry::IObjComponent; using Mantid::Geometry::ICompAssembly; using Mantid::Geometry::ObjCompAssembly; -//using Mantid::Geometry::ParObjCompAssembly; using Mantid::Geometry::ComponentID; using Mantid::Geometry::RectangularDetector; using Mantid::Geometry::RectangularDetector; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ICompAssemblyActor.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ICompAssemblyActor.cpp index dae45e9ca99492b3194c10248309cb26ce11ceb9..3fa07dfdf5ca2625da77a637d51d7885aa8bdf13 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ICompAssemblyActor.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ICompAssemblyActor.cpp @@ -1,11 +1,9 @@ -#include "MantidGeometry/IInstrument.h" -#include "MantidKernel/V3D.h" -#include "MantidGeometry/Objects/Object.h" -#include "MantidGeometry/ICompAssembly.h" -#include "MantidGeometry/IObjComponent.h" -#include "MantidKernel/Exception.h" #include "ICompAssemblyActor.h" #include <cfloat> + +#include "MantidKernel/V3D.h" +#include "MantidGeometry/IComponent.h" + using namespace Mantid; using namespace Geometry; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.cpp index 74bffc4aec2c18aeb28384166e18dd678def2440..a9564ecf7e92e151c9379a219767837c0152721e 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.cpp @@ -98,7 +98,7 @@ bool InstrumentActor::accept(const GLActorVisitor& visitor) return ok; } -boost::shared_ptr<const Mantid::Geometry::IInstrument> InstrumentActor::getInstrument()const +boost::shared_ptr<const Mantid::Geometry::Instrument> InstrumentActor::getInstrument()const { return m_workspace->getInstrument(); } diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.h b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.h index a96283ebfad173c5d7495c532a55105b8ed42649..48e9fc55e7651917ae253d9c534d37e730ba0efa 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.h +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentActor.h @@ -7,7 +7,7 @@ #include "SampleActor.h" #include "MantidColorMap.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/SpectraDetectorTypes.h" #include <boost/shared_ptr.hpp> @@ -76,7 +76,7 @@ public: void getBoundingBox(Mantid::Kernel::V3D& minBound,Mantid::Kernel::V3D& maxBound)const{m_scene.getBoundingBox(minBound,maxBound);} bool accept(const GLActorVisitor& visitor); - boost::shared_ptr<const Mantid::Geometry::IInstrument> getInstrument()const; + boost::shared_ptr<const Mantid::Geometry::Instrument> getInstrument()const; boost::shared_ptr<const Mantid::API::MatrixWorkspace> getWorkspace()const{return m_workspace;} const MantidColorMap & getColorMap() const; void loadColorMap(const QString& ,bool reset_colors = true); @@ -128,7 +128,7 @@ protected: /// The user requested data and bin ranges double m_DataMinValue, m_DataMaxValue; double m_BinMinValue, m_BinMaxValue; - boost::shared_ptr<const Mantid::Geometry::IInstrument::plottables> m_plottables; + boost::shared_ptr<const std::vector<Mantid::Geometry::IObjComponent_const_sptr> > m_plottables; boost::scoped_ptr<Mantid::detid2index_map> m_id2wi_map; mutable std::vector<Mantid::detid_t> m_detIDs; ///< all det ids in the instrument in order of pickIDs, populated by Obj..Actor constructors mutable std::vector<GLColor> m_colors; ///< colors in order of workspace indexes diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.cpp index a7bfc0745061a758f9519926b471392c73dbe582..3fe2463fa5d7b7175f5f383add1f332bdd3839fd 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.cpp @@ -4,10 +4,10 @@ #endif #include "MantidKernel/Exception.h" #include "MantidGeometry/ICompAssembly.h" -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/MatrixWorkspace.h" -using Mantid::Geometry::IInstrument; +using Mantid::Geometry::Instrument; using Mantid::Geometry::IComponent; using Mantid::Geometry::ICompAssembly; using Mantid::Geometry::IObjComponent; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.h b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.h index 47b4a5681d674b91a2c34f39895f88abe2a23f2a..f543b926c290294c2ed09bb7d8ccb2806b913c75 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.h +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeModel.h @@ -10,7 +10,7 @@ namespace Mantid { namespace Geometry { - class IInstrument; + class Instrument; } namespace API { @@ -46,7 +46,7 @@ public: private: boost::shared_ptr<const Mantid::API::MatrixWorkspace> m_workspace; - boost::shared_ptr<const Mantid::Geometry::IInstrument> m_instrument; ///< instrument to which the model corresponds to + boost::shared_ptr<const Mantid::Geometry::Instrument> m_instrument; ///< instrument to which the model corresponds to }; #endif diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.cpp index 6f0067b5b37b88bb8ff693a32bcb7b2a3ce4b0c0..6fc343a797975003686a365464e0465867f0db53 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.cpp @@ -5,7 +5,7 @@ #endif #include "MantidKernel/Exception.h" #include "MantidGeometry/ICompAssembly.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidAPI/MatrixWorkspace.h" #include "GLActor.h" #include <queue> diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.h b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.h index a75ef829720d98a6d718c6a30cfd4ab38bb68f86..770e0c36212c4d57dd1ec7d9075d585b4401daa5 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.h +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentTreeWidget.h @@ -1,12 +1,26 @@ #ifndef INSTRUMENTTREEWIDGET_H #define INSTRUMENTTREEWIDGET_H +//--------------------------------------- +// Includes +//-------------------------------------- #include <QTreeView> #include "InstrumentTreeModel.h" #include "MantidGeometry/IComponent.h" +//--------------------------------------- +// Forward declarations +//-------------------------------------- class InstrumentActor; +namespace Mantid +{ + namespace Geometry + { + class Instrument; + } +} + /** The InstrumentTreeWidget is a tree view * of the components of an instrument. * @@ -29,7 +43,7 @@ signals: private: InstrumentActor* m_instrActor; boost::shared_ptr<const Mantid::API::MatrixWorkspace> m_workspace; - boost::shared_ptr<const Mantid::Geometry::IInstrument> m_instrument; + boost::shared_ptr<const Mantid::Geometry::Instrument> m_instrument; InstrumentTreeModel *m_treeModel; }; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindow.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindow.cpp index ea17e92050ca601a13a806fc3ef393724d256ef0..dc339d23303b7ce723f69755a0063ab0b6cb4b69 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindow.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindow.cpp @@ -184,7 +184,7 @@ void InstrumentWindow::setSurfaceType(int type) QApplication::setOverrideCursor(Qt::WaitCursor); m_surfaceType = SurfaceType(type); if (!m_instrumentActor) return; - boost::shared_ptr<Mantid::Geometry::IInstrument> instr = m_workspace->getInstrument(); + Mantid::Geometry::Instrument_const_sptr instr = m_workspace->getInstrument(); Mantid::Geometry::IObjComponent_sptr sample = instr->getSample(); Mantid::Kernel::V3D sample_pos = sample->getPos(); Mantid::Kernel::V3D axis; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindowPickTab.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindowPickTab.cpp index f23b06f1b5e2b21a747dabf57f9cfbd22039af6e..9a19fd8debf77c72689b8161d100f356ff6d6136 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindowPickTab.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/InstrumentWindowPickTab.cpp @@ -482,7 +482,7 @@ void InstrumentWindowPickTab::addPeak(double x,double y) InstrumentActor* instrActor = m_instrWindow->getInstrumentActor(); Mantid::API::MatrixWorkspace_const_sptr ws = instrActor->getWorkspace(); - Mantid::Geometry::IInstrument_sptr instr = ws->getInstrument(); + Mantid::Geometry::Instrument_sptr instr = ws->getInstrument(); Mantid::Geometry::IObjComponent_const_sptr source = instr->getSource(); Mantid::Geometry::IObjComponent_const_sptr sample = instr->getSample(); Mantid::Geometry::IDetector_const_sptr det = instr->getDetector(m_currentDetID); diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ObjCompAssemblyActor.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ObjCompAssemblyActor.cpp index 353e55abde488f4292fb47eef4957b473a880c4a..3f9982292f2d426dbbf2523af9ca76bcd67a5fed 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ObjCompAssemblyActor.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ObjCompAssemblyActor.cpp @@ -3,14 +3,12 @@ #include "InstrumentActor.h" #include "OpenGLError.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/V3D.h" #include "MantidGeometry/Objects/Object.h" #include "MantidGeometry/ICompAssembly.h" #include "MantidGeometry/IObjComponent.h" #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Instrument/ObjCompAssembly.h" -//#include "MantidGeometry/Instrument/ParObjCompAssembly.h" #include "MantidKernel/Exception.h" #include <cfloat> using namespace Mantid; diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/Projection3D.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/Projection3D.cpp index 76e651550592da3daae6b321f8c42674ad586db0..9b00610d71191985e3897c6be70f690d63f74ba0 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/Projection3D.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/Projection3D.cpp @@ -9,7 +9,7 @@ #include "UnwrappedSphere.h" #include "OpenGLError.h" #include "DetSelector.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Objects/Object.h" #include <boost/shared_ptr.hpp> @@ -43,14 +43,14 @@ Projection3D::Projection3D(const InstrumentActor* rootActor,int winWidth,int win m_isKeyPressed(false) { - IInstrument_const_sptr instr = rootActor->getInstrument(); - std::vector<boost::shared_ptr<IComponent> > allComponents; + Instrument_const_sptr instr = rootActor->getInstrument(); + std::vector<IComponent_const_sptr> allComponents; instr->getChildren(allComponents,true); std::vector<ComponentID> nonDetectors; - std::vector<boost::shared_ptr<IComponent> >::const_iterator it = allComponents.begin(); + std::vector<IComponent_const_sptr>::const_iterator it = allComponents.begin(); for(; it != allComponents.end(); ++it) { - IDetector_const_sptr det = boost::dynamic_pointer_cast<IDetector>(*it); + IDetector_const_sptr det = boost::dynamic_pointer_cast<const IDetector>(*it); if (!det) { nonDetectors.push_back((*it)->getComponentID()); @@ -373,7 +373,7 @@ void Projection3D::getMaskedDetectors(QList<int>& dets)const void Projection3D::componentSelected(Mantid::Geometry::ComponentID id) { - IInstrument_const_sptr instr = m_instrActor->getInstrument(); + Instrument_const_sptr instr = m_instrActor->getInstrument(); if (id == NULL || id == instr->getComponentID()) { diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ProjectionSurface.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ProjectionSurface.cpp index bfca2bc3e4f154698b5fa7f251176d51aa99fa18..839eb482df35ac5b7b7a511cfabd7ce82ea68b1b 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ProjectionSurface.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/ProjectionSurface.cpp @@ -5,7 +5,6 @@ #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Objects/Object.h" -#include "MantidGeometry/IInstrument.h" #include <QRgb> #include <QSet> diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/RectangularDetectorActor.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/RectangularDetectorActor.cpp index 322c0d7d1927bba0f601ec21888125d7a4edcdae..ff05f4725d50c215d31aff9622e171cfd7ebd4c5 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/RectangularDetectorActor.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/RectangularDetectorActor.cpp @@ -3,7 +3,6 @@ #include "RectangularDetectorActor.h" #include "InstrumentActor.h" -#include "MantidGeometry/IInstrument.h" #include "MantidKernel/V3D.h" #include "MantidGeometry/Objects/Object.h" #include "MantidGeometry/Objects/BoundingBox.h" diff --git a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/UnwrappedSurface.cpp b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/UnwrappedSurface.cpp index 57eee980efd1ec09f7c968b664e5ed8a60e21fc2..5e0442edb33b143949fed1ec6dbe20709a76da84 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/UnwrappedSurface.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/InstrumentWidget/UnwrappedSurface.cpp @@ -5,7 +5,7 @@ #include "MantidGeometry/IDetector.h" #include "MantidGeometry/Objects/Object.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include <QRgb> #include <QSet> @@ -340,7 +340,7 @@ bool hasParent(boost::shared_ptr<const Mantid::Geometry::IComponent> comp,Mantid void UnwrappedSurface::componentSelected(Mantid::Geometry::ComponentID id) { - boost::shared_ptr<const Mantid::Geometry::IInstrument> instr = m_instrActor->getInstrument(); + boost::shared_ptr<const Mantid::Geometry::Instrument> instr = m_instrActor->getInstrument(); if (id == NULL) { id = instr->getComponentID(); @@ -589,4 +589,4 @@ QString UnwrappedSurface::getInfoText()const QRectF UnwrappedSurface::getSurfaceBounds()const { return QRectF(m_viewRect.left(),m_viewRect.bottom(),m_viewRect.width(),-m_viewRect.height()); -} \ No newline at end of file +} diff --git a/Code/Mantid/MantidPlot/src/Mantid/MantidDock.cpp b/Code/Mantid/MantidPlot/src/Mantid/MantidDock.cpp index dd0904ea19fab929d209f6ddf77f43f465667b1e..7a63a73a60e6c5e438c3b392bcd3abd08f36bf3d 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/MantidDock.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/MantidDock.cpp @@ -535,7 +535,7 @@ void MantidDockWidget::populateExperimentInfoData(Mantid::API::ExperimentInfo_sp std::string s; std::ostringstream out; - IInstrument_sptr inst = workspace->getInstrument(); + Instrument_const_sptr inst = workspace->getInstrument(); out << "Instrument: " << inst->getName() << " (" << inst->getValidFromDate().to_string("%Y-%b-%d") << " to " << inst->getValidToDate().to_string("%Y-%b-%d") << ")"; diff --git a/Code/Mantid/MantidPlot/src/Mantid/MantidUI.cpp b/Code/Mantid/MantidPlot/src/Mantid/MantidUI.cpp index 1b4e3d88c85cfffb1dd3c300463408df800210e2..beb0f002053ad4511bd7a0cfc78a9688bc8c8561 100644 --- a/Code/Mantid/MantidPlot/src/Mantid/MantidUI.cpp +++ b/Code/Mantid/MantidPlot/src/Mantid/MantidUI.cpp @@ -1527,7 +1527,7 @@ InstrumentWindow* MantidUI::getInstrumentView(const QString & wsName, int tab) if( !Mantid::API::AnalysisDataService::Instance().doesExist(wsName.toStdString()) ) return NULL; Mantid::API::MatrixWorkspace_sptr ws = boost::dynamic_pointer_cast<Mantid::API::MatrixWorkspace>(getWorkspace(wsName)); if (!ws) return NULL; - Mantid::Geometry::IInstrument_const_sptr instr = ws->getInstrument(); + Mantid::Geometry::Instrument_const_sptr instr = ws->getInstrument(); if (!instr || instr->getName().empty()) { return NULL; @@ -3005,7 +3005,7 @@ void MantidUI::memoryImage2() // End of Windows specfic stuff //======================================================================= -#include "MantidGeometry/Instrument/Instrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/Instrument/CompAssembly.h" void MantidUI::test() diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/MuonAnalysis.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/MuonAnalysis.cpp index 6f3a8154466d8409d8c7f3848cfa1af42a221c2a..818f8f5a9806ed6d9c86e7393093e88e409ed2f1 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/MuonAnalysis.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/MuonAnalysis.cpp @@ -18,7 +18,6 @@ #include "MantidAPI/WorkspaceGroup.h" #include "MantidAPI/SpectraDetectorMap.h" #include "MantidAPI/Run.h" -#include "MantidGeometry/IInstrument.h" #include "MantidGeometry/IComponent.h" #include "MantidGeometry/IDetector.h" #include "MantidKernel/V3D.h" @@ -2103,7 +2102,7 @@ void MuonAnalysis::setDummyGrouping(const int numDetectors) */ void MuonAnalysis::setGroupingFromIDF(const std::string& mainFieldDirection, MatrixWorkspace_sptr matrix_workspace) { - IInstrument_sptr inst = matrix_workspace->getInstrument(); + Instrument_const_sptr inst = matrix_workspace->getInstrument(); QString instname = m_uiForm.instrSelector->currentText().toUpper(); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SANSDiagnostics.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SANSDiagnostics.cpp index d6b61ee932ee9a56b04831eef3bc1fcf93dccf17..665620664e7d3b54cc8932301fb85335265d2cea 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SANSDiagnostics.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SANSDiagnostics.cpp @@ -366,7 +366,7 @@ namespace MantidQt { return std::vector<boost::shared_ptr<RectDetectorDetails> > (); } - Mantid::Geometry::IInstrument_sptr inst=mws_sptr->getInstrument(); + Mantid::Geometry::Instrument_const_sptr inst=mws_sptr->getInstrument(); if(!inst) { return std::vector<boost::shared_ptr<RectDetectorDetails> > (); diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/SANSRunWindow.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/SANSRunWindow.cpp index 68743b9527ee1658c5f5bc19ae89089ab21a95e1..bfc9efda66c50acaa2e6347bcc956767542e990a 100644 --- a/Code/Mantid/MantidQt/CustomInterfaces/src/SANSRunWindow.cpp +++ b/Code/Mantid/MantidQt/CustomInterfaces/src/SANSRunWindow.cpp @@ -16,7 +16,7 @@ #include "MantidAPI/AnalysisDataService.h" #include "MantidAPI/WorkspaceGroup.h" #include "MantidAPI/SpectraDetectorMap.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include "MantidGeometry/IComponent.h" #include "MantidKernel/V3D.h" #include "MantidKernel/Exception.h" @@ -54,8 +54,7 @@ using namespace MantidQt::CustomInterfaces; using namespace Mantid::Kernel; using namespace Mantid::API; using namespace Mantid; -using Mantid::Geometry::IInstrument_sptr; -using Mantid::Geometry::IInstrument; +using Mantid::Geometry::Instrument_const_sptr; // Initialize the logger Logger& SANSRunWindow::g_log = Logger::get("SANSRunWindow"); @@ -1031,8 +1030,8 @@ void SANSRunWindow::addTimeMasksToTable(const QString & mask_string, const QStri */ void SANSRunWindow::componentLOQDistances(Mantid::API::MatrixWorkspace_sptr workspace, double & lms, double & lsda, double & lsdb) { - IInstrument_sptr instr = workspace->getInstrument(); - if( instr == boost::shared_ptr<IInstrument>() ) return; + Instrument_const_sptr instr = workspace->getInstrument(); + if( !instr ) return; Mantid::Geometry::IObjComponent_sptr source = instr->getSource(); if( source == boost::shared_ptr<Mantid::Geometry::IObjComponent>() ) return; @@ -1042,7 +1041,7 @@ void SANSRunWindow::componentLOQDistances(Mantid::API::MatrixWorkspace_sptr work lms = source->getPos().distance(sample->getPos()) * 1000.; //Find the main detector bank - boost::shared_ptr<Mantid::Geometry::IComponent> comp = instr->getComponentByName("main-detector-bank"); + Mantid::Geometry::IComponent_const_sptr comp = instr->getComponentByName("main-detector-bank"); if( comp != boost::shared_ptr<Mantid::Geometry::IComponent>() ) { lsda = sample->getPos().distance(comp->getPos()) * 1000.; @@ -1307,7 +1306,7 @@ void SANSRunWindow::setGeometryDetails(const QString & sample_logs, const QStrin sample_workspace = getGroupMember(workspace_ptr, 1); } - IInstrument_sptr instr = sample_workspace->getInstrument(); + Instrument_const_sptr instr = sample_workspace->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> source = instr->getSource(); // Moderator-monitor distance is common to LOQ and S2D @@ -1444,7 +1443,7 @@ void SANSRunWindow::setSANS2DGeometry(Mantid::API::MatrixWorkspace_sptr workspac { double unitconv = 1000.; - IInstrument_sptr instr = workspace->getInstrument(); + Instrument_const_sptr instr = workspace->getInstrument(); boost::shared_ptr<Mantid::Geometry::IComponent> sample = instr->getSample(); boost::shared_ptr<Mantid::Geometry::IComponent> source = instr->getSource(); double distance = source->getDistance(*sample) * unitconv; diff --git a/Code/Mantid/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWDiag.h b/Code/Mantid/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWDiag.h index b5508e1633240eff1598cb3af56aa4fafebdd90a..1f1b92ddc774e574983ee4f7c5104653ca9e741f 100644 --- a/Code/Mantid/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWDiag.h +++ b/Code/Mantid/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MWDiag.h @@ -16,7 +16,7 @@ namespace Mantid { namespace Geometry { - class IInstrument; + class Instrument; } } @@ -71,9 +71,9 @@ namespace MantidQt void closeDialog(); QString openFileDialog(const bool save, const QStringList &exts); - boost::shared_ptr<Mantid::Geometry::IInstrument> getInstrument(const QString & name); + boost::shared_ptr<const Mantid::Geometry::Instrument> getInstrument(const QString & name); QString getSetting(const QString & settingName, - boost::shared_ptr<Mantid::Geometry::IInstrument> inst = boost::shared_ptr<Mantid::Geometry::IInstrument>(), + boost::shared_ptr<const Mantid::Geometry::Instrument> inst = boost::shared_ptr<const Mantid::Geometry::Instrument>(), const QString & idfName = "") const; void saveDefaults(); void setupToolTips(); diff --git a/Code/Mantid/MantidQt/MantidWidgets/src/MWDiag.cpp b/Code/Mantid/MantidQt/MantidWidgets/src/MWDiag.cpp index 4fc09e6ad7d16551668a5424cd213465aaa8e45b..43c5f1cf72e5e8dd3b1ba9687abda97820325afd 100644 --- a/Code/Mantid/MantidQt/MantidWidgets/src/MWDiag.cpp +++ b/Code/Mantid/MantidQt/MantidWidgets/src/MWDiag.cpp @@ -8,7 +8,7 @@ #include "MantidAPI/MatrixWorkspace.h" #include "MantidKernel/Exception.h" #include "MantidAPI/FileProperty.h" -#include "MantidGeometry/IInstrument.h" +#include "MantidGeometry/Instrument.h" #include <QSignalMapper> #include <QFileInfo> @@ -25,7 +25,7 @@ using namespace Mantid::Kernel; using namespace Mantid::API; using namespace MantidQt::API; using namespace MantidQt::MantidWidgets; -using Mantid::Geometry::IInstrument_sptr; +using Mantid::Geometry::Instrument_const_sptr; MWDiag::MWDiag(QWidget *parent, QString prevSettingsGr, const QComboBox * const instru): MantidWidget(parent), @@ -47,7 +47,7 @@ MWDiag::MWDiag(QWidget *parent, QString prevSettingsGr, const QComboBox * const void MWDiag::loadSettings() { // Want the defaults from the instrument if nothing is saved in the config - IInstrument_sptr instrument = getInstrument(m_instru->currentText()); + Instrument_const_sptr instrument = getInstrument(m_instru->currentText()); m_designWidg.leIFile->setText(getSetting("input mask")); m_designWidg.leOFile->setText(getSetting("output file")); @@ -87,7 +87,7 @@ void MWDiag::setSumState(bool checked) /** * Get an instrument pointer for the name instrument */ -IInstrument_sptr MWDiag::getInstrument(const QString & name) +Instrument_const_sptr MWDiag::getInstrument(const QString & name) { std::string ws_name = "__empty_" + name.toStdString(); @@ -101,7 +101,7 @@ IInstrument_sptr MWDiag::getInstrument(const QString & name) runPythonCode(pyInput); if( !dataStore.doesExist(ws_name) ) { - return IInstrument_sptr(); + return Instrument_const_sptr(); } } MatrixWorkspace_sptr inst_ws = @@ -110,8 +110,8 @@ IInstrument_sptr MWDiag::getInstrument(const QString & name) return inst_ws->getInstrument(); } -QString MWDiag::getSetting(const QString & settingName, IInstrument_sptr instrument, - const QString & idfName) const +QString MWDiag::getSetting(const QString & settingName, Instrument_const_sptr instrument, + const QString & idfName) const { QString value; if( m_prevSets.contains(settingName) )