
/*	**************************************************************	*/

/*
 * PARAM.H
 * This file contains parameters required by the measurement
 * program.
 *
 * Zachary Wolf
 * 4/16/02
 */
 
/* Protection from multiple definitions */
#ifndef __PERMEAMETERPARAM_HEADER
#define __PERMEAMETERPARAM_HEADER
 
#define TRUE 1
#define FALSE 0

/* GPIB addresses */
#define GPIB_BOARD_ADDR					0
#define GPIB_PDI5025_ADDR				13
#define GPIB_HP3458_ADDR				24
#define GPIB_B9900_ADDR					17
#define GPIB_S7010_ADDR					10
#define GPIB_GP3_ADDR					16
#define GPIB_LS450_ADDR					15
#define GPIB_LS460_ADDR					17 
#define GPIB_LS475_ADDR					17
#define GPIB_HP3457_ADDR				22
#define GPIB_DAC488_ADDR				19
#define GPIB_DAC488HR_ADDR				8
#define GPIB_HP34970_ADDR				9 

/* Email Notification Settings*/
static char MAIL_TO[1000]		=		"sda@slac.stanford.edu";
#define MAIL_SEND_NOTIFICATION			1
#define MAIL_COMPUTER_ID				"Maglab 2"

/* Magnet current */
#define IMAG_BOARD_ADDR					GPIB_BOARD_ADDR
#define IMAG_DAC488_ADDR				GPIB_DAC488_ADDR
#define IMAG_DAC488HR_ADDR				GPIB_DAC488HR_ADDR
#define IMAG_HP3457_ADDR				GPIB_HP3457_ADDR
#define IMAG_HP34970_ADDR				GPIB_HP34970_ADDR
#define IMAG_DAC488_PORT				2
#define IMAG_DAC488HR_PORT				1
#define IMAG_HP3457_CHAN				0
#define IMAG_HP34970_CHAN				102
#define IMAG_CONFIG						IMAG_DAC488_HP34970
#define IMAG_BIPOLAR					IMAG_TRUE
#define IMAG_PS_AMPS_PER_DAC_VOLT	    1.2
#define IMAG_TRANS_VOLTS_PER_AMP		0.2 
#define IMAG_RAMP_STYLE					IMAG_COSINE
#define IMAG_MAX_CURR_LIMIT				12.0
#define IMAG_MIN_CURR_LIMIT			    -12.0
#define IMAG_RAMP_RATE				    0.2
#define IMAG_WAIT_AFTER_RAMP			5.
#define IMAG_STAND_RAMP_RATE			0.7
#define IMAG_WAIT_AFTER_STAND_RAMP		5.
#define IMAG_INIT_ZERO_CURRENT_MEAS		IMAG_FALSE 
#define IMAG_INIT_TURN_ON				IMAG_FALSE
#define IMAG_INIT_TURN_ON_CURRENT		10.
#define IMAG_CHECK_CURRENT				IMAG_FALSE
#define IMAG_CHECK_CURRENT_TOL			1.0
#define IMAG_SHOW_UI					IMAG_TRUE
#define IMAG_INVERPOWER					IMAG_FALSE
#define IMAG_CHECK_CURRENT_BALLPARK_LIM	   10
#define IMAG_CHECK_CURRENT_TOL_LOWER_LIM   5

/* Hall probe measurements */
#define BHALL_BOARD_ADDR				GPIB_BOARD_ADDR
#define BHALL_B9900_ADDR				GPIB_B9900_ADDR
#define BHALL_GP3_ADDR					GPIB_GP3_ADDR
#define BHALL_LS450_ADDR				GPIB_LS450_ADDR
#define BHALL_LS460_ADDR				GPIB_LS460_ADDR
#define BHALL_LS475_ADDR				GPIB_LS475_ADDR  
#define BHALL_S7010_ADDR			    GPIB_S7010_ADDR
#define BHALL_HP34970_ADDR			    GPIB_HP34970_ADDR
#define BHALL_HP34970_CHAN				115
#define BHALL_ANALOG_TESLA_PER_VOLT		0.10187
#define BHALL_DEVICE_TYPE				BHALL_LS475
#define BHALL_B9900_CHAN				1
#define BHALL_LS460_CHAN				'X'

