Ignore:
Timestamp:
Aug 12, 2015 12:04:50 PM (7 years ago)
Author:
srkline
Message:

more work with SANS and VSANS Nexus files, still trying to organize the r/w routines for just the basic testing of the first pass of NICE-generated files. Ditched the idea of generating the files from Igor, since DAS_log is not included. Now the plan is to start from a NICE/Nexus template. All still EXTREMELY fluid at this point.

Location:
sans/Dev/trunk/NCNR_User_Procedures/Reduction
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/HDF5gateway_NCNR.ipf

    r955 r960  
    397397//@- 
    398398 
    399 Function/T H5GW_ReadHDF5(parentFolder, fileName, [hdf5Path]) 
     399Function/S H5GW_ReadHDF5(parentFolder, fileName, [hdf5Path]) 
    400400        String parentFolder, fileName, hdf5Path 
    401401        if ( ParamIsDefault(hdf5Path) ) 
     
    414414                return parentFolder + " (Igor folder) not found" 
    415415        endif 
    416          
     416 
     417 
    417418        // do the work here: 
    418419        Variable/G fileID = H5GW__OpenHDF5_RO(fileName) 
     
    420421                return fileName + ": could not open as HDF5 file" 
    421422        endif 
     423         
     424s_tic()         //fast  
    422425         
    423426        SVAR tmpStr=root:file_name 
     
    431434                return fileName + ": problem while opening HDF5 file" 
    432435        endif 
     436 
     437s_toc() 
     438         
     439//s_tic()               // this is the slow part, 0.7s for Igor-generated. > 9s for NICE (which has DAS_log) 
     440 
    433441        String/G objectPaths = S_objectPaths  // this gives a clue to renamed datasets (see below for attributes) 
    434442        //   read the attributes 
     
    444452        Note $file_info, "file_path="+file_path 
    445453 
    446         KillStrings/Z file_path, file_name, objectPaths, group_name_list, dataset_name_list 
     454        KillStrings/Z file_path, objectPaths, group_name_list, dataset_name_list // ,file_name 
    447455        KillVariables/Z fileID 
     456 
     457//s_toc() 
    448458         
    449459        SetDataFolder $oldFolder 
     
    834844                file_infoT[ii][Igor_col] = StringFromList(1, item, keySep) 
    835845        endfor 
     846 
    836847End 
    837848 
     
    9981009        Variable dataset_attributes_type = 2 
    9991010         
     1011//s_tic()       // 0.11 s 
    10001012        // read and assign group attributes 
    10011013        String S_HDF5ListGroup 
     
    10241036                SetDataFolder $old_dir 
    10251037        endfor 
     1038 
     1039//s_toc() 
     1040//s_tic()       // 3.2 s !! 
    10261041         
    10271042        // read and assign dataset attributes 
     
    10381053        sprintf file_info, ":%s:HDF5___xref", baseName 
    10391054        Wave/T xref = $file_info 
     1055 
     1056//s_toc() 
     1057//s_tic()       // worst @ 6.3 s 
    10401058 
    10411059        Variable row 
     
    10551073                endif 
    10561074        endfor 
     1075//s_toc() 
    10571076 
    10581077End 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/Nexus_SANS_Write.ipf

    r959 r960  
    11#pragma rtGlobals=1             // Use modern global access method. 
     2 
     3 
     4// AUG 2015 ************** 
     5//////////// 
     6// this needs to be connected to the "new" Nexus file 
     7// remove the VSANS references, match to SASCALC, write proper documentation, etc. 
     8/////////// 
     9 
     10 
    211 
    312 
     
    817// 
    918 
    10  
    11  
    12  
    13  
    14 // 
    15 // lays out the tree and fills with dummy values 
    16 // 
    17 Proc H_Setup_SANS_Structure() 
    18          
    19         Variable n=100 
    20          
    21 NewDataFolder/O/S root:SANS_file         
    22         Make/O/T/N=1    file_name       = "SANSTest.h5" 
    23         Make/O/T/N=1    file_time       = "2015-02-28T08:15:30-5:00" 
    24         Make/O/T/N=1    facility        = "NCNR" 
    25         Make/O/T/N=1    NeXus_version   = "Nexus 0.0" 
    26         Make/O/T/N=1    hdf_version     = "hdf5.x" 
    27         Make/O/T/N=1    file_history    = "history log" 
    28         NewDataFolder/O/S  root:SANS_file:entry1                 
    29                 Make/O/T/N=1    title   = "title of entry1" 
    30                 Make/O/D/N=1    experiment_identifier   = 684636 
    31                 Make/O/T/N=1    experiment_description  = "description of expt" 
    32                 Make/O/T/N=1    entry_identifier        = "S22-33" 
    33                 Make/O/T/N=1    definition      = "NXsas" 
    34                 Make/O/T/N=1    start_time      = "2015-02-28T08:15:30-5:00" 
    35                 Make/O/T/N=1    end_time        = "2015-02-28T08:15:30-5:00" 
    36                 Make/O/D/N=1    duration        = 300 
    37                 Make/O/D/N=1    collection_time = 300 
    38                 Make/O/T/N=1    run_cycle       = "S22-23" 
    39                 Make/O/T/N=1    data_directory  = "[NG7SANS41]" 
    40                 Make/O/T/N=1    program_name    = "runPoint={stuff}" 
    41                 NewDataFolder/O/S  root:SANS_file:entry1:user            
    42                         Make/O/T/N=1    name    = "Dr. Pi" 
    43                         Make/O/T/N=1    role    = "evil scientist" 
    44                         Make/O/T/N=1    affiliation     = "NIST" 
    45                         Make/O/T/N=1    address = "100 Bureau Drive" 
    46                         Make/O/T/N=1    telephoneNumber = "301-999-9999" 
    47                         Make/O/T/N=1    faxNumber       = "301-999-9999" 
    48                         Make/O/T/N=1    email   = "sans@nist" 
    49                         Make/O/I/N=1    facility_user_id        = 6937596 
    50                 NewDataFolder/O/S  root:SANS_file:entry1:control                 
    51                         Make/O/T/N=1    mode    = "timer" 
    52                         Make/O/D/N=1    preset  = 555 
    53                         Make/O/D/N=1    integral        = 555 
    54                         Make/O/D/N=1    monitor_counts  = 666 
    55                         Make/O/D/N=1    monitor_preset  = 1e8 
    56                         Make/O/D/N=1    detector_counts = 100111222 
    57                         Make/O/D/N=1    detector_preset = 1e5 
    58 //                      Make/O/T/N=1    type    = "monitor type" 
    59 //                      Make/O/D/N=1    efficiency      = 0.01 
    60 //                      Make/O/D/N=1    sampled_fraction        = 1 
    61                         Make/O/D/N=1    count_start     = 1 
    62                         Make/O/D/N=1    count_end       = 1 
    63                         Make/O/D/N=1    count_time      = 1 
    64                         Make/O/D/N=1    count_time_preset       = 1 
    65 //              NewDataFolder/O/S  root:SANS_file:entry1:program_name            
    66 //                      Make/O/T/N=1    data    = "program data" 
    67 //                      Make/O/T/N=1    description     = "acquisition" 
    68 //                      Make/O/T/N=1    file_name       = "NICE" 
    69 //                      Make/O/T/N=1    type    = "client" 
    70                 NewDataFolder/O/S  root:SANS_file:entry1:sample          
    71                         Make/O/T/N=1    description     = "My Sample" 
    72                         Make/O/D/N=1    group_id        = 12345 
    73 //                      Make/O/T/N=1    chemical_formula        = "C8H10N4O2" 
    74                         NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1            
    75                                 Make/O/T/N=1    name    = "Sample temperature" 
    76                                 Make/O/T/N=1    attached_to     = "block" 
    77                                 Make/O/T/N=1    measurement     = "temperature" 
    78                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_1:value_log          
    79                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    80                                         Make/O/D/N=(n)  nx_time = p 
    81                                         Make/O/D/N=(n)  value   = 2*p 
    82                         NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2            
    83                                 Make/O/T/N=1    name    = "Sample temperature" 
    84                                 Make/O/T/N=1    attached_to     = "block" 
    85                                 Make/O/T/N=1    measurement     = "temperature" 
    86                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:temperature_2:value_log          
    87                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    88                                         Make/O/D/N=(n)  nx_time = p 
    89                                         Make/O/D/N=(n)  value   = 3*p 
    90                         NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field           
    91                                 Make/O/T/N=1    name    = "electric meter" 
    92                                 Make/O/T/N=1    attached_to     = "sample" 
    93                                 Make/O/T/N=1    measurement     = "voltage" 
    94                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:electric_field:value_log                 
    95                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    96                                         Make/O/D/N=(n)  nx_time = 2*p 
    97                                         Make/O/D/N=(n)  value   = sin(p/10) 
    98                         NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field              
    99                                 Make/O/T/N=1    name    = "rheometer" 
    100                                 Make/O/T/N=1    attached_to     = "sample" 
    101                                 Make/O/T/N=1    measurement     = "stress" 
    102                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:shear_field:value_log            
    103                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    104                                         Make/O/D/N=(n)  nx_time = p 
    105                                         Make/O/D/N=(n)  value   = cos(p/5) 
    106                         NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure                 
    107                                 Make/O/T/N=1    name    = "Sample pressure" 
    108                                 Make/O/T/N=1    attached_to     = "pressure cell" 
    109                                 Make/O/T/N=1    measurement     = "pressure" 
    110                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:pressure:value_log               
    111                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    112                                         Make/O/D/N=(n)  nx_time = p 
    113                                         Make/O/D/N=(n)  value   = p/2 
    114                         NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field           
    115                                 Make/O/T/N=1    name    = "magnetic field (direction)" 
    116                                 Make/O/T/N=1    attached_to     = "cryostat" 
    117                                 Make/O/T/N=1    measurement     = "magnetic field" 
    118                                 NewDataFolder/O/S  root:SANS_file:entry1:sample:magnetic_field:value_log                 
    119                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    120                                         Make/O/D/N=(n)  nx_time = p 
    121                                         Make/O/D/N=(n)  value   = 10*p 
    122                         SetDataFolder  root:SANS_file:entry1:sample              
    123                         Make/O/D/N=1    changer_position        = 5 
    124                         Make/O/T/N=1    sample_holder_description       = "10CB" 
    125 //                      Make/O/D/N=1    mass    = 0.3 
    126 //                      Make/O/D/N=1    density = 1.02 
    127 //                      Make/O/D/N=1    molecular_weight        = 194.19 
    128 //                      Make/O/T/N=1    description     = "My Sample" 
    129 //                      Make/O/T/N=1    preparation_date        = "2015-02-28T08:15:30-5:00" 
    130 //                      Make/O/D/N=1    volume_fraction = 0.2 
    131 //                      Make/O/D/N=1    scattering_length_density       = 6.35e-6 
    132                         Make/O/D/N=1    thickness       = 0.1 
    133                         Make/O/D/N=1    rotation_angle  = 30 
    134                         Make/O/D/N=1    transmission    = 0.888 
    135                         Make/O/D/N=1    transmission_error      = 0.011 
    136 //                      Make/O/D/N=1    xs_incoh        = 5.5 
    137 //                      Make/O/D/N=1    xs_coh  = 22.2 
    138 //                      Make/O/D/N=1    xs_absorb       = 3.1 
    139                 NewDataFolder/O/S  root:SANS_file:entry1:instrument              
    140 //                      Make/O/T/N=1    location        = "NCNR" 
    141                         Make/O/T/N=1    name    = "NGB30mSANS" 
    142                         Make/O/T/N=1    type    = "30 m SANS" 
    143                         Make/O/T/N=1    local_contact   = "Steve Kline" 
    144                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:source               
    145                                 Make/O/T/N=1    name    = "NCNR" 
    146                                 Make/O/T/N=1    type    = "Reactor Neutron Source" 
    147                                 Make/O/T/N=1    probe   = "neutron" 
    148                                 Make/O/D/N=1    power   = 20 
    149                         NewDataFolder/O/S root:SANS_file:entry1:instrument:beam_monitor          
    150                                 Make/O/D/N=1    data    = 1234567 
    151                                 Make/O/T/N=1    type    = "monitor" 
    152                                 Make/O/D/N=1    efficiency      = 0.01 
    153                                 Make/O/D/N=1    nx_distance     = 16 
    154                                 Make/O/D/N=1    saved_count     = 1e8 
    155                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:monochromator                
    156                                 Make/O/D/N=1    wavelength      = 6 
    157                                 Make/O/D/N=1    wavelength_spread       = 0.15 
    158                                 Make/O/T/N=1    type    = "VS" 
    159                                 NewDataFolder/O/S  root:SANS_file:entry1:instrument:monochromator:velocity_selector              
    160                                         Make/O/D/N=1    rotation_speed  = 5100 
    161                                         Make/O/D/N=1    wavelength      = 6 
    162                                         Make/O/D/N=1    wavelength_spread       = 0.15 
    163                                         Make/O/D/N=1    vs_tilt = 3 
    164                                         Make/O/D/N=1    nx_distance     = 18.8 
    165                                                 //table  
    166                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:polarizer            
    167                                 Make/O/T/N=1    type    = "supermirror" 
    168                                 Make/O/T/N=1    composition     = "multilayer" 
    169                                 Make/O/D/N=1    efficiency      = 0.95 
    170                                 Make/O/T/N=1    status  = "in" 
    171                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:flipper              
    172                                 Make/O/T/N=1    status  = "on" 
    173                                 Make/O/D/N=1    driving_current = 42 
    174                                 Make/O/T/N=1    waveform        = "sine" 
    175                                 Make/O/D/N=1    frequency       = 400 
    176                                 Make/O/D/N=1    transmitted_power       = 0.99 
    177                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:polarizer_analyzer           
    178                                 Make/O/T/N=1    status  = "down" 
    179                                 Make/O/D/N=1    guide_field_current_1   = 33 
    180                                 Make/O/D/N=1    guide_field_current_2   = 32 
    181                                 Make/O/D/N=1    solenoid_current        = 21 
    182                                 Make/O/D/N=1    cell_index      = 1 
    183                                 Make/O/T/N=(5)  cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"} 
    184                                 Make/O/D/N=(5,2)        cell_parameters = 1 
    185                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:chopper              
    186                                 Make/O/T/N=1    type    = "single" 
    187                                 Make/O/T/N=1    status  = "in" 
    188                                 Make/O/D/N=1    rotation_speed  = 12000 
    189                                 Make/O/D/N=1    distance_from_source    = 400 
    190                                 Make/O/D/N=1    distance_from_sample    = 1500 
    191                                 Make/O/D/N=1    slits   = 2 
    192                                 Make/O/D/N=1    angular_opening = 15 
    193                                 Make/O/D/N=1    duty_cycle      = 0.25 
    194                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:attenuator           
    195                                 Make/O/D/N=1    nx_distance     = 1500 
    196                                 Make/O/T/N=1    type    = "PMMA" 
    197                                 Make/O/D/N=1    thickness       = 0 
    198                                 Make/O/D/N=1    attenuator_transmission = 1 
    199                                 Make/O/T/N=1    status  = "in" 
    200                                 Make/O/D/N=1    atten_number    = 0 
    201                                 Make/O/D/N=(10,10)      index   = 1 
    202                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture              
    203 //                              Make/O/T/N=1    material        = "Gd" 
    204                                 Make/O/T/N=1    description     = "source aperture" 
    205                                 Make/O/D/N=1    diameter        = 1.27 
    206                                 Make/O/D/N=1    nx_distance     = 13.0 
    207                                 NewDataFolder/O/S  root:SANS_file:entry1:instrument:source_aperture:shape                
    208                                         Make/O/D/N=(1,2)        size    = 1.27 
    209                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture              
    210 //                              Make/O/T/N=1    material        = "Gd" 
    211                                 Make/O/T/N=1    description     = "sample aperture" 
    212                                 Make/O/D/N=1    diameter        = 1.27 
    213                                 Make/O/D/N=1    nx_distance     = 10 
    214                                 NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_aperture:shape                
    215                                         Make/O/D/N=(1,2)        size    = 1.27 
    216                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:collimator           
    217                                 NewDataFolder/O/S root:SANS_file:entry1:instrument:collimator:geometry           
    218                                         NewDataFolder/O/S root:SANS_file:entry1:instrument:collimator:geometry:shape             
    219                                                 Make/O/T/N=1    shape   = "box" 
    220                                                 Make/O/D/N=1    size    = 11 
    221                                 Make/O/I/N=1    nx_NumGuides    = 1 
    222                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:lenses               
    223                                 Make/O/T/N=1    status  = "in" 
    224                                 Make/O/T/N=1    lens_geometry   = "concave_lens" 
    225                                 Make/O/T/N=1    focus_type      = "point" 
    226                                 Make/O/I/N=1    number_of_lenses        = 28 
    227                                 Make/O/I/N=1    number_of_prisms        = 7 
    228                                 Make/O/D/N=1    curvature       = 1 
    229                                 Make/O/D/N=1    lens_distance   = 123 
    230                                 Make/O/D/N=1    prism_distance  = 123 
    231                                 Make/O/T/N=1    lens_material   = "MgF2" 
    232                                 Make/O/T/N=1    prism_material  = "MgF2" 
    233                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:sample_table                 
    234                                 Make/O/T/N=1    location        = "chamber" 
    235                                 Make/O/D/N=1    offset_distance = 0 
    236                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:beam_stop            
    237                                 Make/O/T/N=1    description     = "circular" 
    238                                 Make/O/D/N=1    nx_distance     = 12.5 
    239                                 Make/O/D/N=1    size    = 7.62 
    240                                 Make/O/T/N=1    status  = "out" 
    241                                 Make/O/D/N=1    xPos    = 66.4 
    242                                 Make/O/D/N=1    yPos    = 64.4 
    243                                 Make/O/D/N=1    x_motor_position        = 0.15 
    244                                 Make/O/D/N=1    y_motor_position        = 0.55 
    245                         NewDataFolder/O/S  root:SANS_file:entry1:instrument:detector             
    246                                 Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q))) 
    247 //                              Make/O/D/N=(128,128)    data_error      = 0.01*abs(gnoise(p+q)) 
    248                                 Make/O/D/N=1    nx_distance     = 13.1 
    249                                 Make/O/T/N=1    description     = "Ordela 2660N" 
    250                                 Make/O/T/N=1    settings        = "just right" 
    251                                 Make/O/D/N=1    dead_time       = 5e-6 
    252                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    253                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    254                                 Make/O/D/N=1    beam_center_x   = 65.55 
    255                                 Make/O/D/N=1    beam_center_y   = 62.33 
    256                                 Make/O/T/N=1    type    = "Ordela" 
    257 //                              Make/O/D/N=1    flatfield_applied       = 0 
    258 //                              Make/O/D/N=1    countrate_correction_applied    = 0 
    259                                 Make/O/D/N=(128,128)    pixel_mask      = 0 
    260                                 Make/O/I/N=1    integrated_count        = 100111222 
    261                                 Make/O/D/N=1    lateral_offset  = 20 
    262                                 Make/O/I/N=1    PixelNumX       = 128 
    263                                 Make/O/I/N=1    PixelNumY       = 128 
    264                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    265                                         //calibration_method     
    266                                 Make/O/D/N=3    CALX    = {0.5,0.5,10000} 
    267                                 Make/O/D/N=3    CALY    = {0.5,0.5,10000} 
    268                                 Make/O/D/N=1    size    = 65 
    269                                 Make/O/T/N=1    event_file_name ="something.hst" 
    270                 NewDataFolder/O/S  root:SANS_file:entry1:data            
    271                         Make/O/I/N=(128,128)    data    = trunc(abs(gnoise(p+q))) 
    272 //                      Make/O/D/N=(128,128)    error   = 0.01*abs(gnoise(p+q)) 
    273                         Make/O/D/N=2    variables       = {128,128} 
    274                         Make/O/I/N=(128,128)    data_image      = p 
    275                 NewDataFolder/O/S  root:SANS_file:entry1:reduction               
    276                         Make/O/T/N=1    intent  = "SCATTER" 
    277                         Make/O/T/N=1    transmission_file_name  = "SANSFile_TRN.h5" 
    278                         Make/O/T/N=1    empty_beam_file_name    = "SANSFile_EB.h5" 
    279                         Make/O/T/N=1    background_file_name    = "SANSFile_BKG.h5" 
    280                         Make/O/T/N=1    empty_file_name = "SANSFile_EMP.h5" 
    281                         Make/O/T/N=1    sensitivity_file_name   = "SANSFile_DIV.h5" 
    282                         Make/O/T/N=1    mask_file_name  = "SANSFile_MASK.h5" 
    283                         Make/O/T/N=1    sans_log_file_name      = "SANSFile_log.txt" 
    284                         Make/O/D/N=1    whole_trans     = 0.888 
    285                         Make/O/D/N=1    whole_trans_error       = 0.008 
    286                         Make/O/D/N=1    box_count       = 23232 
    287                         Make/O/D/N=1    box_count_error = 22 
    288                         Make/O/I/N=4    box_coordinates = {50,80,45,75} 
    289                         Make/O/T/N=1    comments        = "extra data comments" 
    290                         Make/O/D/N=4    absolute_scaling        = {1,1,1e5,1} 
    291                         NewDataFolder/O/S  root:SANS_file:entry1:reduction:pol_sans              
    292                                 Make/O/T/N=1    pol_sans_purpose        = "name from the list" 
    293                                 Make/O/T/N=1    cell_name       = "Burgundy" 
    294                                 Make/O/D/N=(5)  cell_parameters = {1,2,3,4,5} 
    295                                                  
    296  
    297         NewDataFolder/O/S  root:SANS_file:DAS_Logs               
    298                         //...multiple entries and levels... to add       
    299  
    300         SetDataFolder root: 
    301          
    302 End 
    303  
    304  
    305  
    306  
    307 Proc H_Fill_SANS_Attributes() 
    308  
    309 SetDataFolder  root:SANS_file            
    310         Make/O/N=0 Igor___folder_attributes      
    311         Note/K Igor___folder_attributes, "producer=IgorPro\rNX_class=NXroot" 
    312         //      file_name                
    313         //      file_time                
    314         //      facility                 
    315         //      NeXus_version            
    316         //      hdf_version              
    317         //      file_history             
    318         SetDataFolder  root:SANS_file:entry1             
    319                 Make/O/N=0 Igor___folder_attributes      
    320                 Note/K Igor___folder_attributes, "NX_class=NXentry" 
    321                 //      title            
    322                 //      experiment_identifier            
    323                 //      experiment_description           
    324                 //      entry_identifier                 
    325                 //      definition               
    326                 //      start_time               
    327                 //      end_time                 
    328                 //      duration                 
    329                 Note/K duration, "units=s" 
    330                 //      collection_time          
    331                 Note/K collection_time, "units=s" 
    332                 //      run_cycle                
    333                 //      data_directory           
    334                 //      program_name             
    335                 SetDataFolder  root:SANS_file:entry1:user                
    336                         Make/O/N=0 Igor___folder_attributes      
    337                         Note/K Igor___folder_attributes, "NX_class=NXuser" 
    338                         //      name             
    339                         //      role             
    340                         //      affiliation              
    341                         //      address          
    342                         //      telephoneNumber          
    343                         //      faxNumber                
    344                         //      email            
    345                         //      facility_user_id                 
    346                 SetDataFolder  root:SANS_file:entry1:control             
    347                         Make/O/N=0 Igor___folder_attributes      
    348                         Note/K Igor___folder_attributes, "NX_class=NXmonitor" 
    349                         //      mode             
    350                         //      preset           
    351                         //      integral                 
    352                         //      monitor_counts           
    353                         //      monitor_preset           
    354                         //      detector_counts          
    355                         //      detector_preset          
    356                         //      type             
    357                         //      efficiency               
    358                         //      sampled_fraction                 
    359                         //      count_start              
    360                         Note/K count_start, "units=s" 
    361                         //      count_end                
    362                         Note/K count_end, "units=s" 
    363                         //      count_time               
    364                         Note/K count_time, "units=s" 
    365                         //      count_time_preset                
    366                         Note/K count_time_preset, "units=s" 
    367 //              SetDataFolder  root:SANS_file:entry1:program_name                
    368 //                      Make/O/N=0 Igor___folder_attributes      
    369                         //      data             
    370                         //      description              
    371                         //      file_name                
    372                         //      type             
    373                 SetDataFolder  root:SANS_file:entry1:sample              
    374                         Make/O/N=0 Igor___folder_attributes      
    375                         Note/K Igor___folder_attributes, "NX_class=NXsample" 
    376                         //      description              
    377                         //      group_id                 
    378                         //      chemical_formula                 
    379                         SetDataFolder  root:SANS_file:entry1:sample:temperature_1                
    380                                 Make/O/N=0 Igor___folder_attributes      
    381                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    382                                 //      name             
    383                                 //      attached_to              
    384                                 //      measurement              
    385                                 SetDataFolder  root:SANS_file:entry1:sample:temperature_1:value_log              
    386                                         Make/O/N=0 Igor___folder_attributes      
    387                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    388                                         //      start            
    389                                         //      nx_time          
    390                                         Note/K nx_time, "units=s" 
    391                                         //      value            
    392                                         Note/K value, "units=C" 
    393                         SetDataFolder  root:SANS_file:entry1:sample:temperature_2                
    394                                 Make/O/N=0 Igor___folder_attributes      
    395                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    396                                 //      name             
    397                                 //      attached_to              
    398                                 //      measurement              
    399                                 SetDataFolder  root:SANS_file:entry1:sample:temperature_2:value_log              
    400                                         Make/O/N=0 Igor___folder_attributes      
    401                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    402                                         //      start            
    403                                         //      nx_time          
    404                                         Note/K nx_time, "units=s" 
    405                                         //      value            
    406                                         Note/K value, "units=C" 
    407                         SetDataFolder  root:SANS_file:entry1:sample:electric_field               
    408                                 Make/O/N=0 Igor___folder_attributes      
    409                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    410                                 //      name             
    411                                 //      attached_to              
    412                                 //      measurement              
    413                                 SetDataFolder  root:SANS_file:entry1:sample:electric_field:value_log             
    414                                         Make/O/N=0 Igor___folder_attributes      
    415                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    416                                         //      start            
    417                                         //      nx_time          
    418                                         Note/K nx_time, "units=s" 
    419                                         //      value            
    420                                         Note/K value, "units=V" 
    421                         SetDataFolder  root:SANS_file:entry1:sample:shear_field          
    422                                 Make/O/N=0 Igor___folder_attributes      
    423                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    424                                 //      name             
    425                                 //      attached_to              
    426                                 //      measurement              
    427                                 SetDataFolder  root:SANS_file:entry1:sample:shear_field:value_log                
    428                                         Make/O/N=0 Igor___folder_attributes      
    429                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    430                                         //      start            
    431                                         //      nx_time          
    432                                         Note/K nx_time, "units=s" 
    433                                         //      value            
    434                                         Note/K value, "units=Pa s" 
    435                         SetDataFolder  root:SANS_file:entry1:sample:pressure             
    436                                 Make/O/N=0 Igor___folder_attributes      
    437                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    438                                 //      name             
    439                                 //      attached_to              
    440                                 //      measurement              
    441                                 SetDataFolder  root:SANS_file:entry1:sample:pressure:value_log           
    442                                         Make/O/N=0 Igor___folder_attributes      
    443                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    444                                         //      start            
    445                                         //      nx_time          
    446                                         Note/K nx_time, "units=s" 
    447                                         //      value            
    448                                         Note/K value, "units=psi" 
    449                         SetDataFolder  root:SANS_file:entry1:sample:magnetic_field               
    450                                 Make/O/N=0 Igor___folder_attributes      
    451                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    452                                 //      name             
    453                                 //      attached_to              
    454                                 //      measurement              
    455                                 SetDataFolder  root:SANS_file:entry1:sample:magnetic_field:value_log             
    456                                         Make/O/N=0 Igor___folder_attributes      
    457                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    458                                         //      start            
    459                                         //      nx_time          
    460                                         Note/K nx_time, "units=s" 
    461                                         //      value            
    462                                         Note/K value, "units=T" 
    463                         SetDataFolder  root:SANS_file:entry1:sample                      
    464                         //      changer_position                 
    465                         //      sample_holder_description                
    466                         //      mass             
    467 //                      Note/K mass, "units=g" 
    468                         //      density          
    469 //                      Note/K density, "units=g ml-1" 
    470                         //      molecular_weight                 
    471 //                      Note/K molecular_weight, "units=g mol-1" 
    472                         //      description              
    473                         //      preparation_date                 
    474                         //      volume_fraction          
    475                         //      scattering_length_density                
    476 //                      Note/K scattering_length_density, "units=A-2" 
    477                         //      thickness                
    478                         Note/K thickness, "units=cm" 
    479                         //      rotation_angle           
    480                         Note/K rotation_angle, "units=degrees" 
    481                         //      transmission             
    482                         //      transmission_error               
    483                         //      xs_incoh                 
    484 //                      Note/K xs_incoh, "units=cm-1" 
    485                         //      xs_coh           
    486 //                      Note/K xs_coh, "units=cm-1" 
    487                         //      xs_absorb                
    488 //                      Note/K xs_absorb, "units=cm-1" 
    489                 SetDataFolder  root:SANS_file:entry1:instrument          
    490                         Make/O/N=0 Igor___folder_attributes      
    491                         Note/K Igor___folder_attributes, "NX_class=NXinstrument" 
    492                         //      location                 
    493                         //      name             
    494                         //      type             
    495                         //      local_contact            
    496                         SetDataFolder  root:SANS_file:entry1:instrument:source           
    497                                 Make/O/N=0 Igor___folder_attributes      
    498                                 Note/K Igor___folder_attributes, "NX_class=NXsource" 
    499                                 //      name             
    500                                 //      type             
    501                                 //      probe            
    502                                 //      power            
    503                                 Note/K power, "units=MW" 
    504                         SetDataFolder root:SANS_file:entry1:instrument:beam_monitor              
    505                                 Make/O/N=0 Igor___folder_attributes      
    506                                 Note/K Igor___folder_attributes, "NX_class=NXmonitor" 
    507                                 //      data             
    508                                 //      type             
    509                                 //      efficiency               
    510                                 //      nx_distance              
    511                                 Note/K nx_distance, "units=m" 
    512                                 //      saved_count              
    513                         SetDataFolder  root:SANS_file:entry1:instrument:monochromator            
    514                                 Make/O/N=0 Igor___folder_attributes      
    515                                 Note/K Igor___folder_attributes, "NX_class=NXmonochromator" 
    516                                 //      wavelength               
    517                                 Note/K wavelength, "units=A" 
    518                                 //      wavelength_spread                
    519                                 //      type             
    520                                 SetDataFolder  root:SANS_file:entry1:instrument:monochromator:velocity_selector          
    521                                         Make/O/N=0 Igor___folder_attributes      
    522                                         Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector" 
    523                                         //      rotation_speed           
    524                                         Note/K rotation_speed, "units=RPM" 
    525                                         //      wavelength               
    526                                         Note/K wavelength, "units=A" 
    527                                         //      wavelength_spread                
    528                                         //      vs_tilt          
    529                                         Note/K vs_tilt, "units=degrees" 
    530                                         //      nx_distance              
    531                                         Note/K nx_distance, "units=m" 
    532                                                 //table          
    533                         SetDataFolder  root:SANS_file:entry1:instrument:polarizer                
    534                                 Make/O/N=0 Igor___folder_attributes      
    535                                 //      type             
    536                                 //      composition              
    537                                 //      efficiency               
    538                                 //      status           
    539                         SetDataFolder  root:SANS_file:entry1:instrument:flipper          
    540                                 Make/O/N=0 Igor___folder_attributes      
    541                                 //      status           
    542                                 //      driving_current          
    543                                 Note/K driving_current, "units=A" 
    544                                 //      waveform                 
    545                                 //      frequency                
    546                                 Note/K frequency, "units=Hz" 
    547                                 //      transmitted_power                
    548                         SetDataFolder  root:SANS_file:entry1:instrument:polarizer_analyzer               
    549                                 Make/O/N=0 Igor___folder_attributes      
    550                                 //      status           
    551                                 //      guide_field_current_1            
    552                                 Note/K guide_field_current_1, "units=A" 
    553                                 //      guide_field_current_2            
    554                                 Note/K guide_field_current_2, "units=A" 
    555                                 //      solenoid_current                 
    556                                 Note/K solenoid_current, "units=A" 
    557                                 //      cell_index               
    558                                 //      cell_names               
    559                                 //      cell_parameters          
    560                         SetDataFolder  root:SANS_file:entry1:instrument:chopper          
    561                                 Make/O/N=0 Igor___folder_attributes      
    562                                 Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper" 
    563                                 //      type             
    564                                 //      status           
    565                                 //      rotation_speed           
    566                                 Note/K rotation_speed, "units=RPM" 
    567                                 //      distance_from_source             
    568                                 Note/K distance_from_source, "units=m" 
    569                                 //      distance_from_sample             
    570                                 Note/K distance_from_sample, "units=m" 
    571                                 //      slits            
    572                                 //      angular_opening          
    573                                 Note/K angular_opening, "units=degrees" 
    574                                 //      duty_cycle               
    575                         SetDataFolder  root:SANS_file:entry1:instrument:attenuator               
    576                                 Make/O/N=0 Igor___folder_attributes      
    577                                 Note/K Igor___folder_attributes, "NX_class=NXattenuator" 
    578                                 //      nx_distance              
    579                                 Note/K nx_distance, "units=m" 
    580                                 //      type             
    581                                 //      thickness                
    582                                 Note/K thickness, "units=cm" 
    583                                 //      attenuator_transmission          
    584                                 //      status           
    585                                 //      atten_number             
    586                                 //      index            
    587                         SetDataFolder  root:SANS_file:entry1:instrument:source_aperture          
    588                                 Make/O/N=0 Igor___folder_attributes      
    589                                 Note/K Igor___folder_attributes, "NX_class=NXaperture" 
    590                                 //      material                 
    591                                 //      description              
    592                                 //      diameter                 
    593                                 Note/K diameter, "units=cm" 
    594                                 //      nx_distance              
    595                                 Note/K nx_distance, "units=m" 
    596                                 SetDataFolder  root:SANS_file:entry1:instrument:source_aperture:shape            
    597                                         Make/O/N=0 Igor___folder_attributes      
    598                                         Note/K Igor___folder_attributes, "NX_class=NXshape" 
    599                                         //      size             
    600                                         Note/K size, "units=cm" 
    601                         SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture          
    602                                 Make/O/N=0 Igor___folder_attributes      
    603                                 Note/K Igor___folder_attributes, "NX_class=NXaperture" 
    604                                 //      material                 
    605                                 //      description              
    606                                 //      diameter                 
    607                                 Note/K diameter, "units=cm" 
    608                                 //      nx_distance              
    609                                 Note/K nx_distance, "units=m" 
    610                                 SetDataFolder  root:SANS_file:entry1:instrument:sample_aperture:shape            
    611                                         Make/O/N=0 Igor___folder_attributes      
    612                                         Note/K Igor___folder_attributes, "NX_class=NXshape" 
    613                                         //      size             
    614                                         Note/K size, "units=cm" 
    615                         SetDataFolder root:SANS_file:entry1:instrument:collimator                        
    616                                 SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry                       
    617                                         SetDataFolder root:SANS_file:entry1:instrument:collimator:geometry:shape                         
    618                                                 //      shape            
    619                                                 //      size             
    620                                                 Note/K size, "units=m" 
    621                                 //      nx_NumGuides             
    622                         SetDataFolder  root:SANS_file:entry1:instrument:lenses           
    623                                 Make/O/N=0 Igor___folder_attributes      
    624                                 Note/K Igor___folder_attributes, "NX_class=NXxraylens" 
    625                                 //      status           
    626                                 //      lens_geometry            
    627                                 //      focus_type               
    628                                 //      number_of_lenses                 
    629                                 //      number_of_prisms                 
    630                                 //      curvature                
    631                                 //      lens_distance            
    632                                 Note/K lens_distance, "units=m" 
    633                                 //      prism_distance           
    634                                 Note/K prism_distance, "units=m" 
    635                                 //      lens_material            
    636                                 //      prism_material           
    637                         SetDataFolder  root:SANS_file:entry1:instrument:sample_table             
    638                                 Make/O/N=0 Igor___folder_attributes      
    639                                 //      location                 
    640                                 //      offset_distance          
    641                                 Note/K offset_distance, "units=cm" 
    642                         SetDataFolder  root:SANS_file:entry1:instrument:beam_stop                
    643                                 Make/O/N=0 Igor___folder_attributes      
    644                                 Note/K Igor___folder_attributes, "NX_class=NXbeam_stop" 
    645                                 //      description              
    646                                 //      nx_distance              
    647                                 Note/K nx_distance, "units=m" 
    648                                 //      size             
    649                                 Note/K size, "units=cm" 
    650                                 //      status           
    651                                 //      xPos             
    652                                 //      yPos             
    653                                 //      x_motor_position                 
    654                                 Note/K x_motor_position, "units=cm" 
    655                                 //      y_motor_position                 
    656                                 Note/K y_motor_position, "units=cm" 
    657                         SetDataFolder  root:SANS_file:entry1:instrument:detector                 
    658                                 Make/O/N=0 Igor___folder_attributes      
    659                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    660                                 //      data             
    661                                 Note/K data, "signal=1" 
    662                                 //      data_error               
    663                                 //      nx_distance              
    664                                 Note/K nx_distance, "units=m" 
    665                                 //      description              
    666                                 //      settings                 
    667                                 //      dead_time                
    668                                 Note/K dead_time, "units=s" 
    669                                 //      x_pixel_size             
    670                                 Note/K x_pixel_size, "units=cm" 
    671                                 //      y_pixel_size             
    672                                 Note/K y_pixel_size, "units=cm" 
    673                                 //      beam_center_x            
    674                                 //      beam_center_y            
    675                                 //      type             
    676                                 //      flatfield_applied                
    677                                 //      countrate_correction_applied             
    678                                 //      pixel_mask               
    679                                 //      integrated_count                 
    680                                 //      lateral_offset           
    681                                 Note/K lateral_offset, "units=cm" 
    682                                 //      PixelNumX                
    683                                 //      PixelNumY                
    684                                 //      PixelFWHM                
    685                                         //calibration_method             
    686                                 //      CALX             
    687                                 //      CALY             
    688                                 //      size             
    689                                 Note/K size, "units=cm" 
    690                                 //      event_file_name          
    691                 SetDataFolder  root:SANS_file:entry1:data                
    692                         Make/O/N=0 Igor___folder_attributes      
    693                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    694                         //      data             
    695                         Note/K data, "signal=1" 
    696                         //      error            
    697                         //      variables                
    698                         //      data_image               
    699                 SetDataFolder  root:SANS_file:entry1:reduction           
    700                         Make/O/N=0 Igor___folder_attributes      
    701                         //      intent           
    702                         //      transmission_file_name           
    703                         //      empty_beam_file_name             
    704                         //      background_file_name             
    705                         //      empty_file_name          
    706                         //      sensitivity_file_name            
    707                         //      mask_file_name           
    708                         //      sans_log_file_name               
    709                         //      whole_trans              
    710                         //      whole_trans_error                
    711                         //      box_count                
    712                         //      box_count_error          
    713                         //      box_coordinates          
    714                         //      comments                 
    715                         //      absolute_scaling                 
    716                         SetDataFolder  root:SANS_file:entry1:reduction:pol_sans          
    717                                 Make/O/N=0 Igor___folder_attributes      
    718                                 //      pol_sans_purpose                 
    719                                 //      cell_name                
    720                                 //      cell_parameters          
    721                                                          
    722         SetDataFolder  root:SANS_file:DAS_Logs           
    723                 Make/O/N=0 Igor___folder_attributes      
    724                 Note/K Igor___folder_attributes, "NX_class=NXlog" 
    725                         //...multiple entries and levels... to add               
    726  
    727  
    728         SetDataFolder root:      
    729  
    730 End 
     19/// 
     20// for the simulator, routines to be able to write out a proper Nexus file 
     21// based on a template 
     22//// 
     23 
     24 
     25 
     26// overwrites the dummy values as needed with SASCALC information 
     27// 
     28// TODO 
     29// issues here with the potential for Nexus to have data as INTEGER 
     30// where I'd rather have the data here in Igor be DP, so there are no  
     31// conversion/assignment issues 
     32// 
     33// simuation data from VCALC = DP, but I need to assign to an Integer wave... 
     34// - sometimes this works, sometimes not... 
     35// may need to Redimension/I 
     36// 
     37/// break this up into several smaller procedures as this is a VERY lengthy task to do 
     38 
     39        // TODO 
     40// set the "accessible" copies of the data (these are really to be links in the file!) 
     41 
     42 
     43 
     44// 
     45// A "template" VSANS Nexus file has been loaded and is then filled in with 
     46// the simulation results. Some of teh file, will therefor be garbage, but the  
     47// overall structure and attributes should be correct. 
     48// 
     49// Hopefully this will make the maintenance and testing of the file structure easier... 
     50// AUG 2015 
     51// 
     52/////////////////////////// 
     53// 
     54// these are all of the VCALC changes to the simulated files. ADD to these as needed, making these changes to the  
     55// folder structure after the "default" values have been re-filled in the waves (to make sure something is really there) 
     56// 
     57//////////////////////// 
     58 
     59// TODO: 
     60//      -- Need to write all of the "accessors" to r/w all of the simulated bits to the data file... lots to do 
     61// -- THIS DOES NOT MATCH THE CURRENT NICE_GENERATED FILE !!!! 
     62// 
     63 
     64 
    73165 
    73266// 
     
    73468// of how to ever keep this in sync if the Nexus tree changes... 
    73569// 
    736 Proc H_Fill_SANS_wSim() 
     70Proc H_Fill_SANS_Template_wSim() 
    73771 
    73872SetDataFolder  root:SANS_file            
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/Nexus_VSANS_Write.ipf

    r959 r960  
    11#pragma rtGlobals=3             // Use modern global access method and strict wave access. 
    22 
    3  
    4 // 
    5 // this is a test of the "new"V SANS file structure that is supposed to be 
    6 // NeXus compliant. It doesn't have the NICE logs, but has everything that I  
    7 // can think of here. 
    8 // 
    9  
    10 // 
    11 //      To properly generate a Nexus file with attributes, using Pete Jemain's procedures: 
    12 // 
    13 //      Generating the "current" Igor macros: 
    14 //      - From the outlines, make a copy of the outline, and export some of the selected 
    15 //      columns to be able to: 
    16 //      1) Make all of the waves and folders 
    17 //      2) Add attributes (only) to the existing tree 
    18 //      3) Fill the tree with simulation values 
    19 //      (still don't know here how to not lose the "=VCALC_getWavelength" statements 
    20 //      and similar assignments. these are not part of the outline) 
    21 // 
    22 // 
    23 // 
    24 //      Generate the data file: 
    25 //      1) Set down the folder structure:               H_Setup_SANS_Structure() 
    26 //      2) Write in the attributes:                             H_FillSANS_Attributes() 
    27 //      3) Fill with simulated data:                    H_FillSANS_wSim() 
    28 // 
    29 //      There is now a SANS_file folder which contains everything, but is not "aware" 
    30 //      of any of references that Pete's gateway needs. 
    31 // 
    32 //      4) Save the folder to HDF5:                             Save_VSANS_file() 
    33 //      attributes are not saved, but the tree is correct 
    34 //      5) Load back in to generate xref:               H_HDF5Gate_ReadTest() 
    35 //      no attributes loaded, but HDF5___xref is generated 
    36 //      6) From the loaded folder, save xref:   Save_HDF5___xref() 
    37 //      save it to disk 
    38 //      7) Copy the reference to SANS_file:             Copy_HDF5___xref() 
    39 //      load it from disk, and copy it to the folder 
    40 //      8) Save the folder using the gateway:   H_HDF5Gate_WriteVSANS() 
    41 //      now, the Nexus file is saved with attributes 
    42 // 
    43  
    44  
    45  
    46 // 
    47 // lays out the tree and fills with dummy values 
    48 // 
    49 Proc H_Setup_VSANS_Structure() 
    50          
    51         Variable n=100 
    52         Variable tubes=48        
    53  
    54 NewDataFolder/O/S root:VSANS_file                
    55         Make/O/T/N=1    file_name       = "VSANSTest.h5" 
    56         Make/O/T/N=1    file_time       = "2015-02-28T08:15:30-5:00" 
    57         Make/O/T/N=1    facility        = "NCNR" 
    58         Make/O/T/N=1    NeXus_version   = "Nexus 0.0" 
    59         Make/O/T/N=1    hdf_version     = "hdf5.x" 
    60         Make/O/T/N=1    file_history    = "history log" 
    61         NewDataFolder/O/S root:VSANS_file:entry1                 
    62                 Make/O/T/N=1    title   = "title of entry1" 
    63                 Make/O/D/N=1    experiment_identifier   = 684636 
    64                 Make/O/T/N=1    experiment_description  = "description of expt" 
    65                 Make/O/T/N=1    entry_identifier        = "S22-33" 
    66                 Make/O/T/N=1    definition      = "NXsas" 
    67                 Make/O/T/N=1    start_time      = "2015-02-28T08:15:30-5:00" 
    68                 Make/O/T/N=1    end_time        = "2015-02-28T08:15:30-5:00" 
    69                 Make/O/D/N=1    duration        = 300 
    70                 Make/O/D/N=1    collection_time = 300 
    71                 Make/O/T/N=1    run_cycle       = "S22-23" 
    72                 Make/O/T/N=1    data_directory  = "[VSANS_VSANS]" 
    73                 Make/O/T/N=1    program_name    = "runPoint={stuff}" 
    74                 NewDataFolder/O/S root:VSANS_file:entry1:user            
    75                         Make/O/T/N=1    name    = "Dr. Pi" 
    76                         Make/O/T/N=1    role    = "evil scientist" 
    77                         Make/O/T/N=1    affiliation     = "NIST" 
    78                         Make/O/T/N=1    address = "100 Bureau Drive" 
    79                         Make/O/T/N=1    telephoneNumber = "301-999-9999" 
    80                         Make/O/T/N=1    faxNumber       = "301-999-9999" 
    81                         Make/O/T/N=1    email   = "sans@nist" 
    82                         Make/O/I/N=1    facility_user_id        = 6937596 
    83                 NewDataFolder/O/S root:VSANS_file:entry1:control                 
    84                         Make/O/T/N=1    mode    = "timer" 
    85                         Make/O/D/N=1    preset  = 555 
    86                         Make/O/D/N=1    integral        = 555 
    87                         Make/O/D/N=1    monitor_counts  = 666 
    88                         Make/O/D/N=1    monitor_preset  = 1e8 
    89                         //Make/O/T/N=1  type    = "monitor type" 
    90                         //Make/O/D/N=1  efficiency      = 0.01 
    91                         //Make/O/D/N=1  sampled_fraction        = 1 
    92                         Make/O/D/N=1    detector_counts = 100111222 
    93                         Make/O/D/N=1    detector_preset = 1e5 
    94                         Make/O/D/N=1    count_start     = 1 
    95                         Make/O/D/N=1    count_end       = 1 
    96                         Make/O/D/N=1    count_time      = 1 
    97                         Make/O/D/N=1    count_time_preset       = 1 
    98                 //NewDataFolder/O/S root:VSANS_file:entry1:program_name //program_data   
    99                         //Make/O/T/N=1  //data  = "program data" 
    100                         //Make/O/T/N=1  //description   = "acquisition" 
    101                         //Make/O/T/N=1  //file_name     = "NICE" 
    102                         //Make/O/T/N=1  //type  = "client" 
    103                 NewDataFolder/O/S root:VSANS_file:entry1:sample          
    104                         Make/O/T/N=1    description     = "My Sample" 
    105                         Make/O/D/N=1    group_id        = 12345 
    106                         //Make/O/T/N=1  //chemical_formula      = "C8H10N4O2" 
    107                         NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_1            
    108                                 Make/O/T/N=1    name    = "Sample temperature" 
    109                                 Make/O/T/N=1    attached_to     = "block" 
    110                                 Make/O/T/N=1    measurement     = "temperature" 
    111                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_1:value_log          
    112                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    113                                         Make/O/D/N=(n)  nx_time = p 
    114                                         Make/O/D/N=(n)  value   = 2*p 
    115                         NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_2            
    116                                 Make/O/T/N=1    name    = "Sample temperature" 
    117                                 Make/O/T/N=1    attached_to     = "block" 
    118                                 Make/O/T/N=1    measurement     = "temperature" 
    119                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:temperature_2:value_log          
    120                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    121                                         Make/O/D/N=(n)  nx_time = p 
    122                                         Make/O/D/N=(n)  value   = 3*p 
    123                         NewDataFolder/O/S root:VSANS_file:entry1:sample:electric_field           
    124                                 Make/O/T/N=1    name    = "electric meter" 
    125                                 Make/O/T/N=1    attached_to     = "sample" 
    126                                 Make/O/T/N=1    measurement     = "voltage" 
    127                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:electric_field:value_log                 
    128                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    129                                         Make/O/D/N=(n)  nx_time = 2*p 
    130                                         Make/O/D/N=(n)  value   = sin(p/10) 
    131                         NewDataFolder/O/S root:VSANS_file:entry1:sample:shear_field              
    132                                 Make/O/T/N=1    name    = "rheometer" 
    133                                 Make/O/T/N=1    attached_to     = "sample" 
    134                                 Make/O/T/N=1    measurement     = "stress" 
    135                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:shear_field:value_log            
    136                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    137                                         Make/O/D/N=(n)  nx_time = p 
    138                                         Make/O/D/N=(n)  value   = cos(p/5) 
    139                         NewDataFolder/O/S root:VSANS_file:entry1:sample:pressure                 
    140                                 Make/O/T/N=1    name    = "Sample pressure" 
    141                                 Make/O/T/N=1    attached_to     = "pressure cell" 
    142                                 Make/O/T/N=1    measurement     = "pressure" 
    143                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:pressure:value_log               
    144                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    145                                         Make/O/D/N=(n)  nx_time = p 
    146                                         Make/O/D/N=(n)  value   = p/2 
    147                         NewDataFolder/O/S root:VSANS_file:entry1:sample:magnetic_field           
    148                                 Make/O/T/N=1    name    = "magnetic field (direction)" 
    149                                 Make/O/T/N=1    attached_to     = "cryostat" 
    150                                 Make/O/T/N=1    measurement     = "magnetic field" 
    151                                 NewDataFolder/O/S root:VSANS_file:entry1:sample:magnetic_field:value_log                 
    152                                         Make/O/T/N=1    start   = "2015-02-28T08:15:30-5:00" 
    153                                         Make/O/D/N=(n)  nx_time = p 
    154                                         Make/O/D/N=(n)  value   = 10*p 
    155                         SetDataFolder root:VSANS_file:entry1:sample              
    156                         Make/O/D/N=1    changer_position        = 5 
    157                         Make/O/T/N=1    sample_holder_description       = "10CB" 
    158                         //Make/O/D/N=1  //mass  = 0.3 
    159                         //Make/O/D/N=1  //density       = 1.02 
    160                         //Make/O/D/N=1  //molecular_weight      = 194.19 
    161                         //Make/O/T/N=1  //description   = "My Sample" 
    162                         //Make/O/T/N=1  //preparation_date      = "2015-02-28T08:15:30-5:00" 
    163                         //Make/O/D/N=1  //volume_fraction       = 0.2 
    164                         //Make/O/D/N=1  //scattering_length_density     = 6.35e-6 
    165                         Make/O/D/N=1    thickness       = 0.1 
    166                         Make/O/D/N=1    rotation_angle  = 30 
    167                         Make/O/D/N=1    transmission    = 0.888 
    168                         Make/O/D/N=1    transmission_error      = 0.011 
    169                         //Make/O/D/N=1  //xs_incoh      = 5.5 
    170                         //Make/O/D/N=1  //xs_coh        = 22.2 
    171                         //Make/O/D/N=1  //xs_absorb     = 3.1 
    172                 NewDataFolder/O/S root:VSANS_file:entry1:instrument              
    173                         //Make/O/T/N=1  //location      = "NCNR" 
    174                         Make/O/T/N=1    name    = "NG3-VSANS" 
    175                         Make/O/T/N=1    type    = "VSANS" 
    176                         Make/O/T/N=1    local_contact   = "Steve Kline" 
    177                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:source               
    178                                 Make/O/T/N=1    name    = "NCNR" 
    179                                 Make/O/T/N=1    type    = "Reactor Neutron Source" 
    180                                 Make/O/T/N=1    probe   = "neutron" 
    181                                 Make/O/D/N=1    power   = 20 
    182                                          
    183                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_monitor_norm            
    184                                 Make/O/D/N=1    data    = 1234567 
    185                                 Make/O/T/N=1    type    = "monitor" 
    186                                 Make/O/D/N=1    efficiency      = 0.01 
    187                                 Make/O/D/N=1    nx_distance     = 16 
    188                                 Make/O/D/N=1    saved_count     = 1e8 
    189                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_monitor_low                     
    190                                 Make/O/D/N=1    data    = 1234567 
    191                                 Make/O/T/N=1    type    = "monitor" 
    192                                 Make/O/D/N=1    efficiency      = 0.001 
    193                                 Make/O/D/N=1    nx_distance     = 16 
    194                                 Make/O/D/N=1    saved_count     = 1e8 
    195                                          
    196                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator                
    197                                 Make/O/D/N=1    wavelength      = 5.1 
    198                                 Make/O/D/N=1    wavelength_spread       = 0.02 
    199                                 Make/O/T/N=1    type    = "VS" 
    200                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:velocity_selector              
    201                                         Make/O/T/N=1    status  = "in" 
    202                                         Make/O/D/N=1    rotation_speed  = 5100 
    203                                         Make/O/D/N=1    wavelength      = 6 
    204                                         Make/O/D/N=1    wavelength_spread       = 0.15 
    205                                         Make/O/D/N=1    vs_tilt = 3 
    206                                         Make/O/D/N=1    nx_distance     = 18.8 
    207                                                 // table (wave)  
    208                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:crystal                
    209                                         Make/O/T/N=1    status  = "in" 
    210                                         Make/O/D/N=1    nx_distance     = 1 
    211                                         Make/O/D/N=1    wavelength      = 5.1 
    212                                         Make/O/D/N=1    wavelength_spread       = 0.02 
    213                                         Make/O/D/N=1    rotation        = 1.1 
    214                                         Make/O/D/N=1    energy  = 1 
    215                                         Make/O/D/N=1    wavevector      = 1 
    216                                         Make/O/D/N=1    lattice_parameter       = 1 
    217                                         Make/O/D/N=3    reflection      = {1,2,3} 
    218                                         Make/O/D/N=1    horizontal_curvature    = 1 
    219                                         Make/O/D/N=1    vertical_curvature      = 1 
    220                                         Make/O/D/N=1    horizontal_aperture     = 1 
    221                                         Make/O/D/N=1    vertical_aperture       = 1 
    222                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:monochromator:white_beam             
    223                                         Make/O/T/N=1    status  = "in" 
    224                                         Make/O/D/N=1    wavelength      = 5.1 
    225                                         Make/O/D/N=1    wavelength_spread       = 0.8 
    226                                                 // description_of_distribution   
    227                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:chopper              
    228                                 Make/O/T/N=1    status  = "in" 
    229                                 Make/O/T/N=1    type    = "single" 
    230                                 Make/O/D/N=1    rotation_speed  = 12000 
    231                                 Make/O/D/N=1    distance_from_source    = 400 
    232                                 Make/O/D/N=1    distance_from_sample    = 1500 
    233                                 Make/O/D/N=1    slits   = 2 
    234                                 Make/O/D/N=1    angular_opening = 15 
    235                                 Make/O/D/N=1    duty_cycle      = 0.25 
    236                                         // +?    
    237                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:polarizer            
    238                                 Make/O/T/N=1    status  = "in" 
    239                                 Make/O/T/N=1    type    = "supermirror" 
    240                                 Make/O/T/N=1    composition     = "multilayer" 
    241                                 Make/O/D/N=1    efficiency      = 0.95 
    242                                 Make/O/T/N=1    status  = "in" 
    243                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:flipper              
    244                                 Make/O/T/N=1    status  = "on" 
    245                                 Make/O/D/N=1    driving_current = 42 
    246                                 Make/O/T/N=1    waveform        = "sine" 
    247                                 Make/O/D/N=1    frequency       = 400 
    248                                 Make/O/D/N=1    transmitted_power       = 0.99 
    249                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:polarizer_analyzer           
    250                                 Make/O/T/N=1    status  = "down" 
    251                                 Make/O/D/N=1    guide_field_current_1   = 33 
    252                                 Make/O/D/N=1    guide_field_current_2   = 32 
    253                                 Make/O/D/N=1    solenoid_current        = 21 
    254                                 Make/O/D/N=1    cell_index      = 1 
    255                                 Make/O/T/N=(5)  cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"} 
    256                                 Make/O/D/N=(5,2)        cell_parameters = 1 
    257                                          
    258                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:attenuator           
    259                                 Make/O/D/N=1    nx_distance     = 1500 
    260                                 Make/O/T/N=1    type    = "PMMA" 
    261                                 Make/O/D/N=1    thickness       = 0 
    262                                 Make/O/D/N=1    attenuator_transmission = 1 
    263                                 Make/O/T/N=1    status  = "in" 
    264                                 Make/O/T/N=1    atten_number    = "0101" 
    265                                 Make/O/D/N=(10,10)      index   = 1 
    266                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:source_aperture              
    267                                 Make/O/T/N=1    material        = "Gd" 
    268                                 Make/O/T/N=1    description     = "source aperture" 
    269                                 Make/O/D/N=1    diameter        = 1.27 
    270                                 Make/O/D/N=1    nx_distance     = 13.0 
    271                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:source_aperture:shape                        
    272                                         Make/O/D/N=(1,2)        size    = 1.27 
    273                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_aperture              
    274                                 Make/O/T/N=1    material        = "Gd" 
    275                                 Make/O/T/N=1    description     = "sample aperture" 
    276                                 Make/O/D/N=1    diameter        = 1.27 
    277                                 Make/O/D/N=1    nx_distance     = 10 
    278                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_aperture:shape                        
    279                                         Make/O/D/N=(1,2)        size    = 1.27 
    280                         NewDataFolder/O/S  root:VSANS_file:entry1:instrument:collimator          
    281                                 NewDataFolder/O/S root:VSANS_file:entry1:instrument:collimator:geometry          
    282                                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:collimator:geometry:shape            
    283                                                 Make/O/T/N=1    shape   = "box" 
    284                                                 Make/O/D/N=1    size    = 11 
    285                                 Make/O/I/N=1    nx_NumGuides    = 1 
    286                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:converging_pinholes          
    287                                 Make/O/T/N=1    status  = "in" 
    288                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:converging_slits             
    289                                 Make/O/T/N=1    status  = "in" 
    290                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:lenses               
    291                                 Make/O/T/N=1    status  = "in" 
    292                                 Make/O/T/N=1    lens_geometry   = "concave_lens" 
    293                                 Make/O/T/N=1    focus_type      = "point" 
    294                                 Make/O/I/N=1    number_of_lenses        = 28 
    295                                 Make/O/I/N=1    number_of_prisms        = 7 
    296                                 Make/O/D/N=1    curvature       = 1 
    297                                 Make/O/D/N=1    lens_distance   = 123 
    298                                 Make/O/D/N=1    prism_distance  = 123 
    299                                 Make/O/T/N=1    lens_material   = "MgF2" 
    300                                 Make/O/T/N=1    prism_material  = "MgF2" 
    301                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:sample_table                 
    302                                 Make/O/T/N=1    location        = "chamber" 
    303                                 Make/O/D/N=1    offset_distance = 0 
    304                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:beam_stop            
    305                                 Make/O/T/N=1    status  = "out" 
    306                                 Make/O/T/N=1    description     = "circular" 
    307                                 Make/O/D/N=1    nx_distance     = 12.5 
    308                                 Make/O/D/N=1    size    = 7.62 
    309                                 Make/O/D/N=1    xPos    = 66.4 
    310                                 Make/O/D/N=1    yPos    = 64.4 
    311                                 Make/O/D/N=1    x_motor_position        = 0.15 
    312                                 Make/O/D/N=1    y_motor_position        = 0.55 
    313                                          
    314                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_B           
    315                                 Make/O/I/N=(320,320)    data    = trunc(abs(gnoise(p+q))) 
    316                                 //Make/O/D/N=(320,320)  //data_error    = 0.01*abs(gnoise(p+q)) 
    317                                 Make/O/D/N=1    nx_distance     = 21.1 
    318                                 Make/O/T/N=1    description     = "fancy model" 
    319                                 Make/O/T/N=1    settings        = "just right" 
    320                                 Make/O/D/N=1    dead_time       = 5e-6 
    321                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    322                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    323                                 Make/O/D/N=1    beam_center_x   = 165.55 
    324                                 Make/O/D/N=1    beam_center_y   = 162.33 
    325                                 Make/O/T/N=1    type    = "??" 
    326                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    327                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    328                                 Make/O/D/N=(320,320)    pixel_mask      = 0 
    329                                 Make/O/I/N=1    integrated_count        = 100111222 
    330                                 Make/O/D/N=1    lateral_offset  = 20 
    331                                 Make/O/I/N=1    PixelNumX       = 320 
    332                                 Make/O/I/N=1    PixelNumY       = 320 
    333                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    334                                 Make/O/D/N=3    CALX    = {0.5,0.5,10000} 
    335                                 Make/O/D/N=3    CALY    = {0.5,0.5,10000} 
    336                                 Make/O/D/N=1    size    = 65 
    337                                 Make/O/T/N=1    event_file_name ="something.hst" 
    338                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MR                  
    339                                 Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    340                                 //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q)) 
    341                                 Make/O/D/N=1    nx_distance     = 13.1 
    342                                 Make/O/T/N=1    description     = "fancy model" 
    343                                 Make/O/T/N=1    settings        = "just right" 
    344                                 Make/O/D/N=1    dead_time       = 5e-6 
    345                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    346                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    347                                 Make/O/D/N=1    beam_center_x   = 65.55 
    348                                 Make/O/D/N=1    beam_center_y   = 62.33 
    349                                 Make/O/T/N=1    type    = "??" 
    350                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    351                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    352                                 Make/O/D/N=(48,256)     pixel_mask      = 0 
    353                                 Make/O/I/N=1    integrated_count        = 100111222 
    354                                 Make/O/D/N=1    lateral_offset  = 20 
    355                                 Make/O/D/N=1    separation      = 150 
    356                                 Make/O/I/N=1    PixelNumX       = 48 
    357                                 Make/O/I/N=1    PixelNumY       = 256 
    358                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    359                                 Make/O/D/N=1    size    = 65 
    360                                 Make/O/T/N=1    event_file_name ="something.hst" 
    361                                 Make/O/T/N=1    tube_orientation        = "vertical" 
    362                                 Make/O/I/N=1    number_of_tubes = 48 
    363                                 Make/O/I/N=(tubes)      tube_index      = p 
    364                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    365                                 Make/O/D/N=1    tube_width      = 8 
    366                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_ML                  
    367                                 Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    368                                 //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q)) 
    369                                 Make/O/D/N=1    nx_distance     = 13.1 
    370                                 Make/O/T/N=1    description     = "fancy model" 
    371                                 Make/O/T/N=1    settings        = "just right" 
    372                                 Make/O/D/N=1    dead_time       = 5e-6 
    373                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    374                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    375                                 Make/O/D/N=1    beam_center_x   = 65.55 
    376                                 Make/O/D/N=1    beam_center_y   = 62.33 
    377                                 Make/O/T/N=1    type    = "??" 
    378                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    379                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    380                                 Make/O/D/N=(48,256)     pixel_mask      = 0 
    381                                 Make/O/I/N=1    integrated_count        = 100111222 
    382                                 Make/O/D/N=1    lateral_offset  = 20 
    383                                 Make/O/D/N=1    separation      = 150 
    384                                 Make/O/I/N=1    PixelNumX       = 48 
    385                                 Make/O/I/N=1    PixelNumY       = 256 
    386                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    387                                 Make/O/D/N=1    size    = 65 
    388                                 Make/O/T/N=1    event_file_name ="something.hst" 
    389                                 Make/O/T/N=1    tube_orientation        = "vertical" 
    390                                 Make/O/I/N=1    number_of_tubes = 48 
    391                                 Make/O/I/N=(tubes)      tube_index      = p 
    392                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    393                                 Make/O/D/N=1    tube_width      = 8 
    394                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MT          
    395                                 Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    396                                 //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q)) 
    397                                 Make/O/D/N=1    nx_distance     = 13.4 
    398                                 Make/O/T/N=1    description     = "fancy model" 
    399                                 Make/O/T/N=1    settings        = "just right" 
    400                                 Make/O/D/N=1    dead_time       = 5e-6 
    401                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    402                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    403                                 Make/O/D/N=1    beam_center_x   = 65.55 
    404                                 Make/O/D/N=1    beam_center_y   = 62.33 
    405                                 Make/O/T/N=1    type    = "??" 
    406                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    407                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    408                                 Make/O/D/N=(128,48)     pixel_mask      = 0 
    409                                 Make/O/I/N=1    integrated_count        = 100111222 
    410                                 Make/O/D/N=1    lateral_offset  = 20 
    411                                 Make/O/D/N=1    sdd_offset      = 30 
    412                                 Make/O/D/N=1    separation      = 150 
    413                                 Make/O/I/N=1    PixelNumX       = 128 
    414                                 Make/O/I/N=1    PixelNumY       = 48 
    415                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    416                                 Make/O/D/N=1    size    = 65 
    417                                 Make/O/T/N=1    event_file_name ="something.hst" 
    418                                 Make/O/T/N=1    tube_orientation        = "horizontal" 
    419                                 Make/O/I/N=1    number_of_tubes = 48 
    420                                 Make/O/I/N=(tubes)      tube_index      = p 
    421                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    422                                 Make/O/D/N=1    tube_width      = 8 
    423                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_MB          
    424                                 Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    425                                 //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q)) 
    426                                 Make/O/D/N=1    nx_distance     = 13.4 
    427                                 Make/O/T/N=1    description     = "fancy model" 
    428                                 Make/O/T/N=1    settings        = "just right" 
    429                                 Make/O/D/N=1    dead_time       = 5e-6 
    430                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    431                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    432                                 Make/O/D/N=1    beam_center_x   = 65.55 
    433                                 Make/O/D/N=1    beam_center_y   = 62.33 
    434                                 Make/O/T/N=1    type    = "??" 
    435                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    436                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    437                                 Make/O/D/N=(128,48)     pixel_mask      = 0 
    438                                 Make/O/I/N=1    integrated_count        = 100111222 
    439                                 Make/O/D/N=1    lateral_offset  = 20 
    440                                 Make/O/D/N=1    sdd_offset      = 30 
    441                                 Make/O/D/N=1    separation      = 150 
    442                                 Make/O/I/N=1    PixelNumX       = 128 
    443                                 Make/O/I/N=1    PixelNumY       = 48 
    444                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    445                                 Make/O/D/N=1    size    = 65 
    446                                 Make/O/T/N=1    event_file_name ="something.hst" 
    447                                 Make/O/T/N=1    tube_orientation        = "horizontal" 
    448                                 Make/O/I/N=1    number_of_tubes = 48 
    449                                 Make/O/I/N=(tubes)      tube_index      = p 
    450                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    451                                 Make/O/D/N=1    tube_width      = 8 
    452                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FR                  
    453                                 Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    454                                 //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q)) 
    455                                 Make/O/D/N=1    nx_distance     = 2.1 
    456                                 Make/O/T/N=1    description     = "fancy model" 
    457                                 Make/O/T/N=1    settings        = "just right" 
    458                                 Make/O/D/N=1    dead_time       = 5e-6 
    459                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    460                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    461                                 Make/O/D/N=1    beam_center_x   = 65.55 
    462                                 Make/O/D/N=1    beam_center_y   = 62.33 
    463                                 Make/O/T/N=1    type    = "??" 
    464                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    465                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    466                                 Make/O/D/N=(48,256)     pixel_mask      = 0 
    467                                 Make/O/I/N=1    integrated_count        = 100111222 
    468                                 Make/O/D/N=1    lateral_offset  = 20 
    469                                 Make/O/D/N=1    separation      = 150 
    470                                 Make/O/I/N=1    PixelNumX       = 48 
    471                                 Make/O/I/N=1    PixelNumY       = 256 
    472                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    473                                 Make/O/D/N=1    size    = 65 
    474                                 Make/O/T/N=1    event_file_name ="something.hst" 
    475                                 Make/O/T/N=1    tube_orientation        = "vertical" 
    476                                 Make/O/I/N=1    number_of_tubes = 48 
    477                                 Make/O/I/N=(tubes)      tube_index      = p 
    478                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    479                                 Make/O/D/N=1    tube_width      = 8 
    480                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FL                  
    481                                 Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    482                                 //Make/O/D/N=(48,256)   //data_error    = 0.01*abs(gnoise(p+q)) 
    483                                 Make/O/D/N=1    nx_distance     = 2.1 
    484                                 Make/O/T/N=1    description     = "fancy model" 
    485                                 Make/O/T/N=1    settings        = "just right" 
    486                                 Make/O/D/N=1    dead_time       = 5e-6 
    487                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    488                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    489                                 Make/O/D/N=1    beam_center_x   = 65.55 
    490                                 Make/O/D/N=1    beam_center_y   = 62.33 
    491                                 Make/O/T/N=1    type    = "??" 
    492                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    493                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    494                                 Make/O/D/N=(48,256)     pixel_mask      = 0 
    495                                 Make/O/I/N=1    integrated_count        = 100111222 
    496                                 Make/O/D/N=1    lateral_offset  = 20 
    497                                 Make/O/D/N=1    separation      = 150 
    498                                 Make/O/I/N=1    PixelNumX       = 48 
    499                                 Make/O/I/N=1    PixelNumY       = 256 
    500                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    501                                 Make/O/D/N=1    size    = 65 
    502                                 Make/O/T/N=1    event_file_name ="something.hst" 
    503                                 Make/O/T/N=1    tube_orientation        = "vertical" 
    504                                 Make/O/I/N=1    number_of_tubes = 48 
    505                                 Make/O/I/N=(tubes)      tube_index      = p 
    506                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    507                                 Make/O/D/N=1    tube_width      = 8 
    508                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FT          
    509                                 Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    510                                 //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q)) 
    511                                 Make/O/D/N=1    nx_distance     = 2.1 
    512                                 Make/O/T/N=1    description     = "fancy model" 
    513                                 Make/O/T/N=1    settings        = "just right" 
    514                                 Make/O/D/N=1    dead_time       = 5e-6 
    515                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    516                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    517                                 Make/O/D/N=1    beam_center_x   = 65.55 
    518                                 Make/O/D/N=1    beam_center_y   = 62.33 
    519                                 Make/O/T/N=1    type    = "??" 
    520                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    521                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    522                                 Make/O/D/N=(128,48)     pixel_mask      = 0 
    523                                 Make/O/I/N=1    integrated_count        = 100111222 
    524                                 Make/O/D/N=1    lateral_offset  = 20 
    525                                 Make/O/D/N=1    sdd_offset      = 30 
    526                                 Make/O/D/N=1    separation      = 150 
    527                                 Make/O/I/N=1    PixelNumX       = 128 
    528                                 Make/O/I/N=1    PixelNumY       = 48 
    529                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    530                                 Make/O/D/N=1    size    = 65 
    531                                 Make/O/T/N=1    event_file_name ="something.hst" 
    532                                 Make/O/T/N=1    tube_orientation        = "horizontal" 
    533                                 Make/O/I/N=1    number_of_tubes = 48 
    534                                 Make/O/I/N=(tubes)      tube_index      = p 
    535                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    536                                 Make/O/D/N=1    tube_width      = 8 
    537                         NewDataFolder/O/S root:VSANS_file:entry1:instrument:detector_FB          
    538                                 Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    539                                 //Make/O/D/N=(128,48)   //data_error    = 0.01*abs(gnoise(p+q)) 
    540                                 Make/O/D/N=1    nx_distance     = 2.1 
    541                                 Make/O/T/N=1    description     = "fancy model" 
    542                                 Make/O/T/N=1    settings        = "just right" 
    543                                 Make/O/D/N=1    dead_time       = 5e-6 
    544                                 Make/O/D/N=1    x_pixel_size    = 5.08 
    545                                 Make/O/D/N=1    y_pixel_size    = 5.08 
    546                                 Make/O/D/N=1    beam_center_x   = 65.55 
    547                                 Make/O/D/N=1    beam_center_y   = 62.33 
    548                                 Make/O/T/N=1    type    = "??" 
    549                                 //Make/O/D/N=1  //flatfield_applied     = 0 
    550                                 //Make/O/D/N=1  //countrate_correction_applied  = 0 
    551                                 Make/O/D/N=(128,48)     pixel_mask      = 0 
    552                                 Make/O/I/N=1    integrated_count        = 100111222 
    553                                 Make/O/D/N=1    lateral_offset  = 20 
    554                                 Make/O/D/N=1    sdd_offset      = 30 
    555                                 Make/O/D/N=1    separation      = 150 
    556                                 Make/O/I/N=1    PixelNumX       = 128 
    557                                 Make/O/I/N=1    PixelNumY       = 48 
    558                                 Make/O/D/N=1    PixelFWHM       = 0.5 
    559                                 Make/O/D/N=1    size    = 65 
    560                                 Make/O/T/N=1    event_file_name ="something.hst" 
    561                                 Make/O/T/N=1    tube_orientation        = "horizontal" 
    562                                 Make/O/I/N=1    number_of_tubes = 48 
    563                                 Make/O/I/N=(tubes)      tube_index      = p 
    564                                 Make/O/D/N=(2,tubes)    spatial_calibration     = 1 
    565                                 Make/O/D/N=1    tube_width      = 8 
    566                                          
    567                                          
    568                 NewDataFolder/O/S root:VSANS_file:entry1:data_B          
    569                         Make/O/I/N=(320,320)    data    = trunc(abs(gnoise(p+q))) 
    570                         //Make/O/D/N=(320,320)  //error = 0.01*abs(gnoise(p+q)) 
    571                         Make/O/D/N=2    variables       = {320,320} 
    572                         Make/O/I/N=(320,320)    data_image      = p 
    573                 NewDataFolder/O/S root:VSANS_file:entry1:data_MR                 
    574                         Make/O/i/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    575                         //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q)) 
    576                         Make/O/D/N=2    variables       = {48,256} 
    577                         Make/O/I/N=(48,256)     data_image      = p 
    578                 NewDataFolder/O/S root:VSANS_file:entry1:data_ML                 
    579                         Make/O/i/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    580                         //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q)) 
    581                         Make/O/D/N=2    variables       = {48,256} 
    582                         Make/O/I/N=(48,256)     data_image      = p 
    583                 NewDataFolder/O/S root:VSANS_file:entry1:data_MT                 
    584                         Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    585                         //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q)) 
    586                         Make/O/D/N=2    variables       = {128,48} 
    587                         Make/O/I/N=(128,48)     data_image      = p 
    588                 NewDataFolder/O/S root:VSANS_file:entry1:data_MB                 
    589                         Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    590                         //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q)) 
    591                         Make/O/D/N=2    variables       = {128,48} 
    592                         Make/O/I/N=(128,48)     data_image      = p 
    593                 NewDataFolder/O/S root:VSANS_file:entry1:data_FR                 
    594                         Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    595                         //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q)) 
    596                         Make/O/D/N=2    variables       = {48,256} 
    597                         Make/O/I/N=(48,256)     data_image      = p 
    598                 NewDataFolder/O/S root:VSANS_file:entry1:data_FL                 
    599                         Make/O/I/N=(48,256)     data    = trunc(abs(gnoise(p+q))) 
    600                         //Make/O/D/N=(48,256)   //error = 0.01*abs(gnoise(p+q)) 
    601                         Make/O/D/N=2    variables       = {48,256} 
    602                         Make/O/I/N=(48,256)     data_image      = p 
    603                 NewDataFolder/O/S root:VSANS_file:entry1:data_FT                 
    604                         Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    605                         //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q)) 
    606                         Make/O/D/N=2    variables       = {128,48} 
    607                         Make/O/I/N=(128,48)     data_image      = p 
    608                 NewDataFolder/O/S root:VSANS_file:entry1:data_FB                 
    609                         Make/O/I/N=(128,48)     data    = trunc(abs(gnoise(p+q))) 
    610                         //Make/O/D/N=(128,48)   //error = 0.01*abs(gnoise(p+q)) 
    611                         Make/O/D/N=2    variables       = {128,48} 
    612                         Make/O/I/N=(128,48)     data_image      = p 
    613                                  
    614                 NewDataFolder/O/S root:VSANS_file:entry1:reduction               
    615                         Make/O/T/N=1    intent  = "SCATTER" 
    616                         Make/O/T/N=1    transmission_file_name  = "SANSFile_TRN.h5" 
    617                         Make/O/T/N=1    empty_beam_file_name    = "SANSFile_EB.h5" 
    618                         Make/O/T/N=1    background_file_name    = "SANSFile_BKG.h5" 
    619                         Make/O/T/N=1    empty_file_name = "SANSFile_EMP.h5" 
    620                         Make/O/T/N=1    sensitivity_file_name   = "SANSFile_DIV.h5" 
    621                         Make/O/T/N=1    mask_file_name  = "SANSFile_MASK.h5" 
    622                         Make/O/T/N=1    sans_log_file_name      = "SANSFile_log.txt" 
    623                         Make/O/D/N=1    whole_trans     = 0.888 
    624                         Make/O/D/N=1    whole_trans_error       = 0.008 
    625                         Make/O/D/N=1    box_count       = 23232 
    626                         Make/O/D/N=1    box_count_error = 22 
    627                         Make/O/I/N=4    box_coordinates = {50,80,45,75} 
    628                         Make/O/T/N=1    comments        = "extra data comments" 
    629                         Make/O/D/N=4    absolute_scaling        = {1,1,1e5,1} 
    630                         NewDataFolder/O/S root:VSANS_file:entry1:reduction:pol_sans                      
    631                                 Make/O/T/N=1    pol_sans_purpose        = "name from the list" 
    632                                 Make/O/T/N=1    cell_name       = "Burgundy" 
    633                                 Make/O/D/N=(5)  cell_parameters = {1,2,3,4,5} 
    634                                                  
    635         NewDataFolder/O/S root:VSANS_file:DAS_Logs               
    636                         //...multiple entries and levels... to add       
    637                         //this will be enormous  
    638  
    639  
    640  
    641  
    642         SetDataFolder root: 
    643          
    644 End 
    645  
    646 // writes in the attributes 
    647 Proc H_Fill_VSANS_Attributes() 
    648  
    649 SetDataFolder  root:VSANS_file           
    650         Make/O/N=0 Igor___folder_attributes      
    651         Note/K Igor___folder_attributes, "producer=IgorPro\rNX_class=NXroot" 
    652         //      file_name                
    653         //      file_time                
    654         //      facility                 
    655         //      NeXus_version            
    656         //      hdf_version              
    657         //      file_history             
    658         SetDataFolder root:VSANS_file:entry1             
    659                 Make/O/N=0 Igor___folder_attributes      
    660                 Note/K Igor___folder_attributes, "NX_class=NXentry" 
    661                 //      title            
    662                 //      experiment_identifier            
    663                 //      experiment_description           
    664                 //      entry_identifier                 
    665                 //      definition               
    666                 //      start_time               
    667                 //      end_time                 
    668                 //      duration                 
    669                 Note/K duration, "units=s" 
    670                 //      collection_time          
    671                 Note/K collection_time, "units=s" 
    672                 //      run_cycle                
    673                 //      data_directory           
    674                 //      program_name             
    675                 SetDataFolder root:VSANS_file:entry1:user                
    676                         Make/O/N=0 Igor___folder_attributes      
    677                         Note/K Igor___folder_attributes, "NX_class=NXuser" 
    678                         //      name             
    679                         //      role             
    680                         //      affiliation              
    681                         //      address          
    682                         //      telephoneNumber          
    683                         //      faxNumber                
    684                         //      email            
    685                         //      facility_user_id                 
    686                 SetDataFolder root:VSANS_file:entry1:control             
    687                         Make/O/N=0 Igor___folder_attributes      
    688                         Note/K Igor___folder_attributes, "NX_class=NXmonitor" 
    689                         //      mode             
    690                         //      preset           
    691                         //      integral                 
    692                         //      monitor_counts           
    693                         //      monitor_preset           
    694                         ////    type             
    695                         ////    efficiency               
    696                         ////    sampled_fraction                 
    697                         //      detector_counts          
    698                         //      detector_preset          
    699                         //      count_start              
    700                         Note/K count_start, "units=s" 
    701                         //      count_end                
    702                         Note/K count_end, "units=s" 
    703                         //      count_time               
    704                         Note/K count_time, "units=s" 
    705                         //      count_time_preset                
    706                         Note/K count_time_preset, "units=s" 
    707                 //SetDataFolder root:VSANS_file:entry1:program_name     //program_data           
    708                         ////    //data           
    709                         ////    //description            
    710                         ////    //file_name              
    711                         ////    //type           
    712                 SetDataFolder root:VSANS_file:entry1:sample              
    713                         Make/O/N=0 Igor___folder_attributes      
    714                         Note/K Igor___folder_attributes, "NX_class=NXsample" 
    715                         //      description              
    716                         //      group_id                 
    717                         ////    //chemical_formula               
    718                         SetDataFolder root:VSANS_file:entry1:sample:temperature_1                
    719                                 Make/O/N=0 Igor___folder_attributes      
    720                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    721                                 //      name             
    722                                 //      attached_to              
    723                                 //      measurement              
    724                                 SetDataFolder root:VSANS_file:entry1:sample:temperature_1:value_log              
    725                                         Make/O/N=0 Igor___folder_attributes      
    726                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    727                                         //      start            
    728                                         //      nx_time          
    729                                         Note/K nx_time, "units=s" 
    730                                         //      value            
    731                                         Note/K value, "units=C" 
    732                         SetDataFolder root:VSANS_file:entry1:sample:temperature_2                
    733                                 Make/O/N=0 Igor___folder_attributes      
    734                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    735                                 //      name             
    736                                 //      attached_to              
    737                                 //      measurement              
    738                                 SetDataFolder root:VSANS_file:entry1:sample:temperature_2:value_log              
    739                                         Make/O/N=0 Igor___folder_attributes      
    740                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    741                                         //      start            
    742                                         //      nx_time          
    743                                         Note/K nx_time, "units=s" 
    744                                         //      value            
    745                                         Note/K value, "units=C" 
    746                         SetDataFolder root:VSANS_file:entry1:sample:electric_field               
    747                                 Make/O/N=0 Igor___folder_attributes      
    748                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    749                                 //      name             
    750                                 //      attached_to              
    751                                 //      measurement              
    752                                 SetDataFolder root:VSANS_file:entry1:sample:electric_field:value_log             
    753                                         Make/O/N=0 Igor___folder_attributes      
    754                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    755                                         //      start            
    756                                         //      nx_time          
    757                                         Note/K nx_time, "units=s" 
    758                                         //      value            
    759                                         Note/K value, "units=V" 
    760                         SetDataFolder root:VSANS_file:entry1:sample:shear_field          
    761                                 Make/O/N=0 Igor___folder_attributes      
    762                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    763                                 //      name             
    764                                 //      attached_to              
    765                                 //      measurement              
    766                                 SetDataFolder root:VSANS_file:entry1:sample:shear_field:value_log                
    767                                         Make/O/N=0 Igor___folder_attributes      
    768                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    769                                         //      start            
    770                                         //      nx_time          
    771                                         Note/K nx_time, "units=s" 
    772                                         //      value            
    773                                         Note/K value, "units=Pa s" 
    774                         SetDataFolder root:VSANS_file:entry1:sample:pressure             
    775                                 Make/O/N=0 Igor___folder_attributes      
    776                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    777                                 //      name             
    778                                 //      attached_to              
    779                                 //      measurement              
    780                                 SetDataFolder root:VSANS_file:entry1:sample:pressure:value_log           
    781                                         Make/O/N=0 Igor___folder_attributes      
    782                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    783                                         //      start            
    784                                         //      nx_time          
    785                                         Note/K nx_time, "units=s" 
    786                                         //      value            
    787                                         Note/K value, "units=psi" 
    788                         SetDataFolder root:VSANS_file:entry1:sample:magnetic_field               
    789                                 Make/O/N=0 Igor___folder_attributes      
    790                                 Note/K Igor___folder_attributes, "NX_class=NXsensor" 
    791                                 //      name             
    792                                 //      attached_to              
    793                                 //      measurement              
    794                                 SetDataFolder root:VSANS_file:entry1:sample:magnetic_field:value_log             
    795                                         Make/O/N=0 Igor___folder_attributes      
    796                                         Note/K Igor___folder_attributes, "NX_class=NXlog" 
    797                                         //      start            
    798                                         //      nx_time          
    799                                         Note/K nx_time, "units=s" 
    800                                         //      value            
    801                                         Note/K value, "units=T" 
    802                         SetDataFolder root:VSANS_file:entry1:sample                      
    803                         //      changer_position                 
    804                         //      sample_holder_description                
    805                         ////    //mass           
    806                         //Note/K mass, "units=g" 
    807                         ////    //density                
    808                         //Note/K density, "units=g ml-1" 
    809                         ////    //molecular_weight               
    810                         //Note/K molecular_weight, "units=g mol-1" 
    811                         ////    //description            
    812                         ////    //preparation_date               
    813                         ////    //volume_fraction                
    814                         ////    //scattering_length_density              
    815                         //Note/K scattering_length_density, "units=A-2" 
    816                         //      thickness                
    817                                 Note/K thickness, "units=cm" 
    818                         //      rotation_angle           
    819                                 Note/K rotation_angle, "units=degrees" 
    820                         //      transmission             
    821                         //      transmission_error               
    822                         ////    //xs_incoh               
    823                         //Note/K xs_incoh, "units=cm-1" 
    824                         ////    //xs_coh                 
    825                         //Note/K xs_coh, "units=cm-1" 
    826                         ////    //xs_absorb              
    827                         //Note/K xs_absorb, "units=cm-1" 
    828                 SetDataFolder root:VSANS_file:entry1:instrument          
    829                         Make/O/N=0 Igor___folder_attributes      
    830                         Note/K Igor___folder_attributes, "NX_class=NXinstrument" 
    831                         ////    //location               
    832                         //      name             
    833                         //      type             
    834                         //      local_contact            
    835                         SetDataFolder root:VSANS_file:entry1:instrument:source           
    836                                 Make/O/N=0 Igor___folder_attributes      
    837                                 Note/K Igor___folder_attributes, "NX_class=NXsource" 
    838                                 //      name             
    839                                 //      type             
    840                                 //      probe            
    841                                 //      power            
    842                                 Note/K power, "units=MW" 
    843                                                  
    844                         SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_norm                
    845                                 Make/O/N=0 Igor___folder_attributes      
    846                                 Note/K Igor___folder_attributes, "NX_class=NXmonitor" 
    847                                 //      data             
    848                                 //      type             
    849                                 //      efficiency               
    850                                 //      nx_distance              
    851                                 Note/K nx_distance, "units=m" 
    852                                 //      saved_count              
    853                         SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_low                 
    854                                 Make/O/N=0 Igor___folder_attributes      
    855                                 Note/K Igor___folder_attributes, "NX_class=NXmonitor" 
    856                                 //      data             
    857                                 //      type             
    858                                 //      efficiency               
    859                                 //      nx_distance              
    860                                 Note/K nx_distance, "units=m" 
    861                                 //      saved_count              
    862                                                  
    863                         SetDataFolder root:VSANS_file:entry1:instrument:monochromator            
    864                                 Make/O/N=0 Igor___folder_attributes      
    865                                 Note/K Igor___folder_attributes, "NX_class=NXmonochromator" 
    866                                 //      wavelength               
    867                                 Note/K wavelength, "units=A" 
    868                                 //      wavelength_spread                
    869                                 //      type             
    870                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:velocity_selector          
    871                                         Make/O/N=0 Igor___folder_attributes      
    872                                         Note/K Igor___folder_attributes, "NX_class=NXvelocity_selector" 
    873                                         //      status           
    874                                         //      rotation_speed           
    875                                         Note/K rotation_speed, "units=RPM" 
    876                                         //      wavelength               
    877                                         Note/K wavelength, "units=A" 
    878                                         //      wavelength_spread                
    879                                         //      vs_tilt          
    880                                         Note/K vs_tilt, "units=degrees" 
    881                                         //      nx_distance              
    882                                         Note/K nx_distance, "units=m" 
    883                                                 // table (wave)          
    884                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:crystal            
    885                                         Make/O/N=0 Igor___folder_attributes      
    886                                         Note/K Igor___folder_attributes, "NX_class=NXcrystal" 
    887                                         //      status           
    888                                         //      nx_distance              
    889                                         Note/K nx_distance, "units=m" 
    890                                         //      wavelength               
    891                                         Note/K wavelength, "units=A" 
    892                                         //      wavelength_spread                
    893                                         //      rotation                 
    894                                         Note/K rotation, "units=degrees" 
    895                                         //      energy           
    896                                         Note/K energy, "units=mV" 
    897                                         //      wavevector               
    898                                         Note/K wavevector, "units=A-1" 
    899                                         //      lattice_parameter                
    900                                         //      reflection               
    901                                         //      horizontal_curvature             
    902                                         //      vertical_curvature               
    903                                         //      horizontal_aperture              
    904                                         //      vertical_aperture                
    905                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:white_beam                         
    906                                         //      status           
    907                                         //      wavelength               
    908                                         Note/K wavelength, "units=A" 
    909                                         //      wavelength_spread                
    910                                                 // description_of_distribution           
    911                         SetDataFolder root:VSANS_file:entry1:instrument:chopper          
    912                                 Make/O/N=0 Igor___folder_attributes      
    913                                 Note/K Igor___folder_attributes, "NX_class=NXdisk_chopper" 
    914                                 //      status           
    915                                 //      type             
    916                                 //      rotation_speed           
    917                                 Note/K rotation_speed, "units=RPM" 
    918                                 //      distance_from_source             
    919                                 Note/K distance_from_source, "units=m" 
    920                                 //      distance_from_sample             
    921                                 Note/K distance_from_sample, "units=m" 
    922                                 //      slits            
    923                                 //      angular_opening          
    924                                 Note/K angular_opening, "units=degrees" 
    925                                 //      duty_cycle               
    926                                         // +?            
    927                         SetDataFolder root:VSANS_file:entry1:instrument:polarizer                        
    928                                 //      status           
    929                                 //      type             
    930                                 //      composition              
    931                                 //      efficiency               
    932                                 //      status           
    933                         SetDataFolder root:VSANS_file:entry1:instrument:flipper                  
    934                                 //      status           
    935                                 //      driving_current          
    936                                 Note/K driving_current, "units=A" 
    937                                 //      waveform                 
    938                                 //      frequency                
    939                                 Note/K frequency, "units=Hz" 
    940                                 //      transmitted_power                
    941                         SetDataFolder root:VSANS_file:entry1:instrument:polarizer_analyzer                       
    942                                 //      status           
    943                                 //      guide_field_current_1            
    944                                 Note/K guide_field_current_1, "units=A" 
    945                                 //      guide_field_current_2            
    946                                 Note/K guide_field_current_2, "units=A" 
    947                                 //      solenoid_current                 
    948                                 Note/K solenoid_current, "units=A" 
    949                                 //      cell_index               
    950                                 //      cell_names               
    951                                 //      cell_parameters          
    952                                                  
    953                         SetDataFolder root:VSANS_file:entry1:instrument:attenuator               
    954                                 Make/O/N=0 Igor___folder_attributes      
    955                                 Note/K Igor___folder_attributes, "NX_class=NXattenuator" 
    956                                 //      nx_distance              
    957                                 Note/K nx_distance, "units=m" 
    958                                 //      type             
    959                                 //      thickness                
    960                                 Note/K thickness, "units=cm" 
    961                                 //      attenuator_transmission          
    962                                 //      status           
    963                                 //      atten_number             
    964                                 //      index            
    965                         SetDataFolder root:VSANS_file:entry1:instrument:source_aperture          
    966                                 Make/O/N=0 Igor___folder_attributes      
    967                                 Note/K Igor___folder_attributes, "NX_class=NXaperture" 
    968                                 //      material                 
    969                                 //      description              
    970                                 //      diameter                 
    971                                 Note/K diameter, "units=cm" 
    972                                 //      nx_distance              
    973                                 Note/K nx_distance, "units=m" 
    974                                 SetDataFolder root:VSANS_file:entry1:instrument:source_aperture:shape                    
    975                                         Make/O/N=0 Igor___folder_attributes      
    976                                         Note/K Igor___folder_attributes, "NX_class=NXshape" 
    977                                         //      size             
    978                                         Note/K size, "units=cm" 
    979                         SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture          
    980                                 Make/O/N=0 Igor___folder_attributes      
    981                                 Note/K Igor___folder_attributes, "NX_class=NXaperture" 
    982                                 //      material                 
    983                                 //      description              
    984                                 //      diameter                 
    985                                 Note/K diameter, "units=cm" 
    986                                 //      nx_distance              
    987                                 Note/K nx_distance, "units=m" 
    988                                 SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture:shape                    
    989                                         Make/O/N=0 Igor___folder_attributes      
    990                                         Note/K Igor___folder_attributes, "NX_class=NXshape" 
    991                                         //      size             
    992                                         Note/K size, "units=cm" 
    993                         SetDataFolder root:VSANS_file:entry1:instrument:collimator                       
    994                                 SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry                      
    995                                         SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry:shape                        
    996                                                 //      shape            
    997                                                 //      size             
    998                                                 Note/K size, "units=m" 
    999                                 //      nx_NumGuides             
    1000                         SetDataFolder root:VSANS_file:entry1:instrument:converging_pinholes                      
    1001                                 //      status           
    1002                         SetDataFolder root:VSANS_file:entry1:instrument:converging_slits                         
    1003                                 //      status           
    1004                         SetDataFolder root:VSANS_file:entry1:instrument:lenses           
    1005                                 Make/O/N=0 Igor___folder_attributes      
    1006                                 Note/K Igor___folder_attributes, "NX_class=NXxraylens" 
    1007                                 //      status           
    1008                                 //      lens_geometry            
    1009                                 //      focus_type               
    1010                                 //      number_of_lenses                 
    1011                                 //      number_of_prisms                 
    1012                                 //      curvature                
    1013                                 //      lens_distance            
    1014                                 Note/K lens_distance, "units=m" 
    1015                                 //      prism_distance           
    1016                                 Note/K prism_distance, "units=m" 
    1017                                 //      lens_material            
    1018                                 //      prism_material           
    1019                         SetDataFolder root:VSANS_file:entry1:instrument:sample_table                     
    1020                                 //      location                 
    1021                                 //      offset_distance          
    1022                                 Note/K offset_distance, "units=m" 
    1023                         SetDataFolder root:VSANS_file:entry1:instrument:beam_stop                
    1024                                 Make/O/N=0 Igor___folder_attributes      
    1025                                 Note/K Igor___folder_attributes, "NX_class=NXbeam_stop" 
    1026                                 //      status           
    1027                                 //      description              
    1028                                 //      nx_distance              
    1029                                 Note/K nx_distance, "units=m" 
    1030                                 //      size             
    1031                                 Note/K size, "units=cm" 
    1032                                 //      xPos             
    1033                                 //      yPos             
    1034                                 //      x_motor_position                 
    1035                                 Note/K x_motor_position, "units=cm" 
    1036                                 //      y_motor_position                 
    1037                                 Note/K y_motor_position, "units=cm" 
    1038                                                  
    1039                         SetDataFolder root:VSANS_file:entry1:instrument:detector_B               
    1040                                 Make/O/N=0 Igor___folder_attributes      
    1041                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1042                                 //      data             
    1043                                 ////    //data_error             
    1044                                 //      nx_distance              
    1045                                 Note/K nx_distance, "units=m" 
    1046                                 //      description              
    1047                                 //      settings                 
    1048                                 //      dead_time                
    1049                                 Note/K dead_time, "units=s" 
    1050                                 //      x_pixel_size             
    1051                                 Note/K x_pixel_size, "units=cm" 
    1052                                 //      y_pixel_size             
    1053                                 Note/K y_pixel_size, "units=cm" 
    1054                                 //      beam_center_x            
    1055                                 //      beam_center_y            
    1056                                 //      type             
    1057                                 ////    //flatfield_applied              
    1058                                 ////    //countrate_correction_applied           
    1059                                 //      pixel_mask               
    1060                                 //      integrated_count                 
    1061                                 //      lateral_offset           
    1062                                 Note/K lateral_offset, "units=cm" 
    1063                                 //      PixelNumX                
    1064                                 //      PixelNumY                
    1065                                 //      PixelFWHM                
    1066                                 //      CALX             
    1067                                 //      CALY             
    1068                                 //      size             
    1069                                 Note/K size, "units=cm" 
    1070                                 //      event_file_name          
    1071                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MR                      
    1072                                 Make/O/N=0 Igor___folder_attributes      
    1073                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1074                                 //      data             
    1075                                 ////    //data_error             
    1076                                 //      nx_distance              
    1077                                 Note/K nx_distance, "units=m" 
    1078                                 //      description              
    1079                                 //      settings                 
    1080                                 //      dead_time                
    1081                                 Note/K dead_time, "units=s" 
    1082                                 //      x_pixel_size             
    1083                                 Note/K x_pixel_size, "units=cm" 
    1084                                 //      y_pixel_size             
    1085                                 Note/K y_pixel_size, "units=cm" 
    1086                                 //      beam_center_x            
    1087                                 //      beam_center_y            
    1088                                 //      type             
    1089                                 ////    //flatfield_applied              
    1090                                 ////    //countrate_correction_applied           
    1091                                 //      pixel_mask               
    1092                                 //      integrated_count                 
    1093                                 //      lateral_offset           
    1094                                 Note/K lateral_offset, "units=cm" 
    1095                                 //      separation               
    1096                                 Note/K separation, "units=cm" 
    1097                                 //      PixelNumX                
    1098                                 //      PixelNumY                
    1099                                 //      PixelFWHM                
    1100                                 //      size             
    1101                                 Note/K size, "units=cm" 
    1102                                 //      event_file_name          
    1103                                 //      tube_orientation                 
    1104                                 //      number_of_tubes          
    1105                                 //      tube_index               
    1106                                 //      spatial_calibration              
    1107                                 //      tube_width               
    1108                                 Note/K tube_width, "units=cm" 
    1109                         SetDataFolder root:VSANS_file:entry1:instrument:detector_ML              
    1110                                 Make/O/N=0 Igor___folder_attributes      
    1111                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1112                                 //      data             
    1113                                 ////    //data_error             
    1114                                 //      nx_distance              
    1115                                 Note/K nx_distance, "units=m" 
    1116                                 //      description              
    1117                                 //      settings                 
    1118                                 //      dead_time                
    1119                                 Note/K dead_time, "units=s" 
    1120                                 //      x_pixel_size             
    1121                                 Note/K x_pixel_size, "units=cm" 
    1122                                 //      y_pixel_size             
    1123                                 Note/K y_pixel_size, "units=cm" 
    1124                                 //      beam_center_x            
    1125                                 //      beam_center_y            
    1126                                 //      type             
    1127                                 ////    //flatfield_applied              
    1128                                 ////    //countrate_correction_applied           
    1129                                 //      pixel_mask               
    1130                                 //      integrated_count                 
    1131                                 //      lateral_offset           
    1132                                 Note/K lateral_offset, "units=cm" 
    1133                                 //      separation               
    1134                                 Note/K separation, "units=cm" 
    1135                                 //      PixelNumX                
    1136                                 //      PixelNumY                
    1137                                 //      PixelFWHM                
    1138                                 //      size             
    1139                                 Note/K size, "units=cm" 
    1140                                 //      event_file_name          
    1141                                 //      tube_orientation                 
    1142                                 //      number_of_tubes          
    1143                                 //      tube_index               
    1144                                 //      spatial_calibration              
    1145                                 //      tube_width               
    1146                                 Note/K tube_width, "units=cm" 
    1147                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MT              
    1148                                 Make/O/N=0 Igor___folder_attributes      
    1149                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1150                                 //      data             
    1151                                 ////    //data_error             
    1152                                 //      nx_distance              
    1153                                 Note/K nx_distance, "units=m" 
    1154                                 //      description              
    1155                                 //      settings                 
    1156                                 //      dead_time                
    1157                                 Note/K dead_time, "units=s" 
    1158                                 //      x_pixel_size             
    1159                                 Note/K x_pixel_size, "units=cm" 
    1160                                 //      y_pixel_size             
    1161                                 Note/K y_pixel_size, "units=cm" 
    1162                                 //      beam_center_x            
    1163                                 //      beam_center_y            
    1164                                 //      type             
    1165                                 ////    //flatfield_applied              
    1166                                 ////    //countrate_correction_applied           
    1167                                 //      pixel_mask               
    1168                                 //      integrated_count                 
    1169                                 //      lateral_offset           
    1170                                 Note/K lateral_offset, "units=cm" 
    1171                                 //      sdd_offset               
    1172                                 Note/K sdd_offset, "units=cm" 
    1173                                 //      separation               
    1174                                 Note/K separation, "units=cm" 
    1175                                 //      PixelNumX                
    1176                                 //      PixelNumY                
    1177                                 //      PixelFWHM                
    1178                                 //      size             
    1179                                 Note/K size, "units=cm" 
    1180                                 //      event_file_name          
    1181                                 //      tube_orientation                 
    1182                                 //      number_of_tubes          
    1183                                 //      tube_index               
    1184                                 //      spatial_calibration              
    1185                                 //      tube_width               
    1186                                 Note/K tube_width, "units=cm" 
    1187                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MB              
    1188                                 Make/O/N=0 Igor___folder_attributes      
    1189                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1190                                 //      data             
    1191                                 ////    //data_error             
    1192                                 //      nx_distance              
    1193                                 Note/K nx_distance, "units=m" 
    1194                                 //      description              
    1195                                 //      settings                 
    1196                                 //      dead_time                
    1197                                 Note/K dead_time, "units=s" 
    1198                                 //      x_pixel_size             
    1199                                 Note/K x_pixel_size, "units=cm" 
    1200                                 //      y_pixel_size             
    1201                                 Note/K y_pixel_size, "units=cm" 
    1202                                 //      beam_center_x            
    1203                                 //      beam_center_y            
    1204                                 //      type             
    1205                                 ////    //flatfield_applied              
    1206                                 ////    //countrate_correction_applied           
    1207                                 //      pixel_mask               
    1208                                 //      integrated_count                 
    1209                                 //      lateral_offset           
    1210                                 Note/K lateral_offset, "units=cm" 
    1211                                 //      sdd_offset               
    1212                                 Note/K sdd_offset, "units=cm" 
    1213                                 //      separation               
    1214                                 Note/K separation, "units=cm" 
    1215                                 //      PixelNumX                
    1216                                 //      PixelNumY                
    1217                                 //      PixelFWHM                
    1218                                 //      size             
    1219                                 Note/K size, "units=cm" 
    1220                                 //      event_file_name          
    1221                                 //      tube_orientation                 
    1222                                 //      number_of_tubes          
    1223                                 //      tube_index               
    1224                                 //      spatial_calibration              
    1225                                 //      tube_width               
    1226                                 Note/K tube_width, "units=cm" 
    1227                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FR                      
    1228                                 Make/O/N=0 Igor___folder_attributes      
    1229                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1230                                 //      data             
    1231                                 ////    //data_error             
    1232                                 //      nx_distance              
    1233                                 Note/K nx_distance, "units=m" 
    1234                                 //      description              
    1235                                 //      settings                 
    1236                                 //      dead_time                
    1237                                 Note/K dead_time, "units=s" 
    1238                                 //      x_pixel_size             
    1239                                 Note/K x_pixel_size, "units=cm" 
    1240                                 //      y_pixel_size             
    1241                                 Note/K y_pixel_size, "units=cm" 
    1242                                 //      beam_center_x            
    1243                                 //      beam_center_y            
    1244                                 //      type             
    1245                                 ////    //flatfield_applied              
    1246                                 ////    //countrate_correction_applied           
    1247                                 //      pixel_mask               
    1248                                 //      integrated_count                 
    1249                                 //      lateral_offset           
    1250                                 Note/K lateral_offset, "units=cm" 
    1251                                 //      separation               
    1252                                 Note/K separation, "units=cm" 
    1253                                 //      PixelNumX                
    1254                                 //      PixelNumY                
    1255                                 //      PixelFWHM                
    1256                                 //      size             
    1257                                 Note/K size, "units=cm" 
    1258                                 //      event_file_name          
    1259                                 //      tube_orientation                 
    1260                                 //      number_of_tubes          
    1261                                 //      tube_index               
    1262                                 //      spatial_calibration              
    1263                                 //      tube_width               
    1264                                 Note/K tube_width, "units=cm" 
    1265                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FL              
    1266                                 Make/O/N=0 Igor___folder_attributes      
    1267                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1268                                 //      data             
    1269                                 ////    //data_error             
    1270                                 //      nx_distance              
    1271                                 Note/K nx_distance, "units=m" 
    1272                                 //      description              
    1273                                 //      settings                 
    1274                                 //      dead_time                
    1275                                 Note/K dead_time, "units=s" 
    1276                                 //      x_pixel_size             
    1277                                 Note/K x_pixel_size, "units=cm" 
    1278                                 //      y_pixel_size             
    1279                                 Note/K y_pixel_size, "units=cm" 
    1280                                 //      beam_center_x            
    1281                                 //      beam_center_y            
    1282                                 //      type             
    1283                                 ////    //flatfield_applied              
    1284                                 ////    //countrate_correction_applied           
    1285                                 //      pixel_mask               
    1286                                 //      integrated_count                 
    1287                                 //      lateral_offset           
    1288                                 Note/K lateral_offset, "units=cm" 
    1289                                 //      separation               
    1290                                 Note/K separation, "units=cm" 
    1291                                 //      PixelNumX                
    1292                                 //      PixelNumY                
    1293                                 //      PixelFWHM                
    1294                                 //      size             
    1295                                 Note/K size, "units=cm" 
    1296                                 //      event_file_name          
    1297                                 //      tube_orientation                 
    1298                                 //      number_of_tubes          
    1299                                 //      tube_index               
    1300                                 //      spatial_calibration              
    1301                                 //      tube_width               
    1302                                 Note/K tube_width, "units=cm" 
    1303                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FT              
    1304                                 Make/O/N=0 Igor___folder_attributes      
    1305                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1306                                 //      data             
    1307                                 ////    //data_error             
    1308                                 //      nx_distance              
    1309                                 Note/K nx_distance, "units=m" 
    1310                                 //      description              
    1311                                 //      settings                 
    1312                                 //      dead_time                
    1313                                 Note/K dead_time, "units=s" 
    1314                                 //      x_pixel_size             
    1315                                 Note/K x_pixel_size, "units=cm" 
    1316                                 //      y_pixel_size             
    1317                                 Note/K y_pixel_size, "units=cm" 
    1318                                 //      beam_center_x            
    1319                                 //      beam_center_y            
    1320                                 //      type             
    1321                                 ////    //flatfield_applied              
    1322                                 ////    //countrate_correction_applied           
    1323                                 //      pixel_mask               
    1324                                 //      integrated_count                 
    1325                                 //      lateral_offset           
    1326                                 Note/K lateral_offset, "units=cm" 
    1327                                 //      sdd_offset               
    1328                                 Note/K sdd_offset, "units=cm" 
    1329                                 //      separation               
    1330                                 Note/K separation, "units=cm" 
    1331                                 //      PixelNumX                
    1332                                 //      PixelNumY                
    1333                                 //      PixelFWHM                
    1334                                 //      size             
    1335                                 Note/K size, "units=cm" 
    1336                                 //      event_file_name          
    1337                                 //      tube_orientation                 
    1338                                 //      number_of_tubes          
    1339                                 //      tube_index               
    1340                                 //      spatial_calibration              
    1341                                 //      tube_width               
    1342                                 Note/K tube_width, "units=cm" 
    1343                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FB              
    1344                                 Make/O/N=0 Igor___folder_attributes      
    1345                                 Note/K Igor___folder_attributes, "NX_class=NXdetector" 
    1346                                 //      data             
    1347                                 ////    //data_error             
    1348                                 //      nx_distance              
    1349                                 Note/K nx_distance, "units=m" 
    1350                                 //      description              
    1351                                 //      settings                 
    1352                                 //      dead_time                
    1353                                 Note/K dead_time, "units=s" 
    1354                                 //      x_pixel_size             
    1355                                 Note/K x_pixel_size, "units=cm" 
    1356                                 //      y_pixel_size             
    1357                                 Note/K y_pixel_size, "units=cm" 
    1358                                 //      beam_center_x            
    1359                                 //      beam_center_y            
    1360                                 //      type             
    1361                                 ////    //flatfield_applied              
    1362                                 ////    //countrate_correction_applied           
    1363                                 //      pixel_mask               
    1364                                 //      integrated_count                 
    1365                                 //      lateral_offset           
    1366                                 Note/K lateral_offset, "units=cm" 
    1367                                 //      sdd_offset               
    1368                                 Note/K sdd_offset, "units=cm" 
    1369                                 //      separation               
    1370                                 Note/K separation, "units=cm" 
    1371                                 //      PixelNumX                
    1372                                 //      PixelNumY                
    1373                                 //      PixelFWHM                
    1374                                 //      size             
    1375                                 Note/K size, "units=cm" 
    1376                                 //      event_file_name          
    1377                                 //      tube_orientation                 
    1378                                 //      number_of_tubes          
    1379                                 //      tube_index               
    1380                                 //      spatial_calibration              
    1381                                 //      tube_width               
    1382                                 Note/K tube_width, "units=cm" 
    1383                                                  
    1384                                                  
    1385                 SetDataFolder root:VSANS_file:entry1:data_B              
    1386                         Make/O/N=0 Igor___folder_attributes      
    1387                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1388                         //      data             
    1389                         ////    //error          
    1390                         //      variables                
    1391                         //      data_image               
    1392                 SetDataFolder root:VSANS_file:entry1:data_MR             
    1393                         Make/O/N=0 Igor___folder_attributes      
    1394                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1395                         //      data             
    1396                         ////    //error          
    1397                         //      variables                
    1398                         //      data_image               
    1399                 SetDataFolder root:VSANS_file:entry1:data_ML             
    1400                         Make/O/N=0 Igor___folder_attributes      
    1401                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1402                         //      data             
    1403                         ////    //error          
    1404                         //      variables                
    1405                         //      data_image               
    1406                 SetDataFolder root:VSANS_file:entry1:data_MT             
    1407                         Make/O/N=0 Igor___folder_attributes      
    1408                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1409                         //      data             
    1410                         ////    //error          
    1411                         //      variables                
    1412                         //      data_image               
    1413                 SetDataFolder root:VSANS_file:entry1:data_MB             
    1414                         Make/O/N=0 Igor___folder_attributes      
    1415                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1416                         //      data             
    1417                         ////    //error          
    1418                         //      variables                
    1419                         //      data_image               
    1420                 SetDataFolder root:VSANS_file:entry1:data_FR             
    1421                         Make/O/N=0 Igor___folder_attributes      
    1422                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1423                         //      data             
    1424                         ////    //error          
    1425                         //      variables                
    1426                         //      data_image               
    1427                 SetDataFolder root:VSANS_file:entry1:data_FL             
    1428                         Make/O/N=0 Igor___folder_attributes      
    1429                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1430                         //      data             
    1431                         ////    //error          
    1432                         //      variables                
    1433                         //      data_image               
    1434                 SetDataFolder root:VSANS_file:entry1:data_FT             
    1435                         Make/O/N=0 Igor___folder_attributes      
    1436                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1437                         //      data             
    1438                         ////    //error          
    1439                         //      variables                
    1440                         //      data_image               
    1441                 SetDataFolder root:VSANS_file:entry1:data_FB             
    1442                         Make/O/N=0 Igor___folder_attributes      
    1443                         Note/K Igor___folder_attributes, "NX_class=NXdata" 
    1444                         //      data             
    1445                         ////    //error          
    1446                         //      variables                
    1447                         //      data_image               
    1448                                          
    1449                 SetDataFolder root:VSANS_file:entry1:reduction                   
    1450                         //      intent           
    1451                         //      transmission_file_name           
    1452                         //      empty_beam_file_name             
    1453                         //      background_file_name             
    1454                         //      empty_file_name          
    1455                         //      sensitivity_file_name            
    1456                         //      mask_file_name           
    1457                         //      sans_log_file_name               
    1458                         //      whole_trans              
    1459                         //      whole_trans_error                
    1460                         //      box_count                
    1461                         //      box_count_error          
    1462                         //      box_coordinates          
    1463                         //      comments                 
    1464                         //      absolute_scaling                 
    1465                         SetDataFolder root:VSANS_file:entry1:reduction:pol_sans                          
    1466                                 //      pol_sans_purpose                 
    1467                                 //      cell_name                
    1468                                 //      cell_parameters          
    1469                                                          
    1470         SetDataFolder root:VSANS_file:DAS_Logs           
    1471                 Make/O/N=0 Igor___folder_attributes      
    1472                 Note/K Igor___folder_attributes, "NX_class=NXlog" 
    1473                         //...multiple entries and levels... to add               
    1474                         //this will be enormous          
    1475  
    1476          
    1477  
    1478  
    1479         SetDataFolder root:      
    1480  
    1481 End 
     3/// 
     4// for the simulator, routines to be able to write out a proper Nexus file 
     5// based on a template 
     6//// 
     7 
     8 
    14829 
    148310// overwrites the dummy values as needed with VCALC information 
    1484 // 
    1485 // 
    148611// 
    148712// TODO 
     
    149924// set the "accessible" copies of the data (these are really to be links in the file!) 
    150025 
    1501 Proc H_Fill_VSANS_wSim() 
    1502  
    1503  
    1504 SetDataFolder  root:VSANS_file           
    1505                 file_name       = "VSANSTest.h5" 
    1506                 file_time       = "2015-02-28T08:15:30-5:00" 
    1507                 facility        = "NCNR" 
    1508                 NeXus_version   = "Nexus 0.0" 
    1509                 hdf_version     = "hdf5.x" 
    1510                 file_history    = "history log" 
    1511         SetDataFolder root:VSANS_file:entry1             
    1512                         title   = "title of entry1" 
    1513                         experiment_identifier   = 684636 
    1514                         experiment_description  = "description of expt" 
    1515                         entry_identifier        = "S22-33" 
    1516                         definition      = "NXsas" 
    1517                         start_time      = "2015-02-28T08:15:30-5:00" 
    1518                         end_time        = "2015-02-28T08:15:30-5:00" 
    1519                         duration        = 300 
    1520                         collection_time = 300 
    1521                         run_cycle       = "S22-23" 
    1522                         data_directory  = "[VSANS_VSANS]" 
    1523                         program_name    = "runPoint={stuff}" 
    1524                 SetDataFolder root:VSANS_file:entry1:user                
    1525                                 name    = "Dr. Pi" 
    1526                                 role    = "evil scientist" 
    1527                                 affiliation     = "NIST" 
    1528                                 address = "100 Bureau Drive" 
    1529                                 telephoneNumber = "301-999-9999" 
    1530                                 faxNumber       = "301-999-9999" 
    1531                                 email   = "sans@nist" 
    1532                                 facility_user_id        = 6937596 
    1533                 SetDataFolder root:VSANS_file:entry1:control             
    1534                                 mode    = "timer" 
    1535                                 preset  = 555 
    1536                                 integral        = 555 
    1537                                 monitor_counts  = 666 
    1538                                 monitor_preset  = 1e8 
    1539                         //WAVE/T        type    = "monitor type" 
    1540                         //WAVE  efficiency      = 0.01 
    1541                         //WAVE  sampled_fraction        = 1 
    1542                                 detector_counts = 100111222 
    1543                                 detector_preset = 1e5 
    1544                                 count_start     = 1 
    1545                                 count_end       = 1 
    1546                                 count_time      = 1 
    1547                                 count_time_preset       = 1 
    1548                 //SetDataFolder root:VSANS_file:entry1:program_name     //program_data   
    1549                         //WAVE/T        //data  = "program data" 
    1550                         //WAVE/T        //description   = "acquisition" 
    1551                         //WAVE/T        //file_name     = "NICE" 
    1552                         //WAVE/T        //type  = "client" 
    1553                 SetDataFolder root:VSANS_file:entry1:sample              
    1554                                 description     = "My Sample" 
    1555                                 group_id        = 12345 
    1556                         //WAVE/T        //chemical_formula      = "C8H10N4O2" 
    1557                         SetDataFolder root:VSANS_file:entry1:sample:temperature_1                
    1558                                         name    = "Sample temperature" 
    1559                                         attached_to     = "block" 
    1560                                         measurement     = "temperature" 
    1561                                 SetDataFolder root:VSANS_file:entry1:sample:temperature_1:value_log              
    1562                                                 start   = "2015-02-28T08:15:30-5:00" 
    1563                                                 nx_time = p 
    1564                                                 value   = 2*p 
    1565                         SetDataFolder root:VSANS_file:entry1:sample:temperature_2                
    1566                                         name    = "Sample temperature" 
    1567                                         attached_to     = "block" 
    1568                                         measurement     = "temperature" 
    1569                                 SetDataFolder root:VSANS_file:entry1:sample:temperature_2:value_log              
    1570                                                 start   = "2015-02-28T08:15:30-5:00" 
    1571                                                 nx_time = p 
    1572                                                 value   = 3*p 
    1573                         SetDataFolder root:VSANS_file:entry1:sample:electric_field               
    1574                                         name    = "electric meter" 
    1575                                         attached_to     = "sample" 
    1576                                         measurement     = "voltage" 
    1577                                 SetDataFolder root:VSANS_file:entry1:sample:electric_field:value_log             
    1578                                                 start   = "2015-02-28T08:15:30-5:00" 
    1579                                                 nx_time = 2*p 
    1580                                                 value   = sin(p/10) 
    1581                         SetDataFolder root:VSANS_file:entry1:sample:shear_field          
    1582                                         name    = "rheometer" 
    1583                                         attached_to     = "sample" 
    1584                                         measurement     = "stress" 
    1585                                 SetDataFolder root:VSANS_file:entry1:sample:shear_field:value_log                
    1586                                                 start   = "2015-02-28T08:15:30-5:00" 
    1587                                                 nx_time = p 
    1588                                                 value   = cos(p/5) 
    1589                         SetDataFolder root:VSANS_file:entry1:sample:pressure             
    1590                                         name    = "Sample pressure" 
    1591                                         attached_to     = "pressure cell" 
    1592                                         measurement     = "pressure" 
    1593                                 SetDataFolder root:VSANS_file:entry1:sample:pressure:value_log           
    1594                                                 start   = "2015-02-28T08:15:30-5:00" 
    1595                                                 nx_time = p 
    1596                                                 value   = p/2 
    1597                         SetDataFolder root:VSANS_file:entry1:sample:magnetic_field               
    1598                                         name    = "magnetic field (direction)" 
    1599                                         attached_to     = "cryostat" 
    1600                                         measurement     = "magnetic field" 
    1601                                 SetDataFolder root:VSANS_file:entry1:sample:magnetic_field:value_log             
    1602                                                 start   = "2015-02-28T08:15:30-5:00" 
    1603                                                 nx_time = p 
    1604                                                 value   = 10*p 
    1605                         SetDataFolder root:VSANS_file:entry1:sample              
    1606                                 changer_position        = 5 
    1607                                 sample_holder_description       = "10CB" 
    1608                         //WAVE  //mass  = 0.3 
    1609                         //WAVE  //density       = 1.02 
    1610                         //WAVE  //molecular_weight      = 194.19 
    1611                         //WAVE/T        //description   = "My Sample" 
    1612                         //WAVE/T        //preparation_date      = "2015-02-28T08:15:30-5:00" 
    1613                         //WAVE  //volume_fraction       = 0.2 
    1614                         //WAVE  //scattering_length_density     = 6.35e-6 
    1615                                 thickness       = 0.1 
    1616                                 rotation_angle  = 30 
    1617                                 transmission    = 0.888 
    1618                                 transmission_error      = 0.011 
    1619                         //WAVE  //xs_incoh      = 5.5 
    1620                         //WAVE  //xs_coh        = 22.2 
    1621                         //WAVE  //xs_absorb     = 3.1 
    1622                 SetDataFolder root:VSANS_file:entry1:instrument          
    1623                         //WAVE/T        //location      = "NCNR" 
    1624                                 name    = "NG3-VSANS" 
    1625                                 type    = "VSANS" 
    1626                                 local_contact   = "Steve Kline" 
    1627                         SetDataFolder root:VSANS_file:entry1:instrument:source           
    1628                                         name    = "NCNR" 
    1629                                         type    = "Reactor Neutron Source" 
    1630                                         probe   = "neutron" 
    1631                                         power   = 20 
    1632                                          
    1633                         SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_norm                
    1634                                         data    = 1234567 
    1635                                         type    = "monitor" 
    1636                                         efficiency      = 0.01 
    1637                                         nx_distance     = 16 
    1638                                         saved_count     = 1e8 
    1639                         SetDataFolder root:VSANS_file:entry1:instrument:beam_monitor_low                 
    1640                                         data    = 1234567 
    1641                                         type    = "monitor" 
    1642                                         efficiency      = 0.001 
    1643                                         nx_distance     = 16 
    1644                                         saved_count     = 1e8 
    1645                                          
    1646                         SetDataFolder root:VSANS_file:entry1:instrument:monochromator            
    1647                                         wavelength      = 5.1 
    1648                                         wavelength_spread       = 0.02 
    1649                                         type    = "VS" 
    1650                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:velocity_selector          
    1651                                                 status  = "in" 
    1652                                                 rotation_speed  = 5100 
    1653                                                 wavelength      = 6 
    1654                                                 wavelength_spread       = 0.15 
    1655                                                 vs_tilt = 3 
    1656                                                 nx_distance     = 18.8 
    1657                                                 // table (wave)  
    1658                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:crystal            
    1659                                                 status  = "in" 
    1660                                                 nx_distance     = 1 
    1661                                                 wavelength      = 5.1 
    1662                                                 wavelength_spread       = 0.02 
    1663                                                 rotation        = 1.1 
    1664                                                 energy  = 1 
    1665                                                 wavevector      = 1 
    1666                                                 lattice_parameter       = 1 
    1667                                                 reflection      = {1,2,3} 
    1668                                                 horizontal_curvature    = 1 
    1669                                                 vertical_curvature      = 1 
    1670                                                 horizontal_aperture     = 1 
    1671                                                 vertical_aperture       = 1 
    1672                                 SetDataFolder root:VSANS_file:entry1:instrument:monochromator:white_beam                 
    1673                                                 status  = "in" 
    1674                                                 wavelength      = 5.1 
    1675                                                 wavelength_spread       = 0.8 
    1676                                                 // description_of_distribution   
    1677                         SetDataFolder root:VSANS_file:entry1:instrument:chopper          
    1678                                         status  = "in" 
    1679                                         type    = "single" 
    1680                                         rotation_speed  = 12000 
    1681                                         distance_from_source    = 400 
    1682                                         distance_from_sample    = 1500 
    1683                                         slits   = 2 
    1684                                         angular_opening = 15 
    1685                                         duty_cycle      = 0.25 
    1686                                         // +?    
    1687                         SetDataFolder root:VSANS_file:entry1:instrument:polarizer                
    1688                                         status  = "in" 
    1689                                         type    = "supermirror" 
    1690                                         composition     = "multilayer" 
    1691                                         efficiency      = 0.95 
    1692                                         status  = "in" 
    1693                         SetDataFolder root:VSANS_file:entry1:instrument:flipper          
    1694                                         status  = "on" 
    1695                                         driving_current = 42 
    1696                                         waveform        = "sine" 
    1697                                         frequency       = 400 
    1698                                         transmitted_power       = 0.99 
    1699                         SetDataFolder root:VSANS_file:entry1:instrument:polarizer_analyzer               
    1700                                         status  = "down" 
    1701                                         guide_field_current_1   = 33 
    1702                                         guide_field_current_2   = 32 
    1703                                         solenoid_current        = 21 
    1704                                         cell_index      = 1 
    1705                                         cell_names      = {"Burgundy","Olaf","Jim","Bob","Joe"} 
    1706                                         cell_parameters = 1 
    1707                                          
    1708                         SetDataFolder root:VSANS_file:entry1:instrument:attenuator               
    1709                                         nx_distance     = 1500 
    1710                                         type    = "PMMA" 
    1711                                         thickness       = 0 
    1712                                         attenuator_transmission = 1 
    1713                                         status  = "in" 
    1714                                         atten_number    = "0101" 
    1715                                         index   = 1 
    1716                         SetDataFolder root:VSANS_file:entry1:instrument:source_aperture          
    1717                                         material        = "Gd" 
    1718                                         description     = "source aperture" 
    1719                                         diameter        = 1.27 
    1720                                         nx_distance     = 13.0 
    1721                                 SetDataFolder root:VSANS_file:entry1:instrument:source_aperture:shape                    
    1722                                                 size    = 1.27 
    1723                         SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture          
    1724                                         material        = "Gd" 
    1725                                         description     = "sample aperture" 
    1726                                         diameter        = 1.27 
    1727                                         nx_distance     = 10 
    1728                                 SetDataFolder root:VSANS_file:entry1:instrument:sample_aperture:shape                    
    1729                                                 size    = 1.27 
    1730                         SetDataFolder root:VSANS_file:entry1:instrument:collimator               
    1731                                 SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry              
    1732                                         SetDataFolder root:VSANS_file:entry1:instrument:collimator:geometry:shape                
    1733                                                         shape   = "box" 
    1734                                                         size    = 11 
    1735                                         nx_NumGuides    = 1 
    1736                         SetDataFolder root:VSANS_file:entry1:instrument:converging_pinholes              
    1737                                         status  = "in" 
    1738                         SetDataFolder root:VSANS_file:entry1:instrument:converging_slits                 
    1739                                         status  = "in" 
    1740                         SetDataFolder root:VSANS_file:entry1:instrument:lenses           
    1741                                         status  = "in" 
    1742                                         lens_geometry   = "concave_lens" 
    1743                                         focus_type      = "point" 
    1744                                         number_of_lenses        = 28 
    1745                                         number_of_prisms        = 7 
    1746                                         curvature       = 1 
    1747                                         lens_distance   = 123 
    1748                                         prism_distance  = 123 
    1749                                         lens_material   = "MgF2" 
    1750                                         prism_material  = "MgF2" 
    1751                         SetDataFolder root:VSANS_file:entry1:instrument:sample_table             
    1752                                         location        = "chamber" 
    1753                                         offset_distance = 0 
    1754                         SetDataFolder root:VSANS_file:entry1:instrument:beam_stop                
    1755                                         status  = "out" 
    1756                                         description     = "circular" 
    1757                                         nx_distance     = 12.5 
    1758                                         size    = 7.62 
    1759                                         xPos    = 66.4 
    1760                                         yPos    = 64.4 
    1761                                         x_motor_position        = 0.15 
    1762                                         y_motor_position        = 0.55 
    1763                                          
    1764                         SetDataFolder root:VSANS_file:entry1:instrument:detector_B               
    1765                                         data    = trunc(abs(gnoise(p+q))) 
    1766                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1767                                         nx_distance     = 21.1 
    1768                                         description     = "fancy model" 
    1769                                         settings        = "just right" 
    1770                                         dead_time       = 5e-6 
    1771                                         x_pixel_size    = 5.08 
    1772                                         y_pixel_size    = 5.08 
    1773                                         beam_center_x   = 165.55 
    1774                                         beam_center_y   = 162.33 
    1775                                         type    = "??" 
    1776                                 //WAVE  //flatfield_applied     = 0 
    1777                                 //WAVE  //countrate_correction_applied  = 0 
    1778                                         pixel_mask      = 0 
    1779                                         integrated_count        = 100111222 
    1780                                         lateral_offset  = 20 
    1781                                         PixelNumX       = 320 
    1782                                         PixelNumY       = 320 
    1783                                         PixelFWHM       = 0.5 
    1784                                         CALX    = {0.5,0.5,10000} 
    1785                                         CALY    = {0.5,0.5,10000} 
    1786                                         size    = 65 
    1787                                         event_file_name ="something.hst" 
    1788                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MR                      
    1789                                         data    = trunc(abs(gnoise(p+q))) 
    1790                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1791                                         nx_distance     = 13.1 
    1792                                         description     = "fancy model" 
    1793                                         settings        = "just right" 
    1794                                         dead_time       = 5e-6 
    1795                                         x_pixel_size    = 5.08 
    1796                                         y_pixel_size    = 5.08 
    1797                                         beam_center_x   = 65.55 
    1798                                         beam_center_y   = 62.33 
    1799                                         type    = "??" 
    1800                                 //WAVE  //flatfield_applied     = 0 
    1801                                 //WAVE  //countrate_correction_applied  = 0 
    1802                                         pixel_mask      = 0 
    1803                                         integrated_count        = 100111222 
    1804                                         lateral_offset  = 20 
    1805                                         separation      = 150 
    1806                                         PixelNumX       = 48 
    1807                                         PixelNumY       = 256 
    1808                                         PixelFWHM       = 0.5 
    1809                                         size    = 65 
    1810                                         event_file_name ="something.hst" 
    1811                                         tube_orientation        = "vertical" 
    1812                                         number_of_tubes = 48 
    1813                                         tube_index      = p 
    1814                                         spatial_calibration     = 1 
    1815                                         tube_width      = 8 
    1816                         SetDataFolder root:VSANS_file:entry1:instrument:detector_ML              
    1817                                         data    = trunc(abs(gnoise(p+q))) 
    1818                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1819                                         nx_distance     = 13.1 
    1820                                         description     = "fancy model" 
    1821                                         settings        = "just right" 
    1822                                         dead_time       = 5e-6 
    1823                                         x_pixel_size    = 5.08 
    1824                                         y_pixel_size    = 5.08 
    1825                                         beam_center_x   = 65.55 
    1826                                         beam_center_y   = 62.33 
    1827                                         type    = "??" 
    1828                                 //WAVE  //flatfield_applied     = 0 
    1829                                 //WAVE  //countrate_correction_applied  = 0 
    1830                                         pixel_mask      = 0 
    1831                                         integrated_count        = 100111222 
    1832                                         lateral_offset  = 20 
    1833                                         separation      = 150 
    1834                                         PixelNumX       = 48 
    1835                                         PixelNumY       = 256 
    1836                                         PixelFWHM       = 0.5 
    1837                                         size    = 65 
    1838                                         event_file_name ="something.hst" 
    1839                                         tube_orientation        = "vertical" 
    1840                                         number_of_tubes = 48 
    1841                                         tube_index      = p 
    1842                                         spatial_calibration     = 1 
    1843                                         tube_width      = 8 
    1844                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MT              
    1845                                         data    = trunc(abs(gnoise(p+q))) 
    1846                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1847                                         nx_distance     = 13.4 
    1848                                         description     = "fancy model" 
    1849                                         settings        = "just right" 
    1850                                         dead_time       = 5e-6 
    1851                                         x_pixel_size    = 5.08 
    1852                                         y_pixel_size    = 5.08 
    1853                                         beam_center_x   = 65.55 
    1854                                         beam_center_y   = 62.33 
    1855                                         type    = "??" 
    1856                                 //WAVE  //flatfield_applied     = 0 
    1857                                 //WAVE  //countrate_correction_applied  = 0 
    1858                                         pixel_mask      = 0 
    1859                                         integrated_count        = 100111222 
    1860                                         lateral_offset  = 20 
    1861                                         sdd_offset      = 30 
    1862                                         separation      = 150 
    1863                                         PixelNumX       = 128 
    1864                                         PixelNumY       = 48 
    1865                                         PixelFWHM       = 0.5 
    1866                                         size    = 65 
    1867                                         event_file_name ="something.hst" 
    1868                                         tube_orientation        = "horizontal" 
    1869                                         number_of_tubes = 48 
    1870                                         tube_index      = p 
    1871                                         spatial_calibration     = 1 
    1872                                         tube_width      = 8 
    1873                         SetDataFolder root:VSANS_file:entry1:instrument:detector_MB              
    1874                                         data    = trunc(abs(gnoise(p+q))) 
    1875                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1876                                         nx_distance     = 13.4 
    1877                                         description     = "fancy model" 
    1878                                         settings        = "just right" 
    1879                                         dead_time       = 5e-6 
    1880                                         x_pixel_size    = 5.08 
    1881                                         y_pixel_size    = 5.08 
    1882                                         beam_center_x   = 65.55 
    1883                                         beam_center_y   = 62.33 
    1884                                         type    = "??" 
    1885                                 //WAVE  //flatfield_applied     = 0 
    1886                                 //WAVE  //countrate_correction_applied  = 0 
    1887                                         pixel_mask      = 0 
    1888                                         integrated_count        = 100111222 
    1889                                         lateral_offset  = 20 
    1890                                         sdd_offset      = 30 
    1891                                         separation      = 150 
    1892                                         PixelNumX       = 128 
    1893                                         PixelNumY       = 48 
    1894                                         PixelFWHM       = 0.5 
    1895                                         size    = 65 
    1896                                         event_file_name ="something.hst" 
    1897                                         tube_orientation        = "horizontal" 
    1898                                         number_of_tubes = 48 
    1899                                         tube_index      = p 
    1900                                         spatial_calibration     = 1 
    1901                                         tube_width      = 8 
    1902                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FR                      
    1903                                         data    = trunc(abs(gnoise(p+q))) 
    1904                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1905                                         nx_distance     = 2.1 
    1906                                         description     = "fancy model" 
    1907                                         settings        = "just right" 
    1908                                         dead_time       = 5e-6 
    1909                                         x_pixel_size    = 5.08 
    1910                                         y_pixel_size    = 5.08 
    1911                                         beam_center_x   = 65.55 
    1912                                         beam_center_y   = 62.33 
    1913                                         type    = "??" 
    1914                                 //WAVE  //flatfield_applied     = 0 
    1915                                 //WAVE  //countrate_correction_applied  = 0 
    1916                                         pixel_mask      = 0 
    1917                                         integrated_count        = 100111222 
    1918                                         lateral_offset  = 20 
    1919                                         separation      = 150 
    1920                                         PixelNumX       = 48 
    1921                                         PixelNumY       = 256 
    1922                                         PixelFWHM       = 0.5 
    1923                                         size    = 65 
    1924                                         event_file_name ="something.hst" 
    1925                                         tube_orientation        = "vertical" 
    1926                                         number_of_tubes = 48 
    1927                                         tube_index      = p 
    1928                                         spatial_calibration     = 1 
    1929                                         tube_width      = 8 
    1930                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FL              
    1931                                         data    = trunc(abs(gnoise(p+q))) 
    1932                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1933                                         nx_distance     = 2.1 
    1934                                         description     = "fancy model" 
    1935                                         settings        = "just right" 
    1936                                         dead_time       = 5e-6 
    1937                                         x_pixel_size    = 5.08 
    1938                                         y_pixel_size    = 5.08 
    1939                                         beam_center_x   = 65.55 
    1940                                         beam_center_y   = 62.33 
    1941                                         type    = "??" 
    1942                                 //WAVE  //flatfield_applied     = 0 
    1943                                 //WAVE  //countrate_correction_applied  = 0 
    1944                                         pixel_mask      = 0 
    1945                                         integrated_count        = 100111222 
    1946                                         lateral_offset  = 20 
    1947                                         separation      = 150 
    1948                                         PixelNumX       = 48 
    1949                                         PixelNumY       = 256 
    1950                                         PixelFWHM       = 0.5 
    1951                                         size    = 65 
    1952                                         event_file_name ="something.hst" 
    1953                                         tube_orientation        = "vertical" 
    1954                                         number_of_tubes = 48 
    1955                                         tube_index      = p 
    1956                                         spatial_calibration     = 1 
    1957                                         tube_width      = 8 
    1958                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FT              
    1959                                         data    = trunc(abs(gnoise(p+q))) 
    1960                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1961                                         nx_distance     = 2.1 
    1962                                         description     = "fancy model" 
    1963                                         settings        = "just right" 
    1964                                         dead_time       = 5e-6 
    1965                                         x_pixel_size    = 5.08 
    1966                                         y_pixel_size    = 5.08 
    1967                                         beam_center_x   = 65.55 
    1968                                         beam_center_y   = 62.33 
    1969                                         type    = "??" 
    1970                                 //WAVE  //flatfield_applied     = 0 
    1971                                 //WAVE  //countrate_correction_applied  = 0 
    1972                                         pixel_mask      = 0 
    1973                                         integrated_count        = 100111222 
    1974                                         lateral_offset  = 20 
    1975                                         sdd_offset      = 30 
    1976                                         separation      = 150 
    1977                                         PixelNumX       = 128 
    1978                                         PixelNumY       = 48 
    1979                                         PixelFWHM       = 0.5 
    1980                                         size    = 65 
    1981                                         event_file_name ="something.hst" 
    1982                                         tube_orientation        = "horizontal" 
    1983                                         number_of_tubes = 48 
    1984                                         tube_index      = p 
    1985                                         spatial_calibration     = 1 
    1986                                         tube_width      = 8 
    1987                         SetDataFolder root:VSANS_file:entry1:instrument:detector_FB              
    1988                                         data    = trunc(abs(gnoise(p+q))) 
    1989                                 //WAVE  //data_error    = 0.01*abs(gnoise(p+q)) 
    1990                                         nx_distance     = 2.1 
    1991                                         description     = "fancy model" 
    1992                                         settings        = "just right" 
    1993                                         dead_time       = 5e-6 
    1994                                         x_pixel_size    = 5.08 
    1995                                         y_pixel_size    = 5.08 
    1996                                         beam_center_x   = 65.55 
    1997                                         beam_center_y   = 62.33 
    1998                                         type    = "??" 
    1999                                 //WAVE  //flatfield_applied     = 0 
    2000                                 //WAVE  //countrate_correction_applied  = 0 
    2001                                         pixel_mask      = 0 
    2002                                         integrated_count        = 100111222 
    2003                                         lateral_offset  = 20 
    2004                                         sdd_offset      = 30 
    2005                                         separation      = 150 
    2006                                         PixelNumX       = 128 
    2007                                         PixelNumY       = 48 
    2008                                         PixelFWHM       = 0.5 
    2009                                         size    = 65 
    2010                                         event_file_name ="something.hst" 
    2011                                         tube_orientation        = "horizontal" 
    2012                                         number_of_tubes = 48 
    2013                                         tube_index      = p 
    2014                                         spatial_calibration     = 1 
    2015                                         tube_width      = 8 
    2016                                          
    2017                                          
    2018                 SetDataFolder root:VSANS_file:entry1:data_B              
    2019                                 data    = trunc(abs(gnoise(p+q))) 
    2020                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2021                                 variables       = {320,320} 
    2022                                 data_image      = p 
    2023                 SetDataFolder root:VSANS_file:entry1:data_MR             
    2024                                 data    = trunc(abs(gnoise(p+q))) 
    2025                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2026                                 variables       = {48,256} 
    2027                                 data_image      = p 
    2028                 SetDataFolder root:VSANS_file:entry1:data_ML             
    2029                                 data    = trunc(abs(gnoise(p+q))) 
    2030                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2031                                 variables       = {48,256} 
    2032                                 data_image      = p 
    2033                 SetDataFolder root:VSANS_file:entry1:data_MT             
    2034                                 data    = trunc(abs(gnoise(p+q))) 
    2035                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2036                                 variables       = {128,48} 
    2037                                 data_image      = p 
    2038                 SetDataFolder root:VSANS_file:entry1:data_MB             
    2039                                 data    = trunc(abs(gnoise(p+q))) 
    2040                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2041                                 variables       = {128,48} 
    2042                                 data_image      = p 
    2043                 SetDataFolder root:VSANS_file:entry1:data_FR             
    2044                                 data    = trunc(abs(gnoise(p+q))) 
    2045                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2046                                 variables       = {48,256} 
    2047                                 data_image      = p 
    2048                 SetDataFolder root:VSANS_file:entry1:data_FL             
    2049                                 data    = trunc(abs(gnoise(p+q))) 
    2050                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2051                                 variables       = {48,256} 
    2052                                 data_image      = p 
    2053                 SetDataFolder root:VSANS_file:entry1:data_FT             
    2054                                 data    = trunc(abs(gnoise(p+q))) 
    2055                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2056                                 variables       = {128,48} 
    2057                                 data_image      = p 
    2058                 SetDataFolder root:VSANS_file:entry1:data_FB             
    2059                                 data    = trunc(abs(gnoise(p+q))) 
    2060                         //WAVE  //error = 0.01*abs(gnoise(p+q)) 
    2061                                 variables       = {128,48} 
    2062                                 data_image      = p 
    2063                                  
    2064                 SetDataFolder root:VSANS_file:entry1:reduction           
    2065                                 intent  = "SCATTER" 
    2066                                 transmission_file_name  = "SANSFile_TRN.h5" 
    2067                                 empty_beam_file_name    = "SANSFile_EB.h5" 
    2068                                 background_file_name    = "SANSFile_BKG.h5" 
    2069                                 empty_file_name = "SANSFile_EMP.h5" 
    2070                                 sensitivity_file_name   = "SANSFile_DIV.h5" 
    2071                                 mask_file_name  = "SANSFile_MASK.h5" 
    2072                                 sans_log_file_name      = "SANSFile_log.txt" 
    2073                                 whole_trans     = 0.888 
    2074                                 whole_trans_error       = 0.008 
    2075                                 box_count       = 23232 
    2076                                 box_count_error = 22 
    2077                                 box_coordinates = {50,80,45,75} 
    2078                                 comments        = "extra data comments" 
    2079                                 absolute_scaling        = {1,1,1e5,1} 
    2080                         SetDataFolder root:VSANS_file:entry1:reduction:pol_sans                  
    2081                                         pol_sans_purpose        = "name from the list" 
    2082                                         cell_name       = "Burgundy" 
    2083                                         cell_parameters = {1,2,3,4,5} 
    2084                                                  
    2085         SetDataFolder root:VSANS_file:DAS_Logs           
    2086                         //...multiple entries and levels... to add       
    2087                         //this will be enormous  
    2088  
    2089  
    2090  
    2091  
    2092  
    2093  
    2094  
    2095 ///// DO NOT DELETE WHAT IS BELOW THIS LINE  ///////////// 
    2096  
     26 
     27 
     28// 
     29// A "template" VSANS Nexus file has been loaded and is then filled in with 
     30// the simulation results. Some of teh file, will therefor be garbage, but the  
     31// overall structure and attributes should be correct. 
     32// 
     33// Hopefully this will make the maintenance and testing of the file structure easier... 
     34// AUG 2015 
     35// 
    209736/////////////////////////// 
    209837// 
     
    210140// 
    210241//////////////////////// 
     42 
     43// TODO: 
     44//      -- Need to write all of the "accessors" to r/w all of the simulated bits to the data file... lots to do 
     45// -- THIS DOES NOT MATCH THE CURRENT NICE_GENERATED FILE !!!! 
     46// 
     47Proc H_Fill_VSANS_Template_wSim() 
     48 
     49//                              root:sans9:entry:entry1:instrument:beam:monochromator:wavelength 
    210350                                 
    210451                        SetDataFolder root:VSANS_file:entry1:instrument          
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_HDF5_VSANS_Utils.ipf

    r958 r960  
    4545 
    4646 
    47  
    48 Macro Setup_VSANS_Struct() 
     47Macro Load_Nexus_V_Template() 
     48        H_HDF5Gate_Read_Raw("") 
     49        String tmpStr=root:file_name  //SRK - so I can get the file name 
     50         
     51// this is the folder name 
     52        String base_name = StringFromList(0,File_Name,".") 
     53//      Print base_name 
     54        RenameDataFolder $("root:"+base_name), V_Nexus_Template 
     55End 
     56 
     57 
     58Macro Fill_Nexus_V_Template() 
     59 
     60End 
     61 
     62 
     63Macro Save_Nexus_V_Template() 
     64        H_HDF5Gate_Write_Raw() 
     65End 
     66 
     67 
     68 
     69 
     70 
     71 
     72 
     73 
     74 
     75 
     76 
     77 
     78 
     79///////////////////////////// 
     80 
     81/////////////below is largely depricated, ugly dance to be able to "fake" a file from Igor 
     82// which was not complete anyways. 
     83 
     84 
     85 
     86Macro IgorOnly_Setup_VSANS_Struct() 
    4987 
    5088        // lays out the tree and fills with dummy values 
     
    5997End 
    6098 
    61 Macro Save_VSANS_Nexus(fileName) 
     99Macro IgorOnly_Save_VSANS_Nexus(fileName) 
    62100        String fileName="Test_VSANS_file" 
    63101 
     
    87125 
    88126 
    89 Macro Setup_SANS_Struct() 
     127Macro IgorOnly_Setup_SANS_Struct() 
    90128 
    91129        // lays out the tree and fills with dummy values 
     
    100138End 
    101139 
    102 Macro Save_SANS_Nexus(fileName) 
     140Macro IgorOnly_Save_SANS_Nexus(fileName) 
    103141        String fileName="Test_SANS_file" 
    104142         
     
    197235// this is my procedure to save the folders to HDF5, once I've filled the folder tree 
    198236// 
    199 // this does NOT save attributes, but gets the fodler structure correct 
     237// this does NOT save attributes, but gets the folder structure correct 
    200238// 
    201239Function H_NXSANS_SaveGroupAsHDF5(dfPath, filename) 
     
    224262End 
    225263 
     264// passing null file string presents a dialog 
     265// these two procedures will use the full Xrefs, so they can write out full 
     266// files. They are, however, slow 
     267Proc Read_Nexus_Xref() 
     268        H_HDF5Gate_Read_Raw("") 
     269End 
     270 
     271Proc Write_Nexus_Xref() 
     272        H_HDF5Gate_Write_Raw() 
     273End 
    226274 
    227275// 
    228276// writes out the contents of a data folder using the gateway 
    229 // -- the HDF5___xref wave must be present at the toep level for it to 
     277// -- the HDF5___xref wave must be present at the top level for it to 
    230278//    write out anything. 
    231279// 
    232 Proc H_HDF5Gate_Write_Raw(dfPath, filename) 
    233         String dfPath   ="root:VSANS_file"              // e.g., "root:FolderA" or ":" 
     280Proc H_HDF5Gate_Write_Raw(dfPath,filename) 
     281        String dfPath   = "root:"       // e.g., "root:FolderA" or ":" 
    234282        String filename = "Test_VSANS_file.h5" 
    235          
     283//      Prompt dfPath, "Data Folder",popup,H_GetAList(4)         
     284//      Prompt fileName, "File name" 
     285         
     286//      DoPrompt "Folder and file to write", dfPath,fileName 
    236287        // Check our work so far. 
    237288        // If something prints, there was an error above. 
     
    250301Proc H_HDF5Gate_Read_Raw(file) 
    251302        String file 
     303         
    252304//      NewDataFolder/O/S root:newdata 
    253305        Print H5GW_ReadHDF5("", file)   // reads into current folder 
     
    255307End 
    256308 
     309 
     310 
     311// this is in PlotUtils, but duplicated here 
     312// utility used in the "PlotSmeared...() macros to get a list of data folders 
     313// 
     314//1:    Waves. 
     315//2:    Numeric variables. 
     316//3:    String variables. 
     317//4:    Data folders. 
     318Function/S H_GetAList(type) 
     319        Variable type 
     320         
     321        SetDataFolder root: 
     322         
     323        String objName,str="" 
     324        Variable index = 0 
     325        do 
     326                objName = GetIndexedObjName(":", type, index) 
     327                if (strlen(objName) == 0) 
     328                        break 
     329                endif 
     330                //Print objName 
     331                str += objName + ";" 
     332                index += 1 
     333        while(1) 
     334         
     335        // remove myGlobals, Packages, etc. from the folder list 
     336        if(type==4) 
     337                str = RemoveFromList("myGlobals", str , ";" ) 
     338                str = RemoveFromList("Packages", str, ";") 
     339        endif 
     340         
     341        return(str) 
     342End 
    257343 
    258344// 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VSANS_Includes.ipf

    r958 r960  
    1313#include "Nexus_SANS_Write" 
    1414#include "Nexus_VSANS_Write" 
     15#include "V_ReadWrite_HDF5"             //AUG2015 beginning of read/write 
     16#include "V_NexusFromIgor"                      //AUG2015 - depricated, but keep for now 
    1517 
    1618// for possible peak fitting 
Note: See TracChangeset for help on using the changeset viewer.