From c04a3f8cde9596b8256cd3bb01ee2667bad37a62 Mon Sep 17 00:00:00 2001
From: Charlotte Bond <czb@star.sr.bham.ac.uk>
Date: Mon, 9 Dec 2013 18:07:10 +0000
Subject: [PATCH] making sure can use for plane wave (no maxtem) command

---
 .../FT_DR_FP_MICH_initial_tuning.m            | 85 +++++++++++--------
 1 file changed, 49 insertions(+), 36 deletions(-)

diff --git a/src/new/finesse/prepare_files/FT_DR_FP_MICH_initial_tuning.m b/src/new/finesse/prepare_files/FT_DR_FP_MICH_initial_tuning.m
index e83fb95..1baed6d 100644
--- a/src/new/finesse/prepare_files/FT_DR_FP_MICH_initial_tuning.m
+++ b/src/new/finesse/prepare_files/FT_DR_FP_MICH_initial_tuning.m
@@ -133,8 +133,13 @@ function [tunings] = FT_DR_FP_MICH_initial_tuning(infile,outfile,commands,mirror
     npos = nodes{5};
     
     % Read in the mirror parameters from blocks
-    [R_ETMX,T_ETMX,L_ETMX,phi_ETMX] = FT_read_mirror_parameters_from_blocks(blocks,etmx);
-    [R_ETMY,T_ETMY,L_ETMY,phi_ETMY] = FT_read_mirror_parameters_from_blocks(blocks,etmy);
+    if ~strcmp(etmx,'off')
+        [R_ETMX,T_ETMX,L_ETMX,phi_ETMX] = FT_read_mirror_parameters_from_blocks(blocks,etmx);
+    end
+    if ~strcmp(etmy,'off')
+        [R_ETMY,T_ETMY,L_ETMY,phi_ETMY] = FT_read_mirror_parameters_from_blocks(blocks,etmy);
+    end
+    
     [R_BS,T_BS,L_BS,phi_BS] = FT_read_mirror_parameters_from_blocks(blocks,bs);
     
     % Read in original reflective coefficients for recycling mirrors
@@ -190,52 +195,65 @@ function [tunings] = FT_DR_FP_MICH_initial_tuning(infile,outfile,commands,mirror
     % Perform tunigns twice, once with maxtem 0 and once with the value for
     % maxtem set in infile    
     for i=1:ntimes
+        
+        Nm = 0;
+        
         %======================================================================
         %============ 1. Tuning arm cavities to be on resonance ===============
         %======================================================================
         %----------------------------------------------------------------------
         % Tuning the x arm cavity
-        tuning = phi_ETMX;
-        tuning = scan_for_operating_point(FT,Run1,blocks,etmx,nptx,tuning,range,npoints,'max',relative_err,zooms,debug(1));
-    
-        if abs(tuning) < tuning_threshold
-            tuning=0.0;
+        if ~strcmp(etmx,'off')
+            tuning = phi_ETMX;
+            tuning = scan_for_operating_point(FT,Run1,blocks,etmx,nptx,tuning,range,npoints,'max',relative_err,zooms,debug(1));
+            
+            if abs(tuning) < tuning_threshold
+                tuning=0.0;
+            end
+            
+            % Setting tuning for x arm
+            phi_ETMX = tuning;
+            Nm = Nm+1;
+            tunings(Nm) = phi_ETMX;
+            blocks = FT_replace_mirror_parameter_in_blocks(blocks,etmx,'phi',phi_ETMX);
+            fprintf('Setting %s tuning to %f\n',etmx,phi_ETMX);
         end
-    
-        % Setting tuning for x arm
-        phi_ETMX = tuning;
-        blocks = FT_replace_mirror_parameter_in_blocks(blocks,etmx,'phi',phi_ETMX);
-        fprintf('Setting %s tuning to %f\n',etmx,phi_ETMX);
-        %----------------------------------------------------------------------
-        % Tuning the y arm cavity
-        tuning = phi_ETMY;
-        tuning = scan_for_operating_point(FT,Run1,blocks,etmy,npty,tuning,range,npoints,'max',relative_err,zooms,debug(2));
-    
-        if abs(tuning) < tuning_threshold
-            tuning=0.0;
+        if ~strcmp(etmy,'off')
+            %----------------------------------------------------------------------
+            % Tuning the y arm cavity
+            tuning = phi_ETMY;
+            tuning = scan_for_operating_point(FT,Run1,blocks,etmy,npty,tuning,range,npoints,'max',relative_err,zooms,debug(2));
+            
+            if abs(tuning) < tuning_threshold
+                tuning=0.0;
+            end
+            
+            % Setting tuning for y arm
+            phi_ETMY = tuning;
+            Nm = Nm+1;
+            tunings(Nm) = phi_ETMY;
+            blocks = FT_replace_mirror_parameter_in_blocks(blocks,etmy,'phi',phi_ETMY);
+            fprintf('Setting %s tuning to %f\n',etmy,phi_ETMY);
         end
-    
-        % Setting tuning for y arm
-        phi_ETMY = tuning;
-        blocks = FT_replace_mirror_parameter_in_blocks(blocks,etmy,'phi',phi_ETMY);
-        fprintf('Setting %s tuning to %f\n',etmy,phi_ETMY);
         %----------------------------------------------------------------------
         %======================================================================
         %======================================================================
-            
+        
         %======================================================================
         %============ 2. Tuning BS to minimise power at AS port ===============
         %======================================================================
         % Tuning the BS
         tuning = phi_BS;
         tuning = scan_for_operating_point(FT,Run1,blocks,bs,nas,tuning,range,npoints,'min',relative_err,zooms,debug(3));
-    
+        
         if abs(tuning) < tuning_threshold
             tuning=0.0;
         end
-    
+        
         % Setting BS tuning
         phi_BS = tuning;
+        Nm = Nm+1;
+        tunings(Nm) = phi_BS;
         blocks = FT_replace_mirror_parameter_in_blocks(blocks,bs,'phi',phi_BS);
         fprintf('Setting %s tuning to %f\n',bs,phi_BS);
         %======================================================================
@@ -265,6 +283,8 @@ function [tunings] = FT_DR_FP_MICH_initial_tuning(infile,outfile,commands,mirror
     
             % Setting BS tuning
             phi_PRM = tuning;
+            Nm = Nm+1;
+            tunings(Nm) = phi_PRM;
             blocks = FT_replace_mirror_parameter_in_blocks(blocks,prm,'phi',phi_PRM);
             fprintf('Setting %s tuning to %f\n',prm,phi_PRM);
             %==============================================================
@@ -303,6 +323,8 @@ function [tunings] = FT_DR_FP_MICH_initial_tuning(infile,outfile,commands,mirror
     
                 % Setting BS tuning
                 phi_SRM = tuning+srm_tuning;
+                Nm = Nm+1;
+                tunings(Nm) = phi_SRM;
                 blocks = FT_replace_mirror_parameter_in_blocks(blocks,srm,'phi',phi_SRM);
                 fprintf('setting %s tuning to %f\n',srm,phi_SRM);
                 %==============================================================
@@ -312,15 +334,6 @@ function [tunings] = FT_DR_FP_MICH_initial_tuning(infile,outfile,commands,mirror
         
     end
     
-    % Store final tunings
-    tunings = [phi_ETMX phi_ETMY phi_BS];
-    if ~strcmp(prm,'off')
-        tunings(4) = phi_PRM;
-    end
-    if ~strcmp(srm,'off')
-        tuning(5) = phi_SRM;
-    end
-    
     if length(commands)>0
         % Writing new output file, adding command lines back in
         FT_write_blocks_into_file([blocks,command_blocks],outfile);
-- 
GitLab