/* Voltage integration system */
#define VTRAMP_BOARD_ADDR				GPIB_BOARD_ADDR
#define VTRAMP_PDI5025_ADDR				GPIB_PDI5025_ADDR
#define VTRAMP_HP3458_ADDR				GPIB_HP3458_ADDR
#define VTRAMP_PDI5025_CHANNEL			'A'
#define VTRAMP_PDI5025_GAIN				100	// aluminum is 1000 , steel 50
#define VTRAMP_HP3458_RANGE				.1
#define VTRAMP_CONFIG					VTRAMP_HP3458
#define VTRAMP_T_SAMP_BEFORE			0.5
#define VTRAMP_T_SAMP_AFTER				7.
#define VTRAMP_DO_OFFSET_CORRECTION		VTRAMP_TRUE
#define VTRAMP_SHOW_UI					VTRAMP_TRUE

/* BvsH module */
#define BVSH_SAMPLE_GEOMETRY			BVSH_CYLINDER_DEGAUSS
#define BVSH_CYL_HALL_PROBE_RANGE		3
#define BVSH_CYL_NUM_TURNS_MEAS_COIL	180
#define BVSH_CYL_MEAS_COIL_DIAM			0.020429 //0.020303  // 0.020385  m
#define BVSH_CYL_SAMPLE_OUTER_DIAM		0.018590  // 0.741" or  0.018796 m   Should be 0.741"
#define BVSH_CYL_SAMPLE_INNER_DIAM		0.0048514 // 0.190"  or 0.004826 m.  Should be 11 drill or 191"  0.0048514 m
#define BVSH_RING_NUM_TURNS_DRIVE_COIL	200
#define BVSH_RING_NUM_TURNS_MEAS_COIL	200 
#define BVSH_RING_SAMPLE_OUTER_DIAM		.051808
#define BVSH_RING_SAMPLE_INNER_DIAM		.040454
#define BVSH_RING_SAMPLE_HEIGHT			.007112
#define BVSH_SHOW_UI					BVSH_TRUE


#define BVSH_NUM_STAND_CYCLES			 0
#define BVSH_STAND_MAX					 12.
#define BVSH_STAND_MIN					 -12.

//#define BVSH_NUM_TEST_CURRENTS			186
//static double BVSH_TEST_CURRENTS[BVSH_NUM_TEST_CURRENTS] = {0., .01,  .02, .03, .04, .06, .07, .08, .1, .11, .12, .127, .133, .14, .145, .15, .155, .16, .165, .17, .175, .18, .185, .19, .2, .21, .22, .23, .24, .25, .26, .27, .28, .29, .3, .31, .32, .33, .34, .35, .36, .37, .38, .39, .4, .5, .6, .7, .8, .9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2., 2.5, 3., 3.5, 4., 5., 6., 7., 8., 9., 10., 12., 10., 9., 8., 7., 6., 5., 4., 3., 2., 1.5, 1., .9, .8, .7, .6, .5, .4, .3, .2, .19, .18, .17, .16, .15, .14, .13, .12, .11, .1, .09, .08, .07, .06, .05, .04, .03, .02, .01, 0., -.01, -.02, -.03, -.04, -.045, -.05, -.055, -.06, -.065, -.07, -.08, -.09, -.1, -.11, -.12, -.13, -.14, -.15, -.16, -.17, -.18, -.185, -.19, -.195, -.20, -.22, -.24, -.27, -.3, -.34, -.37, -.4, -.5, -.6, -.7, -.8, -.9, -1., -2., -4., -6., -8., -10., -12., -10., -8., -6., -4., -2., -1., -.8, -.6, -.4, -.3, -.2, -.19, -.18, -.17, -.16, -.15, -.14, -.13, -.12, -.11, -.1, -.09, -.08, -.07, -.06, -.05, -.04, -.03, -.02, -.01, 0.};

