source: sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/Vx_Nexus_SANS_Write.ipf

Last change on this file was 1242, checked in by srkline, 3 years ago

updating the IgorVersion? pragma to v7.0 for all files to be consistent.

File size: 11.0 KB
Line 
1#pragma rtGlobals=1             // Use modern global access method.
2#pragma IgorVersion = 7.00
3
4
5//
6//
7//
8//
9// AUG 2015 **************
10////////////
11// this needs to be connected to the "new" Nexus file
12// remove the VSANS references, match to SASCALC, write proper documentation, etc.
13///////////
14
15
16
17
18//
19// this is a test of the "new" SANS file structure that is supposed to be
20// NeXus compliant. It doesn't have the NICE logs, but has everything that I
21// can think of here.
22//
23
24///
25// for the simulator, routines to be able to write out a proper Nexus file
26// based on a template
27////
28
29
30
31// overwrites the dummy values as needed with SASCALC information
32//
33// TODO
34// issues here with the potential for Nexus to have data as INTEGER
35// where I'd rather have the data here in Igor be DP, so there are no
36// conversion/assignment issues
37//
38// simuation data from VCALC = DP, but I need to assign to an Integer wave...
39// - sometimes this works, sometimes not...
40// may need to Redimension/I
41//
42/// break this up into several smaller procedures as this is a VERY lengthy task to do
43
44        // TODO
45// set the "accessible" copies of the data (these are really to be links in the file!)
46
47
48
49//
50// A "template" VSANS Nexus file has been loaded and is then filled in with
51// the simulation results. Some of teh file, will therefor be garbage, but the
52// overall structure and attributes should be correct.
53//
54// Hopefully this will make the maintenance and testing of the file structure easier...
55// AUG 2015
56//
57///////////////////////////
58//
59// these are all of the VCALC changes to the simulated files. ADD to these as needed, making these changes to the
60// folder structure after the "default" values have been re-filled in the waves (to make sure something is really there)
61//
62////////////////////////
63
64// TODO:
65//      -- Need to write all of the "accessors" to r/w all of the simulated bits to the data file... lots to do
66// -- THIS DOES NOT MATCH THE CURRENT NICE_GENERATED FILE !!!!
67//
68
69
70
71//
72// this is NOT linked in any way with SASCALC, and I have no idea
73// of how to ever keep this in sync if the Nexus tree changes...
74//
75Proc H_Fill_SANS_Template_wSim()
76
77SetDataFolder  root:SANS_file           
78                file_name       = "SANSTest.h5"
79                file_time       = "2015-02-28T08:15:30-5:00"
80                facility        = "NCNR"
81                NeXus_version   = "Nexus 0.0"
82                hdf_version     = "hdf5.x"
83                file_history    = "history log"
84        SetDataFolder  root:SANS_file:entry1           
85                        title   = "title of entry1"
86                        experiment_identifier   = 684636
87                        experiment_description  = "description of expt"
88                        entry_identifier        = "S22-33"
89                        definition      = "NXsas"
90                        start_time      = "2015-02-28T08:15:30-5:00"
91                        end_time        = "2015-02-28T08:15:30-5:00"
92                        duration        = 300
93                        collection_time = 300
94                        run_cycle       = "S22-23"
95                        data_directory  = "[NG7SANS41]"
96                        program_name    = "runPoint={stuff}"
97                SetDataFolder  root:SANS_file:entry1:user               
98                                name    = "Dr. Pi"
99                                role    = "evil scientist"
100                                affiliation     = "NIST"
101                                address = "100 Bureau Drive"
102                                telephoneNumber = "301-999-9999"
103                                faxNumber       = "301-999-9999"
104                                email   = "sans@nist"
105                                facility_user_id        = 6937596
106                SetDataFolder  root:SANS_file:entry1:control           
107                                mode    = "timer"
108                                preset  = 555
109                                integral        = 555
110                                monitor_counts  = 666
111                                monitor_preset  = 1e8
112                                detector_counts = 100111222
113                                detector_preset = 1e5
114//                              type    = "monitor type"
115//                              efficiency      = 0.01
116//                              sampled_fraction        = 1
117                                count_start     = 1
118                                count_end       = 1
119                                count_time      = 1
120                                count_time_preset       = 1
121//              SetDataFolder  root:SANS_file:entry1:program_name               
122//                              data    = "program data"
123//                              description     = "acquisition"
124//                              file_name       = "NICE"
125//                              type    = "client"
126                SetDataFolder  root:SANS_file:entry1:sample             
127                                description     = "My Sample"
128                                group_id        = 12345
129//                              chemical_formula        = "C8H10N4O2"
130                        SetDataFolder  root:SANS_file:entry1:sample:temperature_1               
131                                        name    = "Sample temperature"
132                                        attached_to     = "block"
133                                        measurement     = "temperature"
134                                SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log             
135                                                start   = "2015-02-28T08:15:30-5:00"
136                                                nx_time = p
137                                                value   = 2*p
138                        SetDataFolder  root:SANS_file:entry1:sample:temperature_2               
139                                        name    = "Sample temperature"
140                                        attached_to     = "block"
141                                        measurement     = "temperature"
142                                SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log             
143                                                start   = "2015-02-28T08:15:30-5:00"
144                                                nx_time = p
145                                                value   = 3*p
146                        SetDataFolder  root:SANS_file:entry1:sample:electric_field             
147                                        name    = "electric meter"
148                                        attached_to     = "sample"
149                                        measurement     = "voltage"
150                                SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log           
151                                                start   = "2015-02-28T08:15:30-5:00"
152                                                nx_time = 2*p
153                                                value   = sin(p/10)
154                        SetDataFolder  root:SANS_file:entry1:sample:shear_field         
155                                        name    = "rheometer"
156                                        attached_to     = "sample"
157                                        measurement     = "stress"
158                                SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log               
159                                                start   = "2015-02-28T08:15:30-5:00"
160                                                nx_time = p
161                                                value   = cos(p/5)
162                        SetDataFolder  root:SANS_file:entry1:sample:pressure           
163                                        name    = "Sample pressure"
164                                        attached_to     = "pressure cell"
165                                        measurement     = "pressure"
166                                SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log         
167                                                start   = "2015-02-28T08:15:30-5:00"
168                                                nx_time = p
169                                                value   = p/2
170                        SetDataFolder  root:SANS_file:entry1:sample:magnetic_field             
171                                        name    = "magnetic field (direction)"
172                                        attached_to     = "cryostat"
173                                        measurement     = "magnetic field"
174                                SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log           
175                                                start   = "2015-02-28T08:15:30-5:00"
176                                                nx_time = p
177                                                value   = 10*p
178                        SetDataFolder  root:SANS_file:entry1:sample             
179                                changer_position        = 5
180                                sample_holder_description       = "10CB"
181//                              mass    = 0.3
182//                              density = 1.02
183//                              molecular_weight        = 194.19
184//                              description     = "My Sample"
185//                              preparation_date        = "2015-02-28T08:15:30-5:00"
186//                              volume_fraction = 0.2
187//                              scattering_length_density       = 6.35e-6
188                                thickness       = 0.1
189                                rotation_angle  = 30
190                                transmission    = 0.888
191                                transmission_error      = 0.011
192//                              xs_incoh        = 5.5
193//                              xs_coh  = 22.2
194//                              xs_absorb       = 3.1
195                SetDataFolder  root:SANS_file:entry1:instrument         
196//                              location        = "NCNR"
197                                name    = "NGB30mSANS"
198                                type    = "30 m SANS"
199                                local_contact   = "Steve Kline"
200                        SetDataFolder  root:SANS_file:entry1:instrument:source         
201                                        name    = "NCNR"
202                                        type    = "Reactor Neutron Source"
203                                        probe   = "neutron"
204                                        power   = 20
205                        SetDataFolder root:SANS_file:entry1:instrument:beam_monitor             
206                                        data    = 1234567
207                                        type    = "monitor"
208                                        efficiency      = 0.01
209                                        nx_distance     = 16
210                                        saved_count     = 1e8
211                        SetDataFolder  root:SANS_file:entry1:instrument:monochromator           
212                                        wavelength      = 6
213                                        wavelength_spread       = 0.15
214                                        type    = "VS"
215                                SetDataFolder  root:SANS_file:entry1:instrument:monochromator:velocity_selector         
216                                                rotation_speed  = 5100
217                                                wavelength      = 6
218                                                wavelength_spread       = 0.15
219                                                vs_tilt = 3
220                                                nx_distance     = 18.8
221                                                //table
222                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer               
223                                        type    = "supermirror"
224                                        composition     = "multilayer"
225                                        efficiency      = 0.95
226                                        status  = "in"
227                        SetDataFolder  root:SANS_file:entry1:instrument:flipper         
228                                        status  = "on"
229                                        driving_current = 42
230                                        waveform        = "sine"
231                                        frequency       = 400
232                                        transmitted_power       = 0.99
233                        SetDataFolder  root:SANS_file:entry1:instrument:polarizer_analyzer             
234                                        status  = "down"
235                                        guide_field_current_1   = 33
236                                        guide_field_current_2   = 32
237                                        solenoid_current        = 21
238                                        cell_index      = 1
239                                        cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"}
240                                        cell_parameters = 1
241                        SetDataFolder  root:SANS_file:entry1:instrument:chopper         
242                                        type    = "single"
243                                        status  = "in"
244                                        rotation_speed  = 12000
245                                        distance_from_source    = 400
246                                        distance_from_sample    = 1500
247                                        slits   = 2
248                                        angular_opening = 15
249                                        duty_cycle      = 0.25
250                        SetDataFolder  root:SANS_file:entry1:instrument:attenuator             
251                                        nx_distance     = 1500
252                                        type    = "PMMA"
253                                        thickness       = 0
254                                        attenuator_transmission = 1
255                                        status  = "in"
256                                        atten_number    = 0
257                                        index   = 1
258                        SetDataFolder  root:SANS_file:entry1:instrument:source_aperture         
259//                                      material        = "Gd"
260                                        description     = "source aperture"
261                                        diameter        = 1.27
262                                        nx_distance     = 13.0
263                                SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape           
264                                                size    = 1.27
265                        SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture         
266//                                      material        = "Gd"
267                                        description     = "sample aperture"
268                                        diameter        = 1.27
269                                        nx_distance     = 10
270                                SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape           
271                                                size    = 1.27
272                        SetDataFolder root:SANS_file:entry1:instrument:collimator               
273                                SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry             
274                                        SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry:shape               
275                                                        shape   = "box"
276                                                        size    = 11
277                                        nx_NumGuides    = 1
278                        SetDataFolder  root:SANS_file:entry1:instrument:lenses         
279                                        status  = "in"
280                                        lens_geometry   = "concave_lens"
281                                        focus_type      = "point"
282                                        number_of_lenses        = 28
283                                        number_of_prisms        = 7
284                                        curvature       = 1
285                                        lens_distance   = 123
286                                        prism_distance  = 123
287                                        lens_material   = "MgF2"
288                                        prism_material  = "MgF2"
289                        SetDataFolder  root:SANS_file:entry1:instrument:sample_table           
290                                        location        = "chamber"
291                                        offset_distance = 0
292                        SetDataFolder  root:SANS_file:entry1:instrument:beam_stop               
293                                        description     = "circular"
294                                        nx_distance     = 12.5
295                                        size    = 7.62
296                                        status  = "out"
297                                        xPos    = 66.4
298                                        yPos    = 64.4
299                                        x_motor_position        = 0.15
300                                        y_motor_position        = 0.55
301                        SetDataFolder  root:SANS_file:entry1:instrument:detector               
302                                        data    = trunc(abs(gnoise(p+q)))
303//                                      data_error      = 0.01*abs(gnoise(p+q))
304                                        nx_distance     = 13.1
305                                        description     = "Ordela 2660N"
306                                        settings        = "just right"
307                                        dead_time       = 5e-6
308                                        x_pixel_size    = 5.08
309                                        y_pixel_size    = 5.08
310                                        beam_center_x   = 65.55
311                                        beam_center_y   = 62.33
312                                        type    = "Ordela"
313//                                      flatfield_applied       = 0
314//                                      countrate_correction_applied    = 0
315                                        pixel_mask      = 0
316                                        integrated_count        = 100111222
317                                        lateral_offset  = 20
318                                        PixelNumX       = 128
319                                        PixelNumY       = 128
320                                        PixelFWHM       = 0.5
321                                        //calibration_method   
322                                        CALX    = {0.5,0.5,10000}
323                                        CALY    = {0.5,0.5,10000}
324                                        size    = 65
325                                        event_file_name ="something.hst"
326                SetDataFolder  root:SANS_file:entry1:data               
327                                data    = trunc(abs(gnoise(p+q)))
328//                              error   = 0.01*abs(gnoise(p+q))
329                                variables       = {128,128}
330                                data_image      = p
331                SetDataFolder  root:SANS_file:entry1:reduction         
332                                intent  = "SCATTER"
333                                transmission_file_name  = "SANSFile_TRN.h5"
334                                empty_beam_file_name    = "SANSFile_EB.h5"
335                                background_file_name    = "SANSFile_BKG.h5"
336                                empty_file_name = "SANSFile_EMP.h5"
337                                sensitivity_file_name   = "SANSFile_DIV.h5"
338                                mask_file_name  = "SANSFile_MASK.h5"
339                                sans_log_file_name      = "SANSFile_log.txt"
340                                whole_trans     = 0.888
341                                whole_trans_error       = 0.008
342                                box_count       = 23232
343                                box_count_error = 22
344                                box_coordinates = {50,80,45,75}
345                                comments        = "extra data comments"
346                                absolute_scaling        = {1,1,1e5,1}
347                        SetDataFolder  root:SANS_file:entry1:reduction:pol_sans         
348                                        pol_sans_purpose        = "name from the list"
349                                        cell_name       = "Burgundy"
350                                        cell_parameters = {1,2,3,4,5}
351                                               
352        SetDataFolder  root:SANS_file:DAS_Logs         
353                        //...multiple entries and levels... to add     
354
355
356        SetDataFolder root:
357
358End
359
360
361
Note: See TracBrowser for help on using the repository browser.