From e7324b8335450de05a4d762e027940b1bf0c675f Mon Sep 17 00:00:00 2001 From: Ferdi Franceschini Date: Fri, 6 Apr 2007 19:10:02 +1000 Subject: [PATCH] Merged RELEASE-1_1 back into trunk. r1836 | ffr | 2007-04-06 19:10:02 +1000 (Fri, 06 Apr 2007) | 2 lines --- nxscript.c | 193 ++++++++++++++ site_ansto/hardsup/Digital/display.c | 5 +- site_ansto/hardsup/Digital/sock.c | 4 +- site_ansto/hardsup/Monitor/sock.c | 4 +- .../config/hmm/hmm_configuration_common_1.tcl | 18 +- .../config/nexus/nexus_in_common_1.dic | 6 +- .../config/nexus/nexus_in_hmm_common_1.dic | 2 +- .../config/nexus/nxscripts_common_1.tcl | 43 ++- .../config/hmm/anstohm_full_calibration.xml | 244 ++++++++++++++++++ .../hipd/config/hmm/anstohm_full_normal.xml | 244 ++++++++++++++++++ .../hipd/config/hmm/anstohm_full_pulser.xml | 244 ++++++++++++++++++ .../hipd/config/hmm/hmm_configuration.tcl | 31 +++ .../hipd/config/nexus/nxscripts.tcl | 22 ++ .../instrument/hipd/wombat_configuration.tcl | 11 +- .../hmm/anstohm_full_MESYTEC_PULSER.xml | 243 +++++++++++++++++ .../hrpd/config/hmm/anstohm_full_folding.xml | 243 +++++++++++++++++ .../config/hmm/anstohm_full_nofolding.xml | 243 +++++++++++++++++ .../hrpd/config/hmm/hmm_configuration.tcl | 28 ++ .../config/motors/motor_configuration.tcl | 22 +- .../hrpd/config/nexus/nxscripts.tcl | 30 +++ .../instrument/hrpd/echidna_configuration.tcl | 11 +- 21 files changed, 1828 insertions(+), 63 deletions(-) create mode 100644 site_ansto/instrument/hipd/config/hmm/anstohm_full_calibration.xml create mode 100644 site_ansto/instrument/hipd/config/hmm/anstohm_full_normal.xml create mode 100644 site_ansto/instrument/hipd/config/hmm/anstohm_full_pulser.xml create mode 100644 site_ansto/instrument/hrpd/config/hmm/anstohm_full_MESYTEC_PULSER.xml create mode 100644 site_ansto/instrument/hrpd/config/hmm/anstohm_full_folding.xml create mode 100644 site_ansto/instrument/hrpd/config/hmm/anstohm_full_nofolding.xml diff --git a/nxscript.c b/nxscript.c index 1e1bd1a3..7043c41a 100644 --- a/nxscript.c +++ b/nxscript.c @@ -915,6 +915,196 @@ static void putArray(SConnection *pCon, SicsInterp *pSics, free(data); SCSendOK(pCon); } +/* ANSTO MOD1 START */ +/**\brief Calculates polar angles on a 2D grid for cylindrical detectors. + * + * param dradius detector radius + * param angsep angular separation between detector columns in radians + * param active_height_mm of a detector in mm + * param det_rot_rad detector rotation in radians + * param row_zero vertical pixel at beam centre. + * param ROI_row_offset horizontal pixel offset of ROI + * param col_zero horizontal pixel at beam centre for detector rotation of zero. + * param ROI_col_offset vertical pixel offset of ROI + * param rownum number of detector rows + * param colnum number of detector columns + * + * Detector pixel layout uses display coordinates viewed from the sample. + * ie If you stand at the sample and face the detector the (0,0) is at the + * left. + */ +float *G_TwoThetaArr=NULL; +void polar_angle(int folding, int dim, double dradius, double angsep, double active_height_mm, double det_rot_rad, double row_zero, double ROI_row_offset, double col_zero, double ROI_col_offset, double pixelrownum, double pixelcolnum) { + + int row,col; + double rowsep, height, alpha, pang; + double rowstart, rowend, rownum, colnum, pixelrow, pixelcol; + + if (folding == 1) { + rownum = pixelrownum; + colnum = pixelcolnum; + } else { + rownum = pixelrownum/2; + colnum = pixelcolnum*2; + } + + if (G_TwoThetaArr != NULL) + free(G_TwoThetaArr); + + G_TwoThetaArr = (float *)malloc(rownum*colnum*sizeof(float)); + + + rowsep = active_height_mm/(rownum-1); + + if (dim==1) { + rowstart = rownum/2; + rowend = rownum/2; + } else { + rowstart = 0; + rowend = rownum; + } + for (row=rowstart; row < rowend; row++) { + height=(row_zero - ROI_row_offset - row)*rowsep; + for (col=0; col < colnum; col++) { + alpha = (col_zero - ROI_col_offset - col)*angsep + det_rot_rad; + pang = acos(dradius * cos(alpha)/sqrt(dradius*dradius+ height*height)); + if (folding == 1) { + G_TwoThetaArr[(int)(row*colnum+col)]=pang; + } else { + if (col%2==0) { + pixelrow = row + rownum; + pixelcol = col/2; + } else { + pixelrow = (rownum - 1) - row; + pixelcol = (col-1)/2; + } + G_TwoThetaArr[(int)(pixelrow*pixelcolnum+pixelcol)]=pang; + } + } + } +} + +static void putPolarArray(SConnection *pCon, SicsInterp *pSics, + pNXScript self, + int argc, char *argv[]){ + int status, written=0; + int start[NX_MAXRANK], size[NX_MAXRANK]; + char buffer[256]; + Tcl_Interp *tcl = NULL; + + int folding, dim; + double angsep, det_rot_rad, active_height_mm, rowsep; + double row_zero, ROI_row_offset, col_zero, ROI_col_offset, dradius; + double rownum, colnum; + + if(argc < 11){ + SCWrite(pCon,"ERROR: insufficient number of arguments to array", + eError); + return; + } + tcl = InterpGetTcl(pSics); + assert(tcl != NULL); + + + status = listToArray(pSics,argv[3],start); + if(status != TCL_OK){ + SCWrite(pCon,"ERROR: failed to convert start value list", eError); + return; + } + + status = listToArray(pSics,argv[4],size); + if(status != TCL_OK){ + SCWrite(pCon,"ERROR: failed to convert size value list", eError); + return; + } + status = Tcl_GetInt(tcl,argv[5],&folding); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to int",argv[5]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetInt(tcl,argv[6],&dim); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to int",argv[6]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[7],&dradius); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[7]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[8],&angsep); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[8]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[9],&active_height_mm); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[9]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[10],&det_rot_rad); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[10]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[11],&row_zero); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[11]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[12],&ROI_row_offset); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[12]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[13],&col_zero); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[13]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[14],&ROI_col_offset); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[14]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[15],&rownum); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[15]); + SCWrite(pCon,buffer,eError); + return; + } + status = Tcl_GetDouble(tcl,argv[16],&colnum); + if(status != TCL_OK){ + sprintf(buffer,"ERROR: failed to convert %s to double",argv[16]); + SCWrite(pCon,buffer,eError); + return; + } + polar_angle(folding, dim, dradius, angsep, active_height_mm, det_rot_rad, row_zero, ROI_row_offset, col_zero, ROI_col_offset, rownum, colnum); + +// status = NXDputalias(self->fileHandle, self->dictHandle,argv[2],G_TwoThetaArr); + status = NXDopenalias(self->fileHandle, self->dictHandle,argv[2]); + status = NXputslab(self->fileHandle, G_TwoThetaArr, start, size); + if(status == NX_OK){ + written = 1; + } + NXopenpath(self->fileHandle,"/"); + if(written != 1){ + sprintf(buffer,"ERROR: failed to write array"); + SCWrite(pCon,buffer,eError); + } + SCSendOK(pCon); +} +/* ANSTO MOD1 END */ /*----------------------------------------------------------------------*/ static void putIntArray(SConnection *pCon, SicsInterp *pSics, pNXScript self, @@ -1128,6 +1318,9 @@ static int handlePut(SConnection *pCon, SicsInterp *pSics, pNXScript self, }else if(strcmp(argv[1],"putintarray") == 0){ /*================*/ putIntArray(pCon,pSics,self,argc,argv); + }else if(strcmp(argv[1],"putpolararray") == 0){ + /*================*/ + putPolarArray(pCon,pSics,self,argc,argv); }else if(strcmp(argv[1],"putglobal") == 0){ /*===============*/ putGlobal(pCon,pSics,self,argc,argv); diff --git a/site_ansto/hardsup/Digital/display.c b/site_ansto/hardsup/Digital/display.c index 0bf14f93..b71163db 100644 --- a/site_ansto/hardsup/Digital/display.c +++ b/site_ansto/hardsup/Digital/display.c @@ -184,7 +184,8 @@ void put_form(int n) "\r\n" "" "\r\n" - "\r\n" + "" + "\r\n" "\r\n" "\r\n" "\r\n" ); @@ -332,7 +333,7 @@ void put_page(int n) show_int(&buffer, "Poll Counter", device->poll_counter); add_text(&buffer, "\r\n"); add_text(&buffer, "\r\n"); add_text(&buffer, "
\r\n" - "\r\n" + "Form\r\n" "
\r\n"); add_text(&buffer, "\r\n" diff --git a/site_ansto/hardsup/Digital/sock.c b/site_ansto/hardsup/Digital/sock.c index 004d8620..5f957fc3 100644 --- a/site_ansto/hardsup/Digital/sock.c +++ b/site_ansto/hardsup/Digital/sock.c @@ -178,7 +178,7 @@ void sock_check(int timeout) { if (fds[i].revents & POLLIN) fdv[i].input(i); - if (--ready) + if (--ready <= 0) break; } } @@ -194,13 +194,13 @@ void sock_close(int n) dbg_printf(0, "sock_close\n"); shutdown(fdv[n].fd, SHUT_RDWR); close(fdv[n].fd); + --num_fds; if (n != num_fds) { fdv[n] = fdv[num_fds]; fds[n] = fds[num_fds]; } fdv[num_fds].fd = -1; - --num_fds; } /** diff --git a/site_ansto/hardsup/Monitor/sock.c b/site_ansto/hardsup/Monitor/sock.c index 004d8620..5f957fc3 100644 --- a/site_ansto/hardsup/Monitor/sock.c +++ b/site_ansto/hardsup/Monitor/sock.c @@ -178,7 +178,7 @@ void sock_check(int timeout) { if (fds[i].revents & POLLIN) fdv[i].input(i); - if (--ready) + if (--ready <= 0) break; } } @@ -194,13 +194,13 @@ void sock_close(int n) dbg_printf(0, "sock_close\n"); shutdown(fdv[n].fd, SHUT_RDWR); close(fdv[n].fd); + --num_fds; if (n != num_fds) { fdv[n] = fdv[num_fds]; fds[n] = fds[num_fds]; } fdv[num_fds].fd = -1; - --num_fds; } /** diff --git a/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl b/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl index 5830fda5..8a28e5b8 100644 --- a/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl +++ b/site_ansto/instrument/config/hmm/hmm_configuration_common_1.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.11 $ -# $Date: 2007-04-01 05:44:56 $ +# $Revision: 1.12 $ +# $Date: 2007-04-06 09:10:02 $ # Author: Mark Lesha (mle@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -41,19 +41,6 @@ proc returnconfigfile {filename} { return $xml } -# Configure to upload a complete configuration to the histogram server. -# In this case it's the main config file plus the FAT, BAT and OAT files -# in the same direcory as the SICS executable (for this example). -# Alternatives: -# - A partial config could be uploaded instead - e.g. just the main config file, -# in that case the main config file points to a set of FAT, BAT OAT files -# located on the server. -# - The histogram server could configure itself from a config file set -# kept on the local file system (not automated presently, manual control only) -# - Or, no configuration at all could be uploaded, the -# histogram server can configure itself using its default config files. -hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full.xml" - # Initialize the histogram server. # This call to hmm init (with init 1 configured) causes the histogram server # to be loaded with the specified configuration files. Subsequent inits (with init 0 configured) @@ -406,6 +393,7 @@ proc count_withbm {mode preset} { #TODO maybe add nxobj and point parameters. set point 0 nxcreatefile nexus_hmscan.dic; + nxscript putattribute program_name run_mode hmmcount hmm_save nxscript entry1 $point; nxscript_data clear; nxscript_data putint 0 $point; diff --git a/site_ansto/instrument/config/nexus/nexus_in_common_1.dic b/site_ansto/instrument/config/nexus/nexus_in_common_1.dic index 59ffa84c..b3ee2f3c 100644 --- a/site_ansto/instrument/config/nexus/nexus_in_common_1.dic +++ b/site_ansto/instrument/config/nexus/nexus_in_common_1.dic @@ -15,10 +15,8 @@ padim1=128 #---------- NXentry level etitle=/$(entryName),NXentry/SDS title -type NX_CHAR -sics_release=/version,NXentry/SDS sics_release_tag -type NX_CHAR -sics_revision=/version,NXentry/SDS sics_revision_num -type NX_CHAR -nx_content_release=/version,NXentry/SDS nx_content_release_tag -type NX_CHAR -attr {schema_release,$Name: not supported by cvs2svn $} -nx_content_revision=/version,NXentry/SDS nx_content_revision_num -type NX_CHAR -attr {schema_revision,$Revision: 1.10 $} +program_name=/$(entryName),NXentry/SDS program_name -type NX_CHAR \ +-attr {nx_schema_release_tag,$Name: not supported by cvs2svn $} -attr {nx_schema_revision_num,$Revision: 1.11 $} erun=/$(entryName),NXentry/SDS run_number -type NX_INT32 -rank 1 -dim {-1} estart=/$(entryName),NXentry/SDS start_time -type NX_CHAR diff --git a/site_ansto/instrument/config/nexus/nexus_in_hmm_common_1.dic b/site_ansto/instrument/config/nexus/nexus_in_hmm_common_1.dic index 64fa341b..c11a6dcf 100644 --- a/site_ansto/instrument/config/nexus/nexus_in_hmm_common_1.dic +++ b/site_ansto/instrument/config/nexus/nexus_in_hmm_common_1.dic @@ -6,7 +6,7 @@ dradius=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS di dheight=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS detector_height -type NX_FLOAT32 -attr {units,mm} -attr {long_name, active height} detangle_rad=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS angular_coverage -type NX_FLOAT32 -attr {units,radians} detangle_degrees=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS angular_coverage -type NX_FLOAT32 -attr {units,degrees} -dtheta=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS polar_angle -type NX_FLOAT32 -LZW -rank 2 -dim {$(padim0),$(padim1)} -attr {units,radians} +dtheta=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS polar_angle -type NX_FLOAT32 -LZW -rank 3 -dim {-1,$(padim0),$(padim1)} -attr {units,radians} dvaxis=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS y_pixel_offset -type NX_FLOAT32 -LZW -rank 1 -dim {$(padim0)} -attr {units,mm} dhaxis=/$(entryName),NXentry/$(inst),NXinstrument/$(detector),NXdetector/SDS x_pixel_offset -type NX_FLOAT32 -LZW -rank 1 -dim {$(padim1)} -attr {units,mm} diff --git a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl index 0405c88d..321cc82a 100644 --- a/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl +++ b/site_ansto/instrument/config/nexus/nxscripts_common_1.tcl @@ -9,7 +9,7 @@ set tmpstr [string map {"$" ""} {$Name: not supported by cvs2svn $}] set nx_content_release_tag [lindex $tmpstr [expr [llength $tmpstr] - 1]] -set tmpstr [string map {"$" ""} {$Revision: 1.21 $}] +set tmpstr [string map {"$" ""} {$Revision: 1.22 $}] set nx_content_revision_num [lindex $tmpstr [expr [llength $tmpstr] - 1]] MakeNXScript @@ -32,17 +32,13 @@ proc newFileName {} { } proc nxcreatefile {nxdic {type nx.hdf}} { - global nxFileOpen cfPath nexusdic nx_content_release_tag nx_content_revision_num; + global nxFileOpen cfPath nexusdic; SicsDataPostFix .$type; set nexusdic $nxdic array set nxmode [list nx.hdf create5 h5 create5 nx5 create5 xml createxml]; dataFileName [newFileName] nxscript $nxmode($type) [SplitReply [dataFileName]] $cfPath(nexus)/$nexusdic; - nxscript puttext sics_release [SplitReply [sics_release]] - nxscript puttext sics_revision [SplitReply [sics_revision_num]] - nxscript puttext nx_content_release $nx_content_release_tag - nxscript puttext nx_content_revision $nx_content_revision_num set nxFileOpen true } @@ -82,7 +78,7 @@ proc det_height_arr {active_height_mm row_zero dim1} { } proc hmm_save {nxobj entryname point} { - global dradius ndect angsep dictalias; + global dradius ndect angsep dictalias hmm_mode; set dictalias(hmm) hmcounts # dim0 is vertical and dim1 is horizontal set dim0 [SplitReply [hmm configure dim0]]; @@ -92,6 +88,7 @@ proc hmm_save {nxobj entryname point} { putmonitor $nxobj $point; putsample $nxobj; + $nxobj putattribute program_name hmm_mode $hmm_mode $nxobj putfloat detangle_degrees [SplitReply [detector_angle_deg]] # put1Dpolar_angle $nxobj $dim0; put_det_haxis_arr $nxobj $dim1; @@ -104,6 +101,7 @@ proc hmm_save {nxobj entryname point} { $nxobj updatedictvar padim0 $dim0 $nxobj updatedictvar padim1 $dim1 $nxobj putslab $dictalias(hmm) [list $point 0 0] [list 1 $dim0 $dim1 ] hmm [SplitReply [hmm_start]] $histo_length [SplitReply [hmm_bank]] + put2Dpolar_angle $nxobj $point $dim0 $dim1; #TODO replace scandata with generic name $nxobj makelink scandata hmcounts $nxobj makelink scanhoraxis dhaxis @@ -116,6 +114,7 @@ proc hmm_addnxscanentry {nxobj entryname point scanVariable scanVarPos scanVarSt global dictalias; $nxobj puttext estart $start_time; + $nxobj putattribute program_name run_mode hmscan nxscript_data clear; nxscript_data putint 0 $point; $nxobj putslab erun [list $point] [list 1] nxscript_data; @@ -144,6 +143,7 @@ proc bm_addnxscanentry {nxobj entryname point scanVariable scanVarPos scanVarSte global dictalias; $nxobj puttext estart $start_time; + $nxobj putattribute program_name run_mode bmonscan nxscript_data clear; nxscript_data putint 0 $point; $nxobj putslab erun [list $point] [list 1] nxscript_data; @@ -201,20 +201,6 @@ proc put1Dpolar_angle {nxobj dim0} { $nxobj putarray polar_angle polar_array $dim0; } -proc put2Dpolar_angle {nxobj dim0 dim1} { - global det_height - set det_radius_mm [SplitReply [detector_radius_mm]] - set det_angle_rad [SplitReply [detector_angle_rad]] - set det_active_ht_mm [SplitReply [detector_active_height_mm]] - set det_rot_rad [ expr [SplitReply [stth]]/[SplitReply [deg_per_rad]] ] - set row_zero [ SplitReply [detector_zero_row]] - set row_offset [ SplitReply [detector_ROI_row_offset]] - set col_zero [ SplitReply [detector_zero_col]] - set col_offset [ SplitReply [detector_ROI_col_offset]] - - set angsep [expr $det_angle_rad / ($dim1-1)] - $nxobj putpolararray dtheta $det_radius_mm $angsep $det_active_ht_mm $det_rot_rad $row_zero $row_offset $col_zero $col_offset $dim0 $dim1 -} proc putsample {nxobj} { $nxobj puttext saname [getVal [Sample]] @@ -224,7 +210,13 @@ proc putcrystal {nxobj} { $nxobj putfloat clambda [SplitReply [crystal_wavelength_A]] } proc putcommon {nxobj entryName point} { + global nx_content_release_tag nx_content_revision_num; $nxobj updatedictvar entryName $entryName + $nxobj puttext program_name SICS + $nxobj putattribute program_name sics_release [SplitReply [sics_release]] + $nxobj putattribute program_name sics_revision [SplitReply [sics_revision_num]] + $nxobj putattribute program_name nx_content_release $nx_content_release_tag + $nxobj putattribute program_name nx_content_revision $nx_content_revision_num $nxobj puttext etitle [getVal [Title]] $nxobj puttext iname [getVal [Instrument]] $nxobj puttext username [SplitReply [user]] @@ -275,7 +267,14 @@ proc putsamplemotors {nxobj point} { proc putmonomotors {nxobj point} { global dictalias; - foreach motor { mom mchi mphi mx my mtth } { + set instrument [SplitReply [instrument]] + + if {$instrument == "echidna"} { + set extra_mots [list pcx pcr] + } elseif {$instrument == "wombat"} { + set extra_mots [list oct mf2] + } + foreach motor " mom mchi mphi mx my mtth $extra_mots" { fillMotPath $nxobj $motor; set dictalias($motor) nxcrystal_mot nxscript_data clear diff --git a/site_ansto/instrument/hipd/config/hmm/anstohm_full_calibration.xml b/site_ansto/instrument/hipd/config/hmm/anstohm_full_calibration.xml new file mode 100644 index 00000000..309d9967 --- /dev/null +++ b/site_ansto/instrument/hipd/config/hmm/anstohm_full_calibration.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 991.5 990.5 + + + 511.5 510.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hipd/config/hmm/anstohm_full_normal.xml b/site_ansto/instrument/hipd/config/hmm/anstohm_full_normal.xml new file mode 100644 index 00000000..309d9967 --- /dev/null +++ b/site_ansto/instrument/hipd/config/hmm/anstohm_full_normal.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 991.5 990.5 + + + 511.5 510.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hipd/config/hmm/anstohm_full_pulser.xml b/site_ansto/instrument/hipd/config/hmm/anstohm_full_pulser.xml new file mode 100644 index 00000000..f547e9c8 --- /dev/null +++ b/site_ansto/instrument/hipd/config/hmm/anstohm_full_pulser.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + 0 + + + + + 991.5 990.5 + + + 511.5 510.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl b/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl index ad1e3aff..36f409c0 100644 --- a/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl +++ b/site_ansto/instrument/hipd/config/hmm/hmm_configuration.tcl @@ -2,7 +2,38 @@ MakeHM hmm anstohttp MakeHMControl_ANSTO hmc bm hmm source $cfPath(hmm)/hmm_configuration_common_1.tcl +# Configure to upload a complete configuration to the histogram server. +# In this case it's the main config file plus the FAT, BAT and OAT files +# in the same direcory as the SICS executable (for this example). +# Alternatives: +# - A partial config could be uploaded instead - e.g. just the main config file, +# in that case the main config file points to a set of FAT, BAT OAT files +# located on the server. +# - The histogram server could configure itself from a config file set +# kept on the local file system (not automated presently, manual control only) +# - Or, no configuration at all could be uploaded, the +# histogram server can configure itself using its default config files. +hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full.xml" +proc setmode {mode} { + global cfPath; +switch $mode { + global cfPath; + pulser { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_pulser.xml" + } + calibration { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_calibration.xml" + } + normal - + default { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_normal.xml" + } +} +} + + +setmode $hmm_mode ::histogram_memory::hmm_initialize ::histogram_memory::hmm_setup transparent 7000000 3 stitch_nyc stitch_nxc oat_ntc_eff hmm_start 0 diff --git a/site_ansto/instrument/hipd/config/nexus/nxscripts.tcl b/site_ansto/instrument/hipd/config/nexus/nxscripts.tcl index 1845cac3..60986f4d 100644 --- a/site_ansto/instrument/hipd/config/nexus/nxscripts.tcl +++ b/site_ansto/instrument/hipd/config/nexus/nxscripts.tcl @@ -1 +1,23 @@ source $cfPath(nexus)/nxscripts_common_1.tcl +proc put2Dpolar_angle {nxobj point dim0 dim1} { + global det_height + set det_radius_mm [SplitReply [detector_radius_mm]] + set det_angle_rad [SplitReply [detector_angle_rad]] + set det_active_ht_mm [SplitReply [detector_active_height_mm]] + set det_rot_rad [ expr [SplitReply [stth]]/[SplitReply [deg_per_rad]] ] + set row_zero [ SplitReply [detector_zero_row]] + set row_offset [ SplitReply [detector_ROI_row_offset]] + set col_zero [ SplitReply [detector_zero_col]] + set col_offset [ SplitReply [detector_ROI_col_offset]] + + set folding 1; + # For 1D use poladim = 1 and rows = 1 + # For 2D use poladim = 2 and rows = $dim0 + set poladim 2; + set rows $dim0; + + set angsep [expr $det_angle_rad / ($dim1-1)] + $nxobj updatedictvar padim0 $rows + $nxobj updatedictvar padim1 $dim1 + $nxobj putpolararray dtheta [list $point 0 0] [list 1 $rows $dim1] $folding $poladim $det_radius_mm $angsep $det_active_ht_mm $det_rot_rad $row_zero $row_offset $col_zero $col_offset $dim0 $dim1 +} diff --git a/site_ansto/instrument/hipd/wombat_configuration.tcl b/site_ansto/instrument/hipd/wombat_configuration.tcl index 11660260..452a9858 100644 --- a/site_ansto/instrument/hipd/wombat_configuration.tcl +++ b/site_ansto/instrument/hipd/wombat_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.12 $ -# $Date: 2007-03-13 05:42:24 $ +# $Revision: 1.13 $ +# $Date: 2007-04-06 09:10:02 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -17,6 +17,9 @@ source server_config.tcl ######################################## # INSTRUMENT SPECIFIC CONFIGURATION +#set hmm_mode pulser +#set hmm_mode calibration +set hmm_mode normal fileeval $cfPath(motors)/motor_configuration.tcl @@ -68,3 +71,7 @@ detector_description 8 curved multiwire segments detector_description lock fileeval extraconfig.tcl + +MakeRS232Controller plc_port 137.157.204.65 30001 +MakeMultiChan plc_chan plc_port 0 +MakeSafetyPLC plc plc_chan 0 diff --git a/site_ansto/instrument/hrpd/config/hmm/anstohm_full_MESYTEC_PULSER.xml b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_MESYTEC_PULSER.xml new file mode 100644 index 00000000..7c2b7c83 --- /dev/null +++ b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_MESYTEC_PULSER.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + 0 + + + + + 63.5 62.5 + + + 1023.5 1022.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hrpd/config/hmm/anstohm_full_folding.xml b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_folding.xml new file mode 100644 index 00000000..23c0369c --- /dev/null +++ b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_folding.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + 0 + + + + + 127.5 126.5 + + + 511.5 510.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hrpd/config/hmm/anstohm_full_nofolding.xml b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_nofolding.xml new file mode 100644 index 00000000..dfbd4a6d --- /dev/null +++ b/site_ansto/instrument/hrpd/config/hmm/anstohm_full_nofolding.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + 0 + + + + + 63.5 62.5 + + + 1023.5 1022.5 + + + 0 200000 + + + + + + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 + + + + + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + 6 + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + + + + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + + + + + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + + diff --git a/site_ansto/instrument/hrpd/config/hmm/hmm_configuration.tcl b/site_ansto/instrument/hrpd/config/hmm/hmm_configuration.tcl index 79fb5d2f..1d0b6e2e 100644 --- a/site_ansto/instrument/hrpd/config/hmm/hmm_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/hmm/hmm_configuration.tcl @@ -2,7 +2,35 @@ MakeHM hmm anstohttp MakeHMControl_ANSTO hmc bm hmm source $cfPath(hmm)/hmm_configuration_common_1.tcl +# Configure to upload a complete configuration to the histogram server. +# In this case it's the main config file plus the FAT, BAT and OAT files +# in the same direcory as the SICS executable (for this example). +# Alternatives: +# - A partial config could be uploaded instead - e.g. just the main config file, +# in that case the main config file points to a set of FAT, BAT OAT files +# located on the server. +# - The histogram server could configure itself from a config file set +# kept on the local file system (not automated presently, manual control only) +# - Or, no configuration at all could be uploaded, the +# histogram server can configure itself using its default config files. +proc setmode {mode} { + global cfPath; +switch $mode { + pulser { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_MESYTEC_PULSER.xml" + } + calibration { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_nofolding.xml" + } + normal - + default { + hmm configure hmconfigscript "returnconfigfile $cfPath(hmm)/anstohm_full_folding.xml" + } +} +} + +setmode $hmm_mode ::histogram_memory::hmm_initialize ::histogram_memory::hmm_setup transparent 0 3 oat_nyc_eff oat_nxc_eff oat_ntc_eff hmm_start 0 diff --git a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl index 9144455c..04e7a3b6 100644 --- a/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl +++ b/site_ansto/instrument/hrpd/config/motors/motor_configuration.tcl @@ -1,7 +1,7 @@ -# $Revision: 1.12 $ -# $Date: 2007-04-02 05:00:20 $ +# $Revision: 1.13 $ +# $Date: 2007-04-06 09:10:02 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) -# Last revision by: $Author: dcl $ +# Last revision by: $Author: ffr $ # START MOTOR CONFIGURATION @@ -486,7 +486,7 @@ ss1r softlowerlim $ss1r_LoRange ss1r softupperlim $ss1r_HiRange ss1r home 0 ss1r movecount $move_count -ss1r part filter +ss1r part aperture.first ss1r long_name right # Slit 1, left @@ -507,7 +507,7 @@ ss1l softlowerlim $ss1l_LoRange ss1l softupperlim $ss1l_HiRange ss1l home 0 ss1l movecount $move_count -ss1l part filter +ss1l part aperture.first ss1l long_name left # Slit 1, up @@ -528,7 +528,7 @@ ss1u softlowerlim $ss1u_LoRange ss1u softupperlim $ss1u_HiRange ss1u home 0 ss1u movecount $move_count -ss1u part filter +ss1u part aperture.first ss1u long_name top # Slit 1, down @@ -549,7 +549,7 @@ ss1d softlowerlim $ss1d_LoRange ss1d softupperlim $ss1d_HiRange ss1d home 0 ss1d movecount $move_count -ss1d part filter +ss1d part aperture.first ss1d long_name bottom ############################ @@ -609,7 +609,7 @@ ss2r softlowerlim $ss2r_LoRange ss2r softupperlim $ss2r_HiRange ss2r home 0 ss2r movecount $move_count -ss2r part filter +ss2r part aperture.second ss2r long_name right # Slit 2, left @@ -630,7 +630,7 @@ ss2l softlowerlim $ss2l_LoRange ss2l softupperlim $ss2l_HiRange ss2l home 0 ss2l movecount $move_count -ss2l part filter +ss2l part aperture.second ss2l long_name left # Slit 2, up @@ -651,7 +651,7 @@ ss2u softlowerlim $ss2u_LoRange ss2u softupperlim $ss2u_HiRange ss2u home 0 ss2u movecount $move_count -ss2u part filter +ss2u part aperture.second ss2u long_name top # Slit 2, down @@ -672,7 +672,7 @@ ss2d softlowerlim $ss2d_LoRange ss2d softupperlim $ss2d_HiRange ss2d home 0 ss2d movecount $move_count -ss2d part filter +ss2d part aperture.second ss2d long_name bottom proc mthGet {} { return [expr [SplitReply [mtth]]/2.0]} diff --git a/site_ansto/instrument/hrpd/config/nexus/nxscripts.tcl b/site_ansto/instrument/hrpd/config/nexus/nxscripts.tcl index 1845cac3..a9e143c8 100644 --- a/site_ansto/instrument/hrpd/config/nexus/nxscripts.tcl +++ b/site_ansto/instrument/hrpd/config/nexus/nxscripts.tcl @@ -1 +1,31 @@ source $cfPath(nexus)/nxscripts_common_1.tcl +proc put2Dpolar_angle {nxobj point dim0 dim1} { + global det_height hmm_mode; + set det_radius_mm [SplitReply [detector_radius_mm]] + set det_angle_rad [SplitReply [detector_angle_rad]] + set det_active_ht_mm [SplitReply [detector_active_height_mm]] + set det_rot_rad [ expr [SplitReply [stth]]/[SplitReply [deg_per_rad]] ] + set row_zero [ SplitReply [detector_zero_row]] + set row_offset [ SplitReply [detector_ROI_row_offset]] + set col_zero [ SplitReply [detector_zero_col]] + set col_offset [ SplitReply [detector_ROI_col_offset]] + + switch $hmm_mode { + pulser { + set folding 0; + set poladim 2; + } + calibration { + set folding 0; + set poladim 2; + } + normal - + default { + set folding 1; + set poladim 2; + } + } + + set angsep [expr $det_angle_rad / ($dim1-1)] + $nxobj putpolararray dtheta [list $point 0 0] [list 1 $dim0 $dim1] $folding $poladim $det_radius_mm $angsep $det_active_ht_mm $det_rot_rad $row_zero $row_offset $col_zero $col_offset $dim0 $dim1 +} diff --git a/site_ansto/instrument/hrpd/echidna_configuration.tcl b/site_ansto/instrument/hrpd/echidna_configuration.tcl index 0ce3ce0a..91fad552 100644 --- a/site_ansto/instrument/hrpd/echidna_configuration.tcl +++ b/site_ansto/instrument/hrpd/echidna_configuration.tcl @@ -1,5 +1,5 @@ -# $Revision: 1.19 $ -# $Date: 2007-03-11 22:43:12 $ +# $Revision: 1.20 $ +# $Date: 2007-04-06 09:10:02 $ # Author: Ferdi Franceschini (ffr@ansto.gov.au) # Last revision by: $Author: ffr $ @@ -17,6 +17,9 @@ source server_config.tcl ######################################## # INSTRUMENT SPECIFIC CONFIGURATION +#set hmm_mode pulser +#set hmm_mode calibration +set hmm_mode normal fileeval $cfPath(motors)/motor_configuration.tcl @@ -68,3 +71,7 @@ detector_description 128 He-3 proportional counter detector tubes (GE Energy Reu detector_description lock fileeval extraconfig.tcl + +MakeRS232Controller plc_port 137.157.204.65 30002 +MakeMultiChan plc_chan plc_port 0 +MakeSafetyPLC plc plc_chan 0