#define BVSH_NUM_TEST_CURRENTS			83
static double BVSH_TEST_CURRENTS[BVSH_NUM_TEST_CURRENTS] = {0., 0.006, 0.012, 0.018, .021, .027, .033, .039, .045, .051, .057, .063, .069, .075, .081, .087, .093, .099, .105, .11, .12, .125, .130, .135, .14, .145, .15, .155, .16, .165, .17, .175, .18, .185, .19, .2, .21, .22, .23, .24, .25, .26, .27, .28, .29, .3, .31, .32, .33, .34, .35, .36, .37, .38, .39, .4, .5, .6, .7, .8, .9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2., 2.5, 3., 3.5, 4., 5., 6., 7., 8., 9., 10., 12.};

//#define BVSH_NUM_TEST_CURRENTS			268 
//static double BVSH_TEST_CURRENTS[BVSH_NUM_TEST_CURRENTS] = {0., .006, 0.012, 0.018, .021, .027, .033, .039, .045, .051, .057, .063, .069, .075, .081, .087, .093, .099, .105, .11, .12, .125, .130, .135, .14, .145, .15, .155, .16, .165, .17, .175, .18, .185, .19, .2, .21, .22, .23, .24, .25, .26, .27, .28, .29, .3, .31, .32, .33, .34, .35, .36, .37, .38, .39, .4, .5, .6, .7, .8, .9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2., 2.5, 3., 3.5, 4., 5., 6., 7., 8., 9., 10., 12., 10., 9., 8., 7., 6., 5., 4., 3., 2., 1.5, 1., .9, .8, .7, .6, .5, .4, .3, .2, .19, .18, .17, .16, .15, .14, .13, .12, .11, .1, .09, .08, .07, .06, .05, .04, .03, .02, .01,  0., 
//														    -.01, -.02, -.03, -.04, -.045, -.05, -.055, -.06, -.065, -.07, -.08, -.09, -.1, -.11, -.12, -.13, -.14, -.15, -.16, -.17, -.18, -.185, -.19, -.195, -.20, -.22, -.24, -.27, -.3, -.34, -.37, -.4, -.5, -.6, -.7, -.8, -.9, -1., -2., -4., -6., -8., -10., -12., -10., -8., -6., -4., -2., -1., -.8, -.6, -.4, -.3, -.2, -.19, -.18, -.17, -.16, -.15, -.14, -.13, -.12, -.11, -.1, -.09, -.08, -.07, -.06, -.05, -.04, -.03, -.02, -.01, 0.0, .01,  .02, .03, .04, .06, .07, .08, .1, .11, .12, .127, .133, .14, .145, .15, .155, .16, .165, .17, .175, .18, .185, .19, .2, .21, .22, .23, .24, .25, .26, .27, .28, .29, .3, .31, .32, .33, .34, .35, .36, .37, .38, .39, .4, .5, .6, .7, .8, .9, 1., 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2., 2.5, 3., 3.5, 4., 5., 6., 7., 8., 9., 10., 12. };
#define BVSH_NUM_DGAUSS_CURRENTS			53  
static double BVSH_DGAUSS_CURRENTS[BVSH_NUM_DGAUSS_CURRENTS] = {9.0000, -7.9200,  6.9696, -6.1332,  5.3973, -4.7496,  4.1796, -3.6781,  3.2367, -2.8483,  2.5065, -2.2057,  1.9410, -1.7081,  1.5031, -1.3228,  1.1640, -1.0243,  0.9014, -0.7933,  0.6981, -0.6143,  0.5406, -0.4757,  0.4186, -0.3684,  0.3242, -0.2853,  0.2510, -0.2209,  0.1944, -0.1711,  0.1506, -0.1325,  0.1166, -0.1026,  0.0903, -0.0795,  0.0699, -0.0615,  0.0541, -0.0476,  0.0419, -0.0369,  0.0325, -0.0286,  0.0251, -0.0221,  0.0195, -0.0171,  0.0151, -0.0133, 0.0 };








/* End protection */
#endif
   
