Ignore:
Timestamp:
Jul 25, 2016 2:50:41 PM (6 years ago)
Author:
srkline
Message:

editing the read/write routines to include the latest additions to the json file definiton, including all of the additions to the polarization components. The file structure should be largely set at this point, with hopefully only minor changes as I shake out the bugs of working with the data.

File:
1 edited

Legend:

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

    r1000 r1005  
    256256        return(V_getStringFromHDF5(fname,path,num)) 
    257257End 
    258                  
    259 //// file write time (what is this?? 
    260 //// TODO - figure out if this is supposed to be an integer or text (ISO) 
    261 //Function V_getFileWriteTime(fname) 
    262 //      String fname 
    263 //       
    264 //      String path = "entry:file_time"  
    265 //      return(V_getRealValueFromHDF5(fname,path)) 
    266 //End 
    267258 
    268259// TODO - should be the file name as saved on disk, currently it's not 
     
    335326// TODO -- for the control section, document each of the fields 
    336327 
    337 Function V_getCount_end(fname) 
    338         String fname 
    339          
     328Function/S V_getCount_end(fname) 
     329        String fname 
     330         
     331        Variable num 
    340332        String path = "entry:control:count_end"  
    341         return(V_getRealValueFromHDF5(fname,path)) 
    342 end 
    343  
    344  
    345 Function V_getCount_start(fname) 
    346         String fname 
    347          
     333        return(V_getStringFromHDF5(fname,path,num)) 
     334end 
     335 
     336 
     337Function/S V_getCount_start(fname) 
     338        String fname 
     339         
     340        Variable num 
    348341        String path = "entry:control:count_start"        
    349         return(V_getRealValueFromHDF5(fname,path)) 
     342        return(V_getStringFromHDF5(fname,path,num)) 
    350343end 
    351344 
     
    416409 
    417410// TODO - what are the enumerated types for this? 
    418 Function V_getPreset(fname) 
    419         String fname 
    420          
     411Function/S V_getPreset(fname) 
     412        String fname 
     413         
     414        Variable num 
    421415        String path = "entry:control:preset"     
    422         return(V_getRealValueFromHDF5(fname,path)) 
     416        return(V_getStringFromHDF5(fname,path,num)) 
    423417end 
    424418 
     
    496490 
    497491 
    498 //// attenuator index, to use in the lookup table of transmission values 
    499 //Function V_getAttenIndex(fname) 
    500 //      String fname 
    501 //       
    502 //      String path = "entry:instrument:attenuator:index"        
    503 //      return(V_getRealValueFromHDF5(fname,path)) 
    504 //end 
    505492 
    506493// table of the attenuation factor error 
     
    534521//End 
    535522 
    536 // this is equivalent to "status" - if anything is dropped in the beam 
    537 Function V_getAtten_number(fname) 
    538         String fname 
    539          
    540         String path = "entry:instrument:attenuator:num_atten_dropped"    
    541         return(V_getRealValueFromHDF5(fname,path)) 
    542 end 
     523//// this is equivalent to "status" - if anything is dropped in the beam 
     524//Function V_getAtten_number(fname) 
     525//      String fname 
     526//       
     527//      String path = "entry:instrument:attenuator:num_atten_dropped"    
     528//      return(V_getRealValueFromHDF5(fname,path)) 
     529//end 
    543530 
    544531// thickness of the attenuator (PMMA) - units?? 
     
    562549 
    563550////// INSTRUMENT/BEAM 
     551// instrument/beam/analyzer (data folder) 
     552// this is the He3 analyzer, after the sample (but first alphabetically) 
     553// TODO -- document what all of the fields represent, and what are the most important to "key" on to read 
     554// 
     555Function V_getAnalyzer_depth(fname) 
     556        String fname 
     557         
     558        String path = "entry:instrument:beam:analyzer:depth"     
     559        return(V_getRealValueFromHDF5(fname,path)) 
     560end 
     561 
     562Function/S V_getAnalyzer_direction(fname) 
     563        String fname 
     564 
     565        String path = "entry:instrument:beam:analyzer:direction" 
     566        Variable num=60 
     567        return(V_getStringFromHDF5(fname,path,num)) 
     568End 
     569 
     570Function V_getAnalyzer_height(fname) 
     571        String fname 
     572         
     573        String path = "entry:instrument:beam:analyzer:height"    
     574        return(V_getRealValueFromHDF5(fname,path)) 
     575end 
     576 
     577// ?? TODO is this equivalent to "status" -- ?? 0|1 
     578Function V_getAnalyzer_inBeam(fname) 
     579        String fname 
     580         
     581        String path = "entry:instrument:beam:analyzer:inBeam"    
     582        return(V_getRealValueFromHDF5(fname,path)) 
     583end 
     584 
     585Function V_getAnalyzer_innerDiameter(fname) 
     586        String fname 
     587         
     588        String path = "entry:instrument:beam:analyzer:innerDiameter"     
     589        return(V_getRealValueFromHDF5(fname,path)) 
     590end 
     591 
     592// one of the most important 
     593Function/S V_getAnalyzer_name(fname) 
     594        String fname 
     595 
     596        String path = "entry:instrument:beam:analyzer:name" 
     597        Variable num=60 
     598        return(V_getStringFromHDF5(fname,path,num)) 
     599End 
     600 
     601Function V_getAnalyzer_opacityAt1Ang(fname) 
     602        String fname 
     603         
     604        String path = "entry:instrument:beam:analyzer:opacityAt1Ang"     
     605        return(V_getRealValueFromHDF5(fname,path)) 
     606end 
     607 
     608Function V_getAnalyzer_opacityAt1Ang_err(fname) 
     609        String fname 
     610         
     611        String path = "entry:instrument:beam:analyzer:opacityAt1AngStd"  
     612        return(V_getRealValueFromHDF5(fname,path)) 
     613end 
     614 
     615Function V_getAnalyzer_outerDiameter(fname) 
     616        String fname 
     617         
     618        String path = "entry:instrument:beam:analyzer:outerDiameter"     
     619        return(V_getRealValueFromHDF5(fname,path)) 
     620end 
     621 
     622Function/S V_getAnalyzer_shape(fname) 
     623        String fname 
     624 
     625        String path = "entry:instrument:beam:analyzer:shape" 
     626        Variable num=60 
     627        return(V_getStringFromHDF5(fname,path,num)) 
     628End 
     629 
     630Function V_getAnalyzer_tE(fname) 
     631        String fname 
     632         
     633        String path = "entry:instrument:beam:analyzer:tE"        
     634        return(V_getRealValueFromHDF5(fname,path)) 
     635end 
     636 
     637Function V_getAnalyzer_tE_err(fname) 
     638        String fname 
     639         
     640        String path = "entry:instrument:beam:analyzer:tEStd"     
     641        return(V_getRealValueFromHDF5(fname,path)) 
     642end 
     643 
     644Function/S V_getAnalyzer_type(fname) 
     645        String fname 
     646 
     647        String path = "entry:instrument:beam:analyzer:type" 
     648        Variable num=60 
     649        return(V_getStringFromHDF5(fname,path,num)) 
     650End 
     651 
     652 
     653Function V_getAnalyzer_width(fname) 
     654        String fname 
     655         
     656        String path = "entry:instrument:beam:analyzer:width"     
     657        return(V_getRealValueFromHDF5(fname,path)) 
     658end 
     659 
     660 
    564661// instrument/beam/chopper (data folder) 
    565662Function V_getChopperAngular_opening(fname) 
     
    622719 
    623720 
    624 // instrument/beam/flipper (data folder) 
    625 Function V_getFlipperDriving_current(fname) 
    626         String fname 
    627          
    628         String path = "entry:instrument:beam:flipper:driving_current"    
    629         return(V_getRealValueFromHDF5(fname,path)) 
    630 end 
    631  
    632 Function V_getFlipperFrequency(fname) 
    633         String fname 
    634          
    635         String path = "entry:instrument:beam:flipper:frequency"  
    636         return(V_getRealValueFromHDF5(fname,path)) 
    637 end 
    638  
    639 Function/S V_getFlipperstatus(fname) 
    640         String fname 
    641  
    642         String path = "entry:instrument:beam:flipper:status" 
    643         Variable num=60 
    644         return(V_getStringFromHDF5(fname,path,num)) 
    645 End 
    646  
    647 Function V_getFlipperTransmitted_power(fname) 
    648         String fname 
    649          
    650         String path = "entry:instrument:beam:flipper:transmitted_power"  
    651         return(V_getRealValueFromHDF5(fname,path)) 
    652 end 
    653  
    654 Function/S V_getFlipperWaveform(fname) 
    655         String fname 
    656  
    657         String path = "entry:instrument:beam:flipper:waveform" 
    658         Variable num=60 
    659         return(V_getStringFromHDF5(fname,path,num)) 
    660 End 
     721// instrument/beam/flipperPolarizer (data folder) 
     722// this is upstream, after the supermirror but before the sample 
     723 
     724Function/S V_getflipperPolarizer_Direction(fname) 
     725        String fname 
     726 
     727        String path = "entry:instrument:beam:flipperPolarizer:direction" 
     728        Variable num=60 
     729        return(V_getStringFromHDF5(fname,path,num)) 
     730End 
     731 
     732Function V_getflipperPolarizer_inBeam(fname) 
     733        String fname 
     734         
     735        String path = "entry:instrument:beam:flipperPolarizer:inBeam"    
     736        return(V_getRealValueFromHDF5(fname,path)) 
     737end 
     738 
     739Function/S V_getflipperPolarizer_Type(fname) 
     740        String fname 
     741 
     742        String path = "entry:instrument:beam:flipperPolarizer:type" 
     743        Variable num=60 
     744        return(V_getStringFromHDF5(fname,path,num)) 
     745End 
     746 
     747 
     748 
     749//Function V_getFlipperDriving_current(fname) 
     750//      String fname 
     751//       
     752//      String path = "entry:instrument:beam:flipper:driving_current"    
     753//      return(V_getRealValueFromHDF5(fname,path)) 
     754//end 
     755// 
     756//Function V_getFlipperFrequency(fname) 
     757//      String fname 
     758//       
     759//      String path = "entry:instrument:beam:flipper:frequency"  
     760//      return(V_getRealValueFromHDF5(fname,path)) 
     761//end 
     762// 
     763//Function/S V_getFlipperstatus(fname) 
     764//      String fname 
     765// 
     766//      String path = "entry:instrument:beam:flipper:status" 
     767//      Variable num=60 
     768//      return(V_getStringFromHDF5(fname,path,num)) 
     769//End 
     770// 
     771//Function V_getFlipperTransmitted_power(fname) 
     772//      String fname 
     773//       
     774//      String path = "entry:instrument:beam:flipper:transmitted_power"  
     775//      return(V_getRealValueFromHDF5(fname,path)) 
     776//end 
     777// 
     778//Function/S V_getFlipperWaveform(fname) 
     779//      String fname 
     780// 
     781//      String path = "entry:instrument:beam:flipper:waveform" 
     782//      Variable num=60 
     783//      return(V_getStringFromHDF5(fname,path,num)) 
     784//End 
     785 
     786 
    661787 
    662788// instrument/beam/monochromator (data folder) 
     
    684810 
    685811// instrument/beam/monochromator/crystal (data folder) 
     812Function V_getCrystalDistance(fname) 
     813        String fname 
     814         
     815        String path = "entry:instrument:beam:monochromator:crystal:distance"     
     816        return(V_getRealValueFromHDF5(fname,path)) 
     817end 
     818 
    686819Function V_getCrystalEnergy(fname) 
    687820        String fname 
     
    709842         
    710843        String path = "entry:instrument:beam:monochromator:crystal:lattice_parameter"    
    711         return(V_getRealValueFromHDF5(fname,path)) 
    712 end 
    713  
    714 Function V_getCrystalDistance(fname) 
    715         String fname 
    716          
    717         String path = "entry:instrument:beam:monochromator:crystal:distance"     
    718844        return(V_getRealValueFromHDF5(fname,path)) 
    719845end 
     
    807933        return w 
    808934end 
    809  
    810 //Function V_getVSTable(fname) 
    811 //      String fname 
    812 //       
    813 //      String path = "entry:instrument:beam:monochromator:velocity_selector:table"      
    814 //      return(V_getRealValueFromHDF5(fname,path)) 
    815 //end 
    816935 
    817936//// DONE - this does not exist for VSANS - per JGB 4/2016 
     
    860979end 
    861980 
    862 // instrument/beam/polarizer (data folder) 
     981// instrument/beam/superMirror (data folder) 
     982// This is the upstream polarizer. There are no other choices for polarizer on VSANS 
    863983Function/S V_getPolarizerComposition(fname) 
    864984        String fname 
    865985 
    866         String path = "entry:instrument:beam:polarizer:composition" 
     986        String path = "entry:instrument:beam:superMirror:composition" 
    867987        Variable num=60 
    868988        return(V_getStringFromHDF5(fname,path,num)) 
     
    872992        String fname 
    873993         
    874         String path = "entry:instrument:beam:polarizer:efficiency"       
    875         return(V_getRealValueFromHDF5(fname,path)) 
    876 end 
    877  
    878 Function/S V_getPolarizerStatus(fname) 
    879         String fname 
    880  
    881         String path = "entry:instrument:beam:polarizer:status" 
    882         Variable num=60 
    883         return(V_getStringFromHDF5(fname,path,num)) 
    884 End 
    885  
    886 Function/S V_getPolarizerType(fname) 
    887         String fname 
    888  
    889         String path = "entry:instrument:beam:polarizer:type" 
    890         Variable num=60 
    891         return(V_getStringFromHDF5(fname,path,num)) 
    892 End 
    893  
    894 // instrument/beam/polarizer_analyzer (data folder) 
    895 Function V_getPolAnaCell_index(fname) 
    896         String fname 
    897  
    898         String path = "entry:instrument:beam:polarizer_analyzer:cell_index" 
    899         return(V_getRealValueFromHDF5(fname,path)) 
    900 End 
    901  
    902 Function/S V_getPolAnaCell_name(fname) 
    903         String fname 
    904  
    905         String path = "entry:instrument:beam:polarizer_analyzer:cell_name" 
    906         Variable num=60 
    907         return(V_getStringFromHDF5(fname,path,num)) 
    908 End 
    909  
    910 Function/WAVE V_getPolAnaCell_parameters(fname) 
    911         String fname 
    912  
    913         String path = "entry:instrument:beam:polarizer_analyzer:cell_parameters" 
    914         WAVE w = V_getRealWaveFromHDF5(fname,path) 
    915  
    916         return w 
    917 End 
    918  
    919 Function V_getPolAnaGuideFieldCur_1(fname) 
    920         String fname 
    921  
    922         String path = "entry:instrument:beam:polarizer_analyzer:guide_field_current_1" 
    923         return(V_getRealValueFromHDF5(fname,path)) 
    924 End 
    925  
    926 Function V_getPolAnaGuideFieldCur_2(fname) 
    927         String fname 
    928  
    929         String path = "entry:instrument:beam:polarizer_analyzer:guide_field_current_2" 
    930         return(V_getRealValueFromHDF5(fname,path)) 
    931 End 
    932  
    933 Function V_getPolAnaSolenoid_current(fname) 
    934         String fname 
    935  
    936         String path = "entry:instrument:beam:polarizer_analyzer:solenoid_current" 
    937         return(V_getRealValueFromHDF5(fname,path)) 
    938 End 
    939  
    940 Function/S V_getPolAnaStatus(fname) 
    941         String fname 
    942  
    943         String path = "entry:instrument:beam:polarizer_analyzer:status" 
    944         Variable num=60 
    945         return(V_getStringFromHDF5(fname,path,num)) 
    946 End 
     994        String path = "entry:instrument:beam:superMirror:efficiency"     
     995        return(V_getRealValueFromHDF5(fname,path)) 
     996end 
     997 
     998Function/S V_getPolarizerState(fname) 
     999        String fname 
     1000 
     1001        String path = "entry:instrument:beam:superMirror:state" 
     1002        Variable num=60 
     1003        return(V_getStringFromHDF5(fname,path,num)) 
     1004End 
     1005 
     1006//Function/S V_getPolarizerType(fname) 
     1007//      String fname 
     1008// 
     1009//      String path = "entry:instrument:beam:polarizer:type" 
     1010//      Variable num=60 
     1011//      return(V_getStringFromHDF5(fname,path,num)) 
     1012//End 
     1013 
     1014//// instrument/beam/polarizer_analyzer (data folder) 
     1015//Function V_getPolAnaCell_index(fname) 
     1016//      String fname 
     1017// 
     1018//      String path = "entry:instrument:beam:polarizer_analyzer:cell_index" 
     1019//      return(V_getRealValueFromHDF5(fname,path)) 
     1020//End 
     1021// 
     1022//Function/S V_getPolAnaCell_name(fname) 
     1023//      String fname 
     1024// 
     1025//      String path = "entry:instrument:beam:polarizer_analyzer:cell_name" 
     1026//      Variable num=60 
     1027//      return(V_getStringFromHDF5(fname,path,num)) 
     1028//End 
     1029// 
     1030//Function/WAVE V_getPolAnaCell_parameters(fname) 
     1031//      String fname 
     1032// 
     1033//      String path = "entry:instrument:beam:polarizer_analyzer:cell_parameters" 
     1034//      WAVE w = V_getRealWaveFromHDF5(fname,path) 
     1035// 
     1036//      return w 
     1037//End 
     1038// 
     1039//Function V_getPolAnaGuideFieldCur_1(fname) 
     1040//      String fname 
     1041// 
     1042//      String path = "entry:instrument:beam:polarizer_analyzer:guide_field_current_1" 
     1043//      return(V_getRealValueFromHDF5(fname,path)) 
     1044//End 
     1045// 
     1046//Function V_getPolAnaGuideFieldCur_2(fname) 
     1047//      String fname 
     1048// 
     1049//      String path = "entry:instrument:beam:polarizer_analyzer:guide_field_current_2" 
     1050//      return(V_getRealValueFromHDF5(fname,path)) 
     1051//End 
     1052// 
     1053//Function V_getPolAnaSolenoid_current(fname) 
     1054//      String fname 
     1055// 
     1056//      String path = "entry:instrument:beam:polarizer_analyzer:solenoid_current" 
     1057//      return(V_getRealValueFromHDF5(fname,path)) 
     1058//End 
     1059// 
     1060//Function/S V_getPolAnaStatus(fname) 
     1061//      String fname 
     1062// 
     1063//      String path = "entry:instrument:beam:polarizer_analyzer:status" 
     1064//      Variable num=60 
     1065//      return(V_getStringFromHDF5(fname,path,num)) 
     1066//End 
    9471067 
    9481068                                         
     
    9571077End 
    9581078 
     1079Function V_getBeamMonLowDistance(fname) 
     1080        String fname 
     1081 
     1082        String path = "entry:instrument:beam_monitor_low:distance" 
     1083        return(V_getRealValueFromHDF5(fname,path)) 
     1084End 
     1085 
    9591086Function V_getBeamMonLowEfficiency(fname) 
    9601087        String fname 
    9611088 
    9621089        String path = "entry:instrument:beam_monitor_low:efficiency" 
    963         return(V_getRealValueFromHDF5(fname,path)) 
    964 End 
    965  
    966 Function V_getBeamMonLowDistance(fname) 
    967         String fname 
    968  
    969         String path = "entry:instrument:beam_monitor_low:distance" 
    9701090        return(V_getRealValueFromHDF5(fname,path)) 
    9711091End 
     
    9941114End 
    9951115 
     1116Function V_getBeamMonNormDistance(fname) 
     1117        String fname 
     1118 
     1119        String path = "entry:instrument:beam_monitor_norm:distance" 
     1120        return(V_getRealValueFromHDF5(fname,path)) 
     1121End 
     1122 
    9961123Function V_getBeamMonNormEfficiency(fname) 
    9971124        String fname 
    9981125 
    9991126        String path = "entry:instrument:beam_monitor_norm:efficiency" 
    1000         return(V_getRealValueFromHDF5(fname,path)) 
    1001 End 
    1002  
    1003 Function V_getBeamMonNormDistance(fname) 
    1004         String fname 
    1005  
    1006         String path = "entry:instrument:beam_monitor_norm:distance" 
    10071127        return(V_getRealValueFromHDF5(fname,path)) 
    10081128End 
     
    10691189End 
    10701190 
    1071 Function V_getBeamStopC2_width(fname) 
    1072         String fname 
    1073  
    1074         String path = "entry:instrument:beam_stop_C2:shape:width" 
    1075         return(V_getRealValueFromHDF5(fname,path)) 
     1191Function/S V_getBeamStopC2_shape(fname) 
     1192        String fname 
     1193 
     1194        Variable num=60 
     1195        String path = "entry:instrument:beam_stop_C2:shape:shape" 
     1196        return(V_getStringFromHDF5(fname,path,num)) 
    10761197End 
    10771198 
     
    10841205End 
    10851206 
    1086 Function/S V_getBeamStopC2_shape(fname) 
    1087         String fname 
    1088  
    1089         Variable num=60 
    1090         String path = "entry:instrument:beam_stop_C2:shape:shape" 
    1091         return(V_getStringFromHDF5(fname,path,num)) 
    1092 End 
     1207Function V_getBeamStopC2_width(fname) 
     1208        String fname 
     1209 
     1210        String path = "entry:instrument:beam_stop_C2:shape:width" 
     1211        return(V_getRealValueFromHDF5(fname,path)) 
     1212End 
     1213 
    10931214 
    10941215 
     
    11391260End 
    11401261 
    1141 Function V_getBeamStopC3_width(fname) 
    1142         String fname 
    1143  
    1144         String path = "entry:instrument:beam_stop_C3:shape:width" 
    1145         return(V_getRealValueFromHDF5(fname,path)) 
     1262Function/S V_getBeamStopC3_shape(fname) 
     1263        String fname 
     1264 
     1265        Variable num=60 
     1266        String path = "entry:instrument:beam_stop_C3:shape:shape" 
     1267        return(V_getStringFromHDF5(fname,path,num)) 
    11461268End 
    11471269 
     
    11541276End 
    11551277 
    1156 Function/S V_getBeamStopC3_shape(fname) 
    1157         String fname 
    1158  
    1159         Variable num=60 
    1160         String path = "entry:instrument:beam_stop_C3:shape:shape" 
    1161         return(V_getStringFromHDF5(fname,path,num)) 
     1278Function V_getBeamStopC3_width(fname) 
     1279        String fname 
     1280 
     1281        String path = "entry:instrument:beam_stop_C3:shape:width" 
     1282        return(V_getRealValueFromHDF5(fname,path)) 
    11621283End 
    11631284 
     
    11941315End 
    11951316 
     1317 
    11961318//                      converging_pinholes (data folder) 
    11971319Function/S V_getConvPinholeStatus(fname) 
     
    12091331// 
    12101332// only defined for the "B" detector, and may not be necessary? 
    1211 // TODO -- write to return an ARRAY 
     1333// DONE -- write to return an ARRAY 
    12121334Function/WAVE V_getDet_cal_x(fname,detStr) 
    12131335        String fname,detStr 
     
    14851607 
    14861608 
    1487  
    1488 //// only defined for the "B" detector, and only to satisfy NXsas 
    1489 //Function V_getDet_polar_angle(fname,detStr) 
    1490 //      String fname,detStr 
    1491 // 
    1492 //      if(cmpstr(detStr,"B") == 0) 
    1493 //              String path = "entry:instrument:detector_"+detStr+":polar_angle" 
    1494 //              return(V_getRealValueFromHDF5(fname,path)) 
    1495 //      else 
    1496 //              return(0) 
    1497 //      endif 
    1498 //End 
    1499  
    1500 //// only defined for the "B" detector, and only to satisfy NXsas 
    1501 //Function V_getDet_rotational_angle(fname,detStr) 
    1502 //      String fname,detStr 
    1503 // 
    1504 //      if(cmpstr(detStr,"B") == 0) 
    1505 //              String path = "entry:instrument:detector_"+detStr+":rotational_angle" 
    1506 //              return(V_getRealValueFromHDF5(fname,path)) 
    1507 //      else 
    1508 //              return(0) 
    1509 //      endif 
    1510 //End 
    1511  
    15121609Function/S V_getDetSettings(fname,detStr) 
    15131610        String fname,detStr 
     
    15181615End 
    15191616 
    1520 //// really has no meaning at all  
    1521 //Function V_getDet_size(fname,detStr) 
    1522 //      String fname,detStr 
    1523 // 
    1524 //      String path = "entry:instrument:detector_"+detStr+":size" 
    1525 //      return(V_getRealValueFromHDF5(fname,path)) 
    1526 //End 
    1527  
    1528 //Function/S V_getDetType(fname,detStr) 
    1529 //      String fname,detStr 
    1530 // 
    1531 //      String path = "entry:instrument:detector_"+detStr+":type" 
    1532 //      Variable num=60 
    1533 //      return(V_getStringFromHDF5(fname,path,num)) 
    1534 //End 
    15351617 
    15361618Function V_getDet_x_pixel_size(fname,detStr) 
     
    15611643End 
    15621644 
    1563 // this has been deleted from the definition 
    1564 //Function V_getDetPanelSeparation(fname,detStr) 
    1565 //      String fname,detStr 
    1566 // 
    1567 //      String path = "entry:instrument:detector_"+detStr+":separation" 
    1568 //      if(cmpstr(detStr,"B") == 0) 
    1569 //              return(0) 
    1570 //      else 
    1571 //              return(V_getRealValueFromHDF5(fname,path)) 
    1572 //      endif 
    1573 //End 
    1574  
    1575 // TODO -- write this function to return a WAVE with the data 
     1645 
     1646// DONE -- write this function to return a WAVE with the data 
    15761647// either as a wave reference, or as an input parameter 
    15771648Function/WAVE V_getDetTube_spatialCalib(fname,detStr) 
     
    15871658End 
    15881659 
    1589 //// TODO -- be clear on how this is defined. 
    1590 //Function V_getDet_tubeIndex(fname,detStr) 
    1591 //      String fname,detStr 
    1592 // 
    1593 //      String path = "entry:instrument:detector_"+detStr+":tube_index" 
    1594 //      if(cmpstr(detStr,"B") == 0) 
    1595 //              return(0) 
    1596 //      else 
    1597 //              return(V_getRealValueFromHDF5(fname,path)) 
    1598 //      endif 
    1599 //End 
    16001660 
    16011661Function/S V_getDet_tubeOrientation(fname,detStr) 
     
    16251685////////////////////// 
    16261686 
    1627 // INSTRUMENT/LENSES    /APERTURES 
     1687// INSTRUMENT/LENSES  
    16281688//  lenses (data folder) 
    16291689 
     
    17261786 
    17271787//      shape (data folder) 
     1788Function V_getSampleAp_height(fname) 
     1789        String fname 
     1790 
     1791        String path = "entry:instrument:sample_aperture:shape:height" 
     1792        return(V_getRealValueFromHDF5(fname,path)) 
     1793End 
     1794 
    17281795Function/S V_getSampleAp_shape(fname) 
    17291796        String fname 
     
    17431810End 
    17441811 
    1745 Function V_getSampleAp_height(fname) 
    1746         String fname 
    1747  
    1748         String path = "entry:instrument:sample_aperture:shape:height" 
    1749         return(V_getRealValueFromHDF5(fname,path)) 
    1750 End 
    1751  
    17521812Function V_getSampleAp_width(fname) 
    17531813        String fname 
     
    17601820 
    17611821///////  sample_aperture_2 (data folder) 
    1762 // sample aperture (2) is the external paerture, which may or may not be present 
     1822// sample aperture (2) is the external aperture, which may or may not be present 
    17631823 
    17641824Function/S V_getSampleAp2_Description(fname) 
     
    17781838 
    17791839//      shape (data folder) 
     1840Function V_getSampleAp2_height(fname) 
     1841        String fname 
     1842 
     1843        String path = "entry:instrument:sample_aperture_2:shape:height" 
     1844        return(V_getRealValueFromHDF5(fname,path)) 
     1845End 
     1846 
    17801847Function/S V_getSampleAp2_shape(fname) 
    17811848        String fname 
     
    17911858 
    17921859        String path = "entry:instrument:sample_aperture_2:shape:size" 
    1793         return(V_getRealValueFromHDF5(fname,path)) 
    1794 End 
    1795  
    1796 Function V_getSampleAp2_height(fname) 
    1797         String fname 
    1798  
    1799         String path = "entry:instrument:sample_aperture_2:shape:height" 
    18001860        return(V_getRealValueFromHDF5(fname,path)) 
    18011861End 
     
    18831943 
    18841944//      shape (data folder) 
     1945Function V_getSourceAp_height(fname) 
     1946        String fname 
     1947 
     1948        String path = "entry:instrument:source_aperture:shape:height" 
     1949        return(V_getRealValueFromHDF5(fname,path)) 
     1950End 
     1951 
    18851952Function/S V_getSourceAp_shape(fname) 
    18861953        String fname 
     
    18981965        Variable num=60 
    18991966        return(V_getStringFromHDF5(fname,path,num)) 
    1900 End 
    1901  
    1902 Function V_getSourceAp_height(fname) 
    1903         String fname 
    1904  
    1905         String path = "entry:instrument:source_aperture:shape:height" 
    1906         return(V_getRealValueFromHDF5(fname,path)) 
    19071967End 
    19081968 
     
    20212081// temperature_1 
    20222082// temperature_2 
     2083// temperature_3 
     2084// temperature_4 
    20232085// shear_field 
    20242086// pressure 
     
    20542116End 
    20552117 
    2056  
    2057 // TODO --  
     2118// TODO -- this may not exist if it is not a "controlling" sensor, but there still may be logged data present 
     2119// TODO -- it may also have different names for each sensor (setpoint_1, setpoint_2, etc. which will be a big hassle) 
     2120Function V_getLog_setPoint(fname,logStr) 
     2121        String fname,logStr 
     2122         
     2123        String path = "entry:sample:"+logstr+":setpoint_1" 
     2124        return(V_getRealValueFromHDF5(fname,path)) 
     2125end 
     2126 
     2127Function/S V_getLog_startTime(fname,logStr) 
     2128        String fname,logStr 
     2129 
     2130        String path = "entry:sample:"+logstr+":start" 
     2131        Variable num=60 
     2132        return(V_getStringFromHDF5(fname,path,num)) 
     2133End 
     2134 
     2135 
     2136// TODO -- this may only exist for electric field and magnetic field... 
     2137// or may be elimnated altogether 
    20582138Function V_getLog_nomValue(fname,logStr) 
    20592139        String fname,logStr 
     
    20642144 
    20652145////            value_log (data folder) 
    2066 Function/S V_getLog_startTime(fname,logStr) 
     2146 
     2147Function V_getLog_avgValue(fname,logStr) 
    20672148        String fname,logStr 
    2068  
    2069         String path = "entry:sample:"+logstr+":value_log:start" 
    2070         Variable num=60 
    2071         return(V_getStringFromHDF5(fname,path,num)) 
    2072 End 
    2073  
    2074 // TODO -- thes currently do not exist... 
    2075 // 
    2076 //// TODO --  
    2077 //Function V_getLog_avgValue(fname,logStr) 
    2078 //      String fname,logStr 
    2079 //       
    2080 //      String path = "entry:sample:"+logstr+":value_log:average_value" 
    2081 //      return(V_getRealValueFromHDF5(fname,path)) 
    2082 //end 
    2083 // 
    2084 //// TODO -- this needs to be a WAVE reference 
    2085 //// TODO -- verify that the field is really read in as "time0" 
    2086 //Function V_getLog_time(fname,logStr,outW) 
    2087 //      String fname,logStr 
    2088 //      Wave outW 
    2089 //       
    2090 //      String path = "entry:sample:"+logstr+":value_log:time0" 
    2091 //      WAVE w = V_getRealWaveFromHDF5(fname,path) 
    2092 // 
    2093 //      outW = w 
    2094 //      return(0) 
    2095 //end 
    2096 // 
    2097 // 
    2098 //// TODO -- this needs to be a WAVE reference 
    2099 //Function V_getLog_Value(fname,logStr,outW) 
    2100 //      String fname,logStr 
    2101 //      Wave outW 
    2102 //       
    2103 //      String path = "entry:sample:"+logstr+":value_log:value" 
    2104 //      WAVE w = V_getRealWaveFromHDF5(fname,path) 
    2105 // 
    2106 //      outW = w 
    2107 //      return(0) 
    2108 //end 
     2149         
     2150        String path = "entry:sample:"+logstr+":value_log:average_value" 
     2151        return(V_getRealValueFromHDF5(fname,path)) 
     2152end 
     2153 
     2154Function V_getLog_avgValue_err(fname,logStr) 
     2155        String fname,logStr 
     2156         
     2157        String path = "entry:sample:"+logstr+":value_log:average_value_error" 
     2158        return(V_getRealValueFromHDF5(fname,path)) 
     2159end 
     2160 
     2161Function V_getLog_maximumValue(fname,logStr) 
     2162        String fname,logStr 
     2163         
     2164        String path = "entry:sample:"+logstr+":value_log:maximum_value" 
     2165        return(V_getRealValueFromHDF5(fname,path)) 
     2166end 
     2167 
     2168Function V_getLog_medianValue(fname,logStr) 
     2169        String fname,logStr 
     2170         
     2171        String path = "entry:sample:"+logstr+":value_log:median_value" 
     2172        return(V_getRealValueFromHDF5(fname,path)) 
     2173end 
     2174 
     2175Function V_getLog_minimumValue(fname,logStr) 
     2176        String fname,logStr 
     2177         
     2178        String path = "entry:sample:"+logstr+":value_log:minimum_value" 
     2179        return(V_getRealValueFromHDF5(fname,path)) 
     2180end 
     2181 
     2182// DONE -- this needs to be a WAVE reference 
     2183// DONE -- verify that the field is really read in as "time0" 
     2184Function V_getLog_time(fname,logStr,outW) 
     2185        String fname,logStr 
     2186        Wave outW 
     2187         
     2188        String path = "entry:sample:"+logstr+":value_log:time0" 
     2189        WAVE w = V_getRealWaveFromHDF5(fname,path) 
     2190 
     2191        outW = w 
     2192        return(0) 
     2193end 
     2194 
     2195// DONE -- this needs to be a WAVE reference 
     2196Function V_getLog_Value(fname,logStr,outW) 
     2197        String fname,logStr 
     2198        Wave outW 
     2199         
     2200        String path = "entry:sample:"+logstr+":value_log:value" 
     2201        WAVE w = V_getRealWaveFromHDF5(fname,path) 
     2202 
     2203        outW = w 
     2204        return(0) 
     2205end 
    21092206 
    21102207 
     
    21192216 
    21202217 
    2121 // TODO -- needs to be a WAVE 
    21222218Function/WAVE V_getAbsolute_Scaling(fname) 
    21232219        String fname 
     
    21292225end 
    21302226 
    2131 // TODO -- needs to be a WAVE 
     2227Function/S V_getBackgroundFileName(fname) 
     2228        String fname 
     2229 
     2230        String path = "entry:reduction:background_file_name"     
     2231        Variable num=60 
     2232        return(V_getStringFromHDF5(fname,path,num)) 
     2233End 
     2234 
    21322235Function/WAVE V_getBoxCoordinates(fname) 
    21332236        String fname 
     
    21642267 
    21652268 
    2166 Function/S V_getReductionIntent(fname) 
     2269Function/S V_getEmptyBeamFileName(fname) 
     2270        String fname 
     2271 
     2272        String path = "entry:reduction:empty_beam_file_name"     
     2273        Variable num=60 
     2274        return(V_getStringFromHDF5(fname,path,num)) 
     2275End 
     2276 
     2277Function/S V_getEmptyFileName(fname) 
     2278        String fname 
     2279 
     2280        String path = "entry:reduction:empty_file_name"  
     2281        Variable num=60 
     2282        return(V_getStringFromHDF5(fname,path,num)) 
     2283End 
     2284 
     2285// this is (presumably) the polarization "intent" 
     2286Function/S V_getReduction_polSANSPurpose(fname) 
     2287        String fname 
     2288 
     2289        String path = "entry:reduction:file_purpose"     
     2290        Variable num=60 
     2291        return(V_getStringFromHDF5(fname,path,num)) 
     2292End 
     2293 
     2294//group ID 
     2295// TODO -- is this duplicated? 
     2296Function V_getSample_group_ID(fname) 
     2297        String fname 
     2298         
     2299        String path = "entry:reduction:group_id"         
     2300        return(V_getRealValueFromHDF5(fname,path)) 
     2301end 
     2302 
     2303Function/S V_getReduction_intent(fname) 
    21672304        String fname 
    21682305 
     
    21722309End 
    21732310 
     2311Function/S V_getMaskFileName(fname) 
     2312        String fname 
     2313 
     2314        String path = "entry:reduction:mask_file_name"   
     2315        Variable num=60 
     2316        return(V_getStringFromHDF5(fname,path,num)) 
     2317End 
    21742318 
    21752319Function/S V_getLogFileName(fname) 
     
    21812325End 
    21822326 
    2183  
    21842327Function/S V_getSensitivityFileName(fname) 
    21852328        String fname 
     
    21972340        return(V_getStringFromHDF5(fname,path,num)) 
    21982341End 
    2199  
    2200 Function/S V_getEmptyBeamFileName(fname) 
    2201         String fname 
    2202  
    2203         String path = "entry:reduction:empty_beam_file_name"     
    2204         Variable num=60 
    2205         return(V_getStringFromHDF5(fname,path,num)) 
    2206 End 
    2207  
    2208 Function/S V_getEmptyFileName(fname) 
    2209         String fname 
    2210  
    2211         String path = "entry:reduction:empty_file_name"  
    2212         Variable num=60 
    2213         return(V_getStringFromHDF5(fname,path,num)) 
    2214 End 
    2215  
    2216 Function/S V_getMaskFileName(fname) 
    2217         String fname 
    2218  
    2219         String path = "entry:reduction:mask_file_name"   
    2220         Variable num=60 
    2221         return(V_getStringFromHDF5(fname,path,num)) 
    2222 End 
    2223  
    22242342 
    22252343//whole detector trasmission 
     
    22392357end 
    22402358 
    2241                          
    2242 /////                   pol_sans (data folder) 
    2243  
    2244 Function/S V_getPolSANS_cellName(fname) 
    2245         String fname 
    2246  
    2247         String path = "entry:reduction:pol_sans:cell_name"       
    2248         Variable num=60 
    2249         return(V_getStringFromHDF5(fname,path,num)) 
    2250 End 
    2251  
    2252  
    2253 Function/WAVE V_getPolSANS_cellParams(fname) 
    2254         String fname 
    2255          
    2256         String path = "entry:reduction:pol_sans:cell_parameters"         
    2257         WAVE w = V_getRealWaveFromHDF5(fname,path) 
    2258  
    2259         return w 
    2260 end 
    2261  
    2262 Function/S V_getPolSANS_PolSANSPurpose(fname) 
    2263         String fname 
    2264  
    2265         String path = "entry:reduction:pol_sans:pol_sans_purpose"        
    2266         Variable num=60 
    2267         return(V_getStringFromHDF5(fname,path,num)) 
    2268 End 
     2359         
     2360 
     2361 
     2362 
     2363// these have all been moved elsewhere                   
     2364///////                 pol_sans (data folder) 
     2365// 
     2366//Function/S V_getPolSANS_cellName(fname) 
     2367//      String fname 
     2368// 
     2369//      String path = "entry:reduction:pol_sans:cell_name"       
     2370//      Variable num=60 
     2371//      return(V_getStringFromHDF5(fname,path,num)) 
     2372//End 
     2373// 
     2374// 
     2375//Function/WAVE V_getPolSANS_cellParams(fname) 
     2376//      String fname 
     2377//       
     2378//      String path = "entry:reduction:pol_sans:cell_parameters"         
     2379//      WAVE w = V_getRealWaveFromHDF5(fname,path) 
     2380// 
     2381//      return w 
     2382//end 
     2383// 
     2384//Function/S V_getPolSANS_PolSANSPurpose(fname) 
     2385//      String fname 
     2386// 
     2387//      String path = "entry:reduction:pol_sans:pol_sans_purpose"        
     2388//      Variable num=60 
     2389//      return(V_getStringFromHDF5(fname,path,num)) 
     2390//End 
    22692391 
    22702392                                 
Note: See TracChangeset for help on using the changeset viewer.