#! /bin/awk -f

# this is an awk script to start a run
# you first need to run inimodule.awk to initialize
# the pattern, set Vc and set the trimbits
#

#####################################################################
# revision history                                                  #
#####################################################################
# 31.10.2001 first version                                          #
#####################################################################
#                                                                   #
# Bernd Schmitt                                                     #
#                                                                   #
# bernd.schmitt@psi.ch                                              #
#                                                                   #
#####################################################################
#                                                                   #
# modifications:                                                    #
#                                                                   #
# 1.3.2002 BS adapted for use with DCB                              #
#                                                                   #
# 25.5.2002 BS adapted to new convert program                       #
#                                                                   #
# 29.5.2002 sleep -> usleep for meas. time , TS                     #
#                                                                   #
#####################################################################

BEGIN {

# initialize variables
   NPAR=3

	PAR[1]="nrun"
	PAR[2]="fn"
	PAR[3]="par"

# initialize default values
	


	PARVAL[1] = 100
	PARVAL[2] = "microstrip_july2007"
        PARVAL[3]=0



	

	    printf("\n\nnumber of command line arguments: %i (incl. command)\n\n", ARGC);

# read command line defined variables
	if (ARGC>1) {
	    printf("\n\nnumber of command line arguments: %i (incl. command)\n\n", ARGC);
	    for (i=1; i<=ARGC; i++) {
	      printf("%s \n", ARGV[i]);
		nsplit=split(ARGV[i],array,"=")
		VAR = array[1];
		VAL = array[2];

		for (j=1; j<=NPAR; j++) {
		    if ( VAR==PAR[j] ) {
			PARVAL[j] = VAL
		    }
		}
	    }
	}
	run=PARVAL[1]
        fn=PARVAL[2]
	par=PARVAL[3]


# print command line arguments
	for (i=1; i<=NPAR; i++){
	    printf("\t... %2i.\t%7s = %s\n", i, PAR[i], PARVAL[i] );
        }
	printf("\n\n");

# generate parameter file

	fnamep=fn".parab"
	  printf("header before\n")>> fnamep
	system("date >>"fnamep)
	printf("run=%i \n", run ) >> fnamep

#print detector parameters to file
	if (par==1) {
	
	command="sls_detector_get exptime| awk -F \" \" '{print $2}'"
	command | getline var
	printf("acquisition time = %11.6f second(s)\n", var) >> fnamep

	command="sls_detector_get settings| awk -F \" \" '{print $2}'"
	command | getline var
	printf("settings = %s\n", var) >> fnamep;

	command="sls_detector_get threshold| awk -F \" \" '{print $2}'"
	command | getline var
	printf("threshold energy = %d eV\n", var) >> fnamep;

	command="sls_detector_get badchannels| awk -F \" \" '{print $2}'"
	command | getline var
	printf("bad channel list = %s\n",var) >> fnamep;


	command="sls_detector_get angconv| awk -F \" \" '{print $2}'"
	command | getline var
	printf("angle calibration conversion = %s\n",var) >> fnamep;


	command="sls_detector_get globaloff| awk -F \" \" '{print $2}'"
	command | getline var
	printf("beamline offset = %f deg\n", var) >> fnamep;

	command="sls_detector_get fineoff| awk -F \" \" '{print $2}'"
	command | getline var
	printf("fine offset = %f deg\n", var) >> fnamep;

	command="sls_detector_get flatfield| awk -F \" \" '{print $2}'"
	command | getline var
        printf("Flat field corrections = %s\n",var) >> fnamep;

	command="sls_detector_get ratecorr| awk -F \" \" '{print $2}'"
	command | getline var
	printf("Dead time corrections tau = %d ns\n",var) >> fnamep;

	}
	
	
#print beamline parameters to file

#read detector position
	system("caget X04SA-ES2-TH2:RO.RBV >>"fnamep)
#read I0
	system("caget X04SA-ES2-SC:CH6>>"fnamep)
}