| 1 | #Make the reduction module available |
|---|
| 2 | from SANSReduction import * |
|---|
| 3 | |
|---|
| 4 | # Set a default data path where we look for raw data |
|---|
| 5 | #DataPath("/home/m2d/workspace/mantid/Test/Data/SANS2D") |
|---|
| 6 | DataPath("/home/dmn58364/mantidproject/repo/Test/Data/SANS2D") |
|---|
| 7 | # Set a user path where we look for the mask file |
|---|
| 8 | #UserPath("/home/m2d/workspace/mantid/Test/Data/SANS2D") |
|---|
| 9 | UserPath("/home/dmn58364/mantidproject/repo/Test/Data/SANS2D") |
|---|
| 10 | # Set instrument. SANS2D() or LOQ() |
|---|
| 11 | SANS2D() |
|---|
| 12 | #Set reduction to 1D (note that if this is left out, 1D is the default) |
|---|
| 13 | Set1D() |
|---|
| 14 | |
|---|
| 15 | # Set the detector |
|---|
| 16 | # Options: |
|---|
| 17 | # SANS: rear-detector, front-detector |
|---|
| 18 | # LOQ: main-detector-bank, HAB |
|---|
| 19 | Detector("rear-detector") |
|---|
| 20 | |
|---|
| 21 | # Read a mask file |
|---|
| 22 | MaskFile('MASKSANS2D.091A') |
|---|
| 23 | |
|---|
| 24 | # Change default limits if we want to |
|---|
| 25 | #LimitsR(50.,170.) |
|---|
| 26 | # Here the arguments are min, max, step, step type |
|---|
| 27 | #LimitsWav(4.,8.,0.125, 'LIN') |
|---|
| 28 | #LimitsQXY(0, 0.1, 0.002, 'LIN') |
|---|
| 29 | |
|---|
| 30 | # Q limits (binning) can be specified in 2 ways |
|---|
| 31 | # A simple min,delta,max and binning type |
|---|
| 32 | #LimitsQ(0.02, 1.0, 0.02, 'LOG') |
|---|
| 33 | |
|---|
| 34 | # Or a full string that is passed directly to rebin as is |
|---|
| 35 | #LimitsQ("0.02, -0.02,1.0") |
|---|
| 36 | |
|---|
| 37 | # Consider Gravity true/false (default off) |
|---|
| 38 | Gravity(True) |
|---|
| 39 | |
|---|
| 40 | # Alter the trans fit type and range. First parameter can be 'OFF','LOG',LIN' |
|---|
| 41 | #TransFit('LOG',3.0,8.0) |
|---|
| 42 | |
|---|
| 43 | for j in range(4): |
|---|
| 44 | # Assign run numbers (.nxs for nexus) |
|---|
| 45 | AssignSample('992.raw') |
|---|
| 46 | TransmissionSample('988.raw', '987.raw') |
|---|
| 47 | AssignCan('993.raw') |
|---|
| 48 | TransmissionCan('989.raw', '987.raw') |
|---|
| 49 | |
|---|
| 50 | # Update the centre coordinates |
|---|
| 51 | # Arguments are rmin,rmax, niterations |
|---|
| 52 | #FindBeamCentre(50., 170., 2) |
|---|
| 53 | |
|---|
| 54 | # Do the reduction |
|---|
| 55 | # WavRangeReduction runs the reduction for the specfied wavelength range |
|---|
| 56 | |
|---|
| 57 | # The final argument can either be DefaultTrans or CalcTrans where |
|---|
| 58 | # (a) DefaultTrans calculates the transmission for the whole range specified by L/WAV |
|---|
| 59 | # and then crops it to the current range and |
|---|
| 60 | # (b) CalcTrans calculates the transmission for the specifed range |
|---|
| 61 | # |
|---|
| 62 | # The returned value is the name of the fully reduced workspace |
|---|
| 63 | #reduced = WavRangeReduction(2.0, 14.0, NewTrans) |
|---|
| 64 | #plotSpectrum(reduced,0) |
|---|
| 65 | |
|---|
| 66 | # ... OR ... |
|---|
| 67 | |
|---|
| 68 | # Looping over other ranges |
|---|
| 69 | wav1 = 2.0 |
|---|
| 70 | wav2 = wav1 + 2.0 |
|---|
| 71 | reduced = WavRangeReduction(wav1, wav2, DefaultTrans) |
|---|
| 72 | ws_list = [reduced] |
|---|
| 73 | for i in range(2,7): |
|---|
| 74 | print 'j = ', j, ', i = ', i |
|---|
| 75 | wav1 = i*2.0 |
|---|
| 76 | wav2 = wav1 + 2.0 |
|---|
| 77 | reduced = WavRangeReduction(wav1, wav2, DefaultTrans) |
|---|
| 78 | ws_list.append(reduced) |
|---|
| 79 | plt = plotSpectrum(ws_list, 0) |
|---|
| 80 | plt.confirmClose(False) |
|---|
| 81 | plt.close() |
|---|
| 82 | |
|---|
| 83 | # remove all of the workspaces |
|---|
| 84 | workspaces = mtd.getWorkspaceNames() |
|---|
| 85 | for w in workspaces: |
|---|
| 86 | DeleteWorkspace(w) |
|---|