Ticket #1096: Main.cpp

File Main.cpp, 5.0 KB (added by Russell Taylor, 11 years ago)
Line 
1// If you get the message  “This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.”
2// when running to run this main.cpp in debug mode then try to uncomment the line below (see also http://blogs.msdn.com/dsvc/archive/2008/08/07/part-2-troubleshooting-vc-side-by-side-problems.aspx for more details)
3//#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='X86' publicKeyToken='1fc8b3b9a1e18e3b' \"")
4
5#include <iostream>
6#include <iomanip>
7#include "Benchmark.h"
8#include "UserAlgorithmTest.h"
9#include "MantidAPI/FrameworkManager.h"
10//#include "MantidAPI/Workspace.h"
11//#include "MantidDataObjects/Workspace1D.h"
12#include "MantidDataObjects/Workspace2D.h"
13
14#include <boost/timer.hpp>
15
16using namespace Mantid::API;
17using namespace Mantid::Kernel;
18using namespace Mantid::Geometry;
19using namespace Mantid::DataObjects;
20
21void test();
22
23int main()
24{
25
26  FrameworkManagerImpl& fm = FrameworkManager::Instance();
27/*
28//  UserAlgorithmTest userTest;
29 // userTest.RunAllTests();
30 
31 // Benchmark b;
32 // b.RunPlusTest(10584,2000);
33  //b.RunPlusTest(15584,2000);
34  //b.RunPlusTest(2584,2000);
35
36//#if defined _DEBUG
37  //NOTE:  Any code in here is temporary for debugging purposes only, nothing is safe!
38  //load a raw file
39    IAlgorithm* loader = fm.createAlgorithm("LoadRaw");
40    loader->setPropertyValue("Filename", "../../../Test/Data/MER02257.raw");
41
42    std::string outputSpace = "outer";
43    loader->setPropertyValue("OutputWorkspace", outputSpace);   
44    loader->execute();
45
46  Workspace* w = fm.getWorkspace(outputSpace);
47  Workspace2D* output2D = dynamic_cast<Workspace2D*>(w);
48  const int numberOfSpectra = output2D->getNumberHistograms();
49      clock_t start = clock();
50  int FailCount =0;
51  int SuccessCount = 0;
52  V3D total;
53  for (int j = 0; j <= numberOfSpectra; ++j)
54        {
55    try{
56                // Now get the detector to which this relates
57                IDetector_const_sptr det = output2D->getDetector(j);
58    // Solid angle should be zero if detector is masked ('dead')
59    V3D v = det->getPos();
60    total += v;
61    SuccessCount++;
62  }
63      catch (...)
64      {
65        FailCount++;
66      }
67        } // loop over spectra
68  clock_t end = clock();
69    std::cout << double(end - start)/CLOCKS_PER_SEC << std::endl;
70    std::cout << "Success " << SuccessCount << " | Failed " << FailCount << std::endl;
71    std::cout << total << std::endl;
72//#endif
73*/
74//STEVES looking at a problem with ConvertUnits
75    for (int i = 0 ; i < 200 ; ++i)
76    {
77      fm.exec("LoadRaw","Filename=C:/mantid/Test/Data/MAR11001.RAW;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe");
78      fm.exec("LoadDetectorInfo","Workspace=_Conv_ETrans_tempory_WS_MAR11001.spe;DataFilename=C:/mantid/Test/Data/MAR11001.RAW");
79      fm.exec("MaskDetectors","Workspace=_Conv_ETrans_tempory_WS_MAR11001.spe;SpectraList=1,2,3,4,4124,2526,1126,3626");
80      fm.exec("FlatBackground","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;StartX=18000;EndX=19500;Mode=Mean");
81      fm.exec("NormaliseToMonitor","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;MonitorSpectrum=1;IntegrationRangeMin=1000;IntegrationRangeMax=2000");
82      fm.exec("ConvertUnits","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;Target=DeltaE;EMode=Direct;EFixed=13");
83      fm.exec("Rebin","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;Params=1,0.1,13");
84      fm.exec("DetectorEfficiencyCor","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;IncidentEnergy=13");
85      fm.exec("GroupDetectors","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;MapFile=C:/Users/wht13119/Desktop/docs/Excitations/mari_res.map");
86      fm.exec("LoadRaw","Filename=C:/mantid/Test/Data/MAR11060.RAW;OutputWorkspace=_ETrans_norm_tempory_WS");
87      fm.exec("LoadDetectorInfo","Workspace=_ETrans_norm_tempory_WS;DataFilename=C:/mantid/Test/Data/MAR11060.RAW");
88      fm.exec("ConvertUnits","InputWorkspace=_ETrans_norm_tempory_WS;OutputWorkspace=_ETrans_norm_tempory_WS;Target=Energy");
89      fm.exec("Rebin","InputWorkspace=_ETrans_norm_tempory_WS;OutputWorkspace=_ETrans_norm_tempory_WS;Params=0,20,20");
90      fm.exec("GroupDetectors","InputWorkspace=_ETrans_norm_tempory_WS;OutputWorkspace=_ETrans_norm_tempory_WS;MapFile=C:/Users/wht13119/Desktop/docs/Excitations/mari_res.map");
91      fm.exec("Divide","LHSWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;RHSWorkspace=_ETrans_norm_tempory_WS;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe");
92      fm.exec("ReplaceSpecialValues","InputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;OutputWorkspace=_Conv_ETrans_tempory_WS_MAR11001.spe;NaNValue=0;InfinityValue=0");
93      std::cerr << i << std::endl;
94    }
95
96  fm.clear();
97  exit(0);
98
99}
100