/* t2pul_lek_sel3_500.c This pulse sequence will allow one to perform the following experiment: Calibration of the selective 'water flip back' pulse. Uses the 1H (obs) trasmitter (channel 1) channel 1) - carrier (tof) @ 4.7ppm [ on resonance with H2O] Set the flag fsat = 'n' - No presaturation of water. Set dm = 'nnnn', dmm = 'cccc' dm2 = 'nnnn', dmm2 = 'cccc' Written by LEK BMRB Pulse Sequence Accession Number: 57 */ #include static int phi1[4] = {0,1,2,3}, phi2[4] = {2,3,0,1}, rec[4] = {0,1,2,3}; pulsesequence() { /* DECLARE VARIABLES */ char fsat[MAXSTR],shape[MAXSTR]; double tsatpwr,pw_sl,tpwrsl; /* LOAD VARIABLES */ tsatpwr = getval("tsatpwr"); getstr("fsat",fsat); getstr("shape",shape); dpwr2 = getval("dpwr2"); dpwr = getval("dpwr"); pw_sl = getval("pw_sl"); tpwrsl = getval("tpwrsl"); /* Load Phase Table */ settable(t11,4,phi1); settable(t2,4,phi2); settable(t12,4,rec); /* CHECK VALIDITY OF PARAMETER RANGE */ if( tsatpwr > 8 ) { printf("TSATPWR too large !!! "); abort(1); } if( tpwrsl > 44 ) { printf("TPWRSL too large !!! "); abort(1); } if( dpwr > 50 ) { printf("don't fry the probe, DPWR too large! "); abort(1); } if( dpwr2 > 50 ) { printf("don't fry the probe, DPWR2 too large! "); abort(1); } /* BEGIN ACTUAL PULSE SEQUENCE */ /* Receiver off time */ status(A); delay(5e-6); status(B); if (fsat[0] == 'y') { rlpower(tsatpwr,TODEV); /* Set power for presaturation */ delay(5e-6); rgpulse(d1,zero,2.0e-6,2.0e-6); delay(5e-6); } else { delay(d1); } /* pulse and acquire */ rlpower(tpwr,TODEV); status(C); rcvroff(); delay(20.0e-6); rgpulse(pw,t11,0.0,0.0); rlpower(tpwrsl,TODEV); shaped_pulse(shape,pw_sl,t2,2.0e-6,2.0e-6); rlpower(tpwr,TODEV); rlpower(dpwr2,DO2DEV); rlpower(dpwr,DODEV); status(D); /* rcvron(); */ setreceiver(t12); }