本文整理汇总了C++中zgradpulse函数的典型用法代码示例。如果您正苦于以下问题:C++ zgradpulse函数的具体用法?C++ zgradpulse怎么用?C++ zgradpulse使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了zgradpulse函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pulsesequence
//.........这里部分代码省略.........
if (strcmp(slpatR,"cw") &&
strcmp(slpatR,"troesy") &&
strcmp(slpatR,"dante"))
abort_message("SpinLock pattern %s not supported!.\n", slpatR);
sub(ct,ssctr,v7);
settable(t1,4,ph1); getelem(t1,v7,v1);
settable(t2,8,ph2); getelem(t2,v7,v2);
settable(t3,8,ph3);
settable(t8,4,ph8); getelem(t8,v7,v8);
settable(t6,8,ph6); getelem(t6,v7,v6);
assign(v1,oph);
if (getflag("zfilt"))
getelem(t3,v7,oph);
add(v2,one,v3);
add(v2,two,v4);
add(v2,three,v5);
if (phase1 == 2)
{incr(v1); incr(v6);} /* hypercomplex method */
/*
mod2(id2,v13);
dbl(v13,v13);
*/
initval(2.0*(double)(((int)(d2*getval("sw1")+0.5)%2)),v13);
add(v1,v13,v1);
add(v6,v13,v6);
add(oph,v13,oph);
/* The following is for flipback pulse */
zfphinc=zfphinc+180;
if (zfphinc < 0) zfphinc=zfphinc+360;
initval(zfphinc,v10);
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
obspower(tpwr);
delay(5.0e-5);
if (getflag("sspul"))
steadystate();
if (satmode[0] == 'y')
{
if ((d1-satdly) > 0.02)
delay(d1-satdly);
else
delay(0.02);
satpulse(satdly,v6,rof1,rof1);
}
else
delay(d1);
if (getflag("wet"))
wet4(zero,one);
decpower(dpwr);
status(B);
rgpulse(pw, v1, rof1, rof1);
if (d2 > 0.0)
delay(d2 - POWER_DELAY - (2*pw/PI) - rof1);
else
delay(d2);
obspower(slpwrR);
if (mixR > 0.0)
{
if (dps_flag)
{
if (!strcmp(slpatR,"troesy"))
rgpulse(mixR,v2,0.0,0.0);
else
rgpulse(mixR,v3,0.0,0.0);
}
else
SpinLock(slpatR,mixR,slpwR,v2,v3,v4,v5, v9);
}
if ((getflag("zfilt")) && (getflag("PFGflg")))
{
obspower(tpwr);
rgpulse(pw,v2,1.0e-6,rof1);
zgradpulse(gzlvlz,gtz);
delay(gtz/3);
if (getflag("flipback"))
FBpulse(v8,v10);
rgpulse(pw,v8,rof1,rof2);
}
else
delay(rof2);
status(C);
}
示例2: pulsesequence
//.........这里部分代码省略.........
rgpulse(d1,zero,20.0e-6,20.0e-6);
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
delay(2.0e-5);
if(fscuba[0] == 'y')
{
delay(2.2e-2);
rgpulse(pw,zero,2.0e-6,0.0);
rgpulse(2*pw,one,2.0e-6,0.0);
rgpulse(pw,zero,2.0e-6,0.0);
delay(2.2e-2);
}
}
else
{
delay(d1);
}
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
txphase(zero);
dec2phase(zero);
decphase(zero);
delay(1.0e-5);
/* Begin Pulses */
rcvroff();
delay(10.0e-6);
/* first ensure that magnetization does infact start on H and not C */
decrgpulse(pwC,zero,2.0e-6,2.0e-6);
delay(2.0e-6);
zgradpulse(gzlvl0,gt0);
delay(gstab);
/* this is the real start */
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
delay(2.0e-6);
zgradpulse(gzlvl1,gt1);
delay(2.0e-6);
delay(taua - gt1 - 4.0e-6); /* taua <= 1/4JCH */
simpulse(2*pw,2*pwC,zero,zero,0.0,0.0);
txphase(t1);
delay(2.0e-6);
zgradpulse(gzlvl1,gt1);
delay(2.0e-6);
delay(taua - gt1 - 4.0e-6);
rgpulse(pw,t1,0.0,0.0);
txphase(zero);
delay(2.0e-6);
zgradpulse(gzlvl2,gt2);
delay(gstab);
decphase(t2);
示例3: pulsesequence
//.........这里部分代码省略.........
tau2 = tau2/2.0;
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw1 + 0.5 );
if(t2_counter % 2)
{ tsadd(t8,2,4); tsadd(t12,2,4); tsadd(t13,2,4); }
/* BEGIN PULSE SEQUENCE */
status(A);
delay(d1);
if (dm3[B]=='y') lk_hold();
rcvroff();
set_c13offset("cab");
obsoffset(tof);
obspower(tpwr);
obspwrf(4095.0);
decpower(pwClvl);
decpwrf(4095.0);
dec2power(pwNlvl);
txphase(one);
delay(1.0e-5);
if (TROSY[A] == 'n')
dec2rgpulse(pwN, zero, 0.0, 0.0); /*destroy N15 and C13 magnetization*/
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(gzlvl0, 0.5e-3);
delay(gstab);
if (TROSY[A] == 'n')
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
delay(gstab);
if(dm3[B] == 'y') /*optional 2H decoupling on */
{dec3unblank(); dec3rgpulse(1/dmf3, one, 0.0, 0.0);
dec3unblank(); setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);}
rgpulse(pw, zero, 2.0e-6, 0.0);
zgradpulse(gzlvl5, gt5);
delay(tauCH - gt5 - WFG2_START_DELAY - 0.5e-3 + 68.0e-6 );
sim_c13adiab_inv_pulse("", "aliph", stCwidth, "sech1", 2.0*pw, 1.0e-3,
zero, zero, 2.0e-6, 2.0e-6);
zgradpulse(gzlvl5, gt5);
delay(tauCH - gt5 - 0.5e-3 + 68.0e-6);
rgpulse(pw, one, 0.0, 0.0);
if (ser_flg[0] == 'n' )
delay(pwS5);
if (ser_flg[0] == 'y' )
c_shapedpulse("isnob5",30.0,24.0,zero, 2.0e-6, 2.0e-6);
/*********************************** transfer CB->CA + DEPT CBH **************/
zgradpulse(gzlvl3, gt3*1.2);
delay(gstab);
decrgpulse(pwC, t3, 0.0, 0.0);
示例4: pulsesequence
pulsesequence()
{
double gzlvl1,
gt1,
gzlvl3,
gt3,
gstab,
pwx2lvl,
pwx2,
tau,
gtau,
hsglvl,
hsgt;
char nullflg[MAXSTR],
sspul[MAXSTR];
int iphase,
icosel;
gzlvl1 = getval("gzlvl1");
gt1 = getval("gt1");
gzlvl3 = getval("gzlvl3");
gt3 = getval("gt3");
pwx2lvl = getval("pwx2lvl");
pwx2 = getval("pwx2");
hsglvl = getval("hsglvl");
hsgt = getval("hsgt");
gstab = getval("gstab");
getstr("nullflg",nullflg);
getstr("sspul",sspul);
iphase = (int)(getval("phase")+0.5);
icosel = 1;
tau = 1/(2*(getval("j1xh")));
gtau = 2*gstab + GRADIENT_DELAY;
if (tau < (gt3+gstab))
{
text_error("tau must be greater than gt3+gstab\n");
psg_abort(1);
}
settable(t1,2,ph1);
settable(t2,4,ph2);
settable(t3,4,ph3);
assign(zero,v4);
getelem(t1,ct,v1);
getelem(t3,ct,oph);
if (iphase == 2)
icosel = -1;
initval(2.0*(double)((int)(d2*getval("sw1")+0.5)%2),v10);
add(v1,v10,v1);
add(v4,v10,v4);
add(oph,v10,oph);
status(A);
dec2power(pwx2lvl);
if (sspul[0] == 'y')
{
zgradpulse(hsglvl,hsgt);
rgpulse(pw,zero,rof1,rof1);
zgradpulse(hsglvl,hsgt);
}
delay(d1);
status(B);
rcvroff();
if (nullflg[0] == 'y')
{
rgpulse(0.5*pw,zero,rof1,rof1);
delay(tau);
sim3pulse(2.0*pw,0.0,2.0*pwx2,zero,zero,zero,rof1,rof1);
delay(tau);
rgpulse(1.5*pw,two,rof1,rof1);
zgradpulse(hsglvl,hsgt);
delay(1e-3);
}
rgpulse(pw,zero,rof1,rof1);
delay(tau - rof1 - (2*pw/PI));
dec2rgpulse(pwx2,v1,rof1,1.0e-6);
delay(gt1+gtau - (2*pwx2/PI) - pwx2 - 1.0e-6 - rof1);
dec2rgpulse(2*pwx2,v4,rof1,1.0e-6);
delay(gstab - pwx2 - 1.0e-6);
zgradpulse(gzlvl1,gt1);
delay(gstab - rof1 - pw);
delay(d2/2);
rgpulse(2.0*pw,zero,rof1,rof1);
delay(d2/2);
delay(gstab - rof1 - pw);
zgradpulse(gzlvl1,gt1);
delay(gstab - pwx2 - rof1);
dec2rgpulse(2*pwx2,zero,rof1,1.0e-6);
delay(gt1+gtau - (2*pwx2/PI) - pwx2 - 1.0e-6 - rof1);
//.........这里部分代码省略.........
示例5: pulsesequence
pulsesequence()
{
char mixpat[MAXSTR], pshape[MAXSTR], httype[MAXSTR], sspul[MAXSTR];
double rg1 = 2.0e-6,
mix = getval("mix"), /* mixing time */
mixpwr = getval("mixpwr"), /* mixing pwr */
compH = getval("compH"),
gt0 = getval("gt0"), /* gradient pulse in sspul */
gt2 = getval("gt2"), /* gradient pulse preceding mixing */
gzlvl0 = getval("gzlvl0"), /* gradient level for gt0 */
gzlvl2 = getval("gzlvl2"), /* gradient level for gt2 */
gstab = getval("gstab"); /* delay for gradient recovery */
shape hdx;
void setphases();
getstr("sspul", sspul);
getstr("pshape", pshape);
getstr("httype", httype);
getstr("mixpat", mixpat);
setlimit("mixpwr", mixpwr, 48.0);
(void) setphases();
if (httype[0] == 'i')
assign(zero,v2);
/* MAKE PBOX SHAPES */
if (FIRST_FID)
hhmix = pbox_mix("HHmix", mixpat, mixpwr, pw*compH, tpwr);
/* HADAMARD stuff */
if(httype[0] == 'e') /* excitation */
hdx = pboxHT_F1e(pshape, pw*compH, tpwr);
else if(httype[0] == 'r') /* refocusing */
hdx = pboxHT_F1r(pshape, pw*compH, tpwr);
else if(httype[0] == 'd') /* DPFGSE */
{
hdx = pboxHT_F1r(pshape, pw*compH, tpwr);
if (FIRST_FID)
ref180 = hdx;
}
else /* httype[0] == 'i' */ /* inversion */
hdx = pboxHT_F1i(pshape, pw*compH, tpwr);
if (getval("htcal1") > 0.5) /* Optional fine power calibration */
hdx.pwr += getval("htpwr1");
/* THE PULSE PROGRAMM STARTS HERE */
status(A);
delay(5.0e-5);
zgradpulse(gzlvl0,gt0);
if (sspul[A] == 'y')
{
rgpulse(pw,zero,rof1,rof1);
zgradpulse(gzlvl0,gt0);
}
pre_sat();
if (getflag("wet"))
wet4(zero,one);
delay(1.0e-5);
obspower(tpwr);
delay(1.0e-5);
status(B);
if (httype[0] == 'i') /* longitudinal encoding */
{
ifzero(v1);
delay(2.0*(pw+rg1));
zgradpulse(gzlvl2,gt2);
delay(gstab);
elsenz(v1);
rgpulse(2.0*pw,v3,rg1,rg1);
zgradpulse(gzlvl2,gt2);
delay(gstab);
endif(v1);
pbox_pulse(&hdx, zero, rg1, rg1);
zgradpulse(gzlvl2,gt2);
delay(gstab);
}
else /* transverse encoding */
{
if (httype[0] == 'e')
pbox_pulse(&hdx, oph, rg1, rg1);
else
{
rgpulse(pw,oph,rg1,rg1);
if (httype[0] == 'd') /* DPFGSE */
{
zgradpulse(2.0*gzlvl2,gt2);
delay(gstab);
pbox_pulse(&ref180, oph, rg1, rg1);
//.........这里部分代码省略.........
示例6: pulsesequence
//.........这里部分代码省略.........
delay(2.2e-2);
rgpulse(pw,zero,2.0e-6,0.0);
rgpulse(2*pw,one,2.0e-6,0.0);
rgpulse(pw,zero,2.0e-6,0.0);
delay(2.2e-2);
}
}
else
{
delay(d1);
}
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
txphase(one);
dec2phase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(B);
rcvroff();
lk_hold();
shiftedpulse("sinc", pwHs, 90.0, 0.0, one, 2.0e-6, 0.0);
txphase(zero);
delay(2.0e-6);
/* xxxxxxxxxxxxxxxxxxxxxx 1HN to 15N TRANSFER xxxxxxxxxxxxxxxxxx */
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
delay(0.2e-6);
zgradpulse(gzlvl1, gt1);
delay(2.0e-6);
delay(taua - gt1 - 2.2e-6); /* taua <= 1/4JNH */
sim3pulse(2*pw,0.0,2*pwN,zero,zero,zero,0.0,0.0);
txphase(three); dec2phase(zero); decphase(zero);
delay(taua - gt1 - gstab -0.2e-6 - 2.0e-6);
delay(0.2e-6);
zgradpulse(gzlvl1, gt1);
delay(gstab);
/* xxxxxxxxxxxxxxxxxxxxxx 15N to 13CO TRANSFER xxxxxxxxxxxxxxxxxx */
if(sel_flg[A] == 'n') {
rgpulse(pw,three,2.0e-6,0.0);
delay(0.2e-6);
zgradpulse(gzlvl2, gt2);
delay(gstab);
dec2rgpulse(pwN,zero,0.0,0.0);
delay( zeta + pwS4 );
dec2rgpulse(2*pwN,zero,0.0,0.0);
c13pulse("co", "ca", "sinc", 180.0, zero, 0.0, 0.0);
dec2phase(one);
示例7: pulsesequence
//.........这里部分代码省略.........
else
{
delay(d1);
}
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
txphase(zero);
dec2phase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(B);
rcvroff();
lk_hold();
delay(20.0e-6);
initval(1.0,v2);
obsstepsize(phase_sl);
xmtrphase(v2);
/* shaped pulse */
obspower(tpwrsl);
shaped_pulse(shp_sl,pw_sl,one,4.0e-6,0.0);
xmtrphase(zero);
obspower(tpwr); txphase(zero);
delay(4.0e-6);
/* shaped pulse */
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
delay(0.2e-6);
zgradpulse(gzlvl5,gt5);
delay(2.0e-6);
delay(taua - gt5 - 2.2e-6); /* taua <= 1/4JNH */
sim3pulse(2*pw,0.0e-6,2*pwN,zero,zero,zero,0.0,0.0);
txphase(three); dec2phase(zero); decphase(zero);
delay(0.2e-6);
zgradpulse(gzlvl5,gt5);
delay(200.0e-6);
delay(taua - gt5 - 200.2e-6 - 2.0e-6);
if (sel_flg[A] == 'n')
{
rgpulse(pw,three,2.0e-6,0.0);
delay(0.2e-6);
zgradpulse(gzlvl3,gt3);
delay(200.0e-6);
dec2rgpulse(pwN,zero,0.0,0.0);
delay( zeta );
dec2rgpulse(2.0*pwN,zero,0.0,0.0);
decshaped_pulse(spchirp,pwchirp,zero,0.0,0.0);
delay(zeta -WFG_START_DELAY -pwchirp -WFG_STOP_DELAY -2.0e-6);
dec2rgpulse(pwN,zero,2.0e-6,0.0);
示例8: pulsesequence
//.........这里部分代码省略.........
delay(d1);
}
obspower(tpwr); /* Set transmitter power for hard 1H pulses */
obsoffset(tof);
txphase(t1);
decphase(zero);
dec2phase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(C);
decoffset(dof_me);
lk_hold();
rcvroff();
delay(20.0e-6);
/* ensure that magnetization originates on 1H and not 13C */
if(dtt_flg[A] == 'y') {
obsoffset(tof_dtt);
obspower(tpwrs1);
shaped_pulse("H2Osinc",pwHs1,zero,10.0e-6,0.0);
obspower(tpwr);
obsoffset(tof);
}
decrgpulse(pwC,zero,0.0,0.0);
zgradpulse(gzlvl0,gt0);
delay(gstab);
rgpulse(pw,zero,0.0,0.0); /* 90 deg 1H pulse */
zgradpulse(gzlvl1,gt1);
delay(gstab);
delay(taua - gt1 -gstab);
simpulse(2.0*pw,2.0*pwC,zero,zero,0.0,0.0);
txphase(one);
delay(taua - gt1 - gstab);
zgradpulse(gzlvl1,gt1);
delay(gstab);
rgpulse(pw,one,0.0,0.0);
/* shaped_pulse */
obspower(tpwrs);
shaped_pulse("H2Osinc",pwHs,zero,2.0e-6,0.0);
obspower(tpwr);
/* shaped_pulse */
decoffset(dof); /* jump 13C to 40 ppm */
zgradpulse(gzlvl2,gt2);
delay(gstab);
decrgpulse(pwC,t1,4.0e-6,0.0); decphase(zero);
示例9: pulsesequence
//.........这里部分代码省略.........
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d2_init = d2;
t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5 );
if(t1_counter % 2)
{ tsadd(t3,2,4); tsadd(t11,2,4); }
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
if(t2_counter % 2)
{ tsadd(t5,2,4); tsadd(t11,2,4); }
/* BEGIN PULSE SEQUENCE */
status(A);
if (dm3[B]=='y') lk_sample();
delay(d1);
if (dm3[B]=='y') lk_hold();
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rfC);
obsoffset(tof);
decoffset(dofa);
dec2offset(dof2);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization*/
zgradpulse(gzlvl1, 0.5e-3);
delay(grecov/2);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl1, 0.5e-3);
delay(5.0e-4);
if(dm3[B] == 'y') /*optional 2H decoupling on */
{
dec3unblank();
dec3rgpulse(1/dmf3, one, 0.0, 0.0);
dec3unblank();
setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);
}
rgpulse(pw, t3, 0.0, 0.0); /* 1H pulse excitation */
decphase(zero);
delay(0.5*del + tau1 - 2.0*pwC);
decrgpulse(2.0*pwC, zero, 0.0, 0.0);
txphase(zero);
delay(tau1);
rgpulse(2.0*pw, zero, 0.0, 0.0);
zgradpulse(icosel1*gzlvl1, 0.1*gt1);
decphase(t5);
delay(0.5*del - 0.1*gt1);
simpulse(pw, pwC, zero, t5, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
decphase(zero);
示例10: pulsesequence
void pulsesequence()
{
char c1d[MAXSTR]; /* option to record only 1D C13 spectrum */
int ncyc;
double tau1 = 0.002, /* t1 delay */
post_del = 0.0,
pwClvl = getval("pwClvl"), /* coarse power for C13 pulse */
pwC = getval("pwC"), /* C13 90 degree pulse length at pwClvl */
compC = getval("compC"),
compH = getval("compH"),
mixpwr = getval("mixpwr"),
jCH = getval("jCH"),
gt0 = getval("gt0"),
gt1 = getval("gt1"),
gt2 = getval("gt2"),
gzlvl0 = getval("gzlvl0"),
gzlvl1 = getval("gzlvl1"),
gzlvl2 = getval("gzlvl2"),
grec = getval("grec"),
phase = getval("phase");
getstr("c1d",c1d);
ncyc=1;
if(jCH > 0.0)
tau1 = 0.25/jCH;
dbl(ct, v1); /* v1 = 0 */
mod4(v1,oph);
hlv(ct,v2);
add(v2,v1,v2);
if (phase > 1.5)
incr(v1); /* hypercomplex phase increment */
initval(2.0*(double)((int)(d2*getval("sw1")+0.5)%2),v10);
add(v1,v10,v1);
add(oph,v10,oph);
mod4(v1,v1); mod4(v2,v2); mod4(oph,oph);
assign(zero,v3);
if(FIRST_FID)
{
HHmix = pbox_mix("HHmix", "DIPSI2", mixpwr, pw*compH, tpwr);
if(c1d[A] == 'n')
{
opx("CHdec"); setwave("WURST2 30k/1.2m"); pbox_par("steps","600"); cpx(pwC*compC, pwClvl);
CHdec = getDsh("CHdec");
}
}
ncyc = (int) (at/HHmix.pw) + 1;
post_del = ncyc*HHmix.pw - at;
/* BEGIN PULSE SEQUENCE */
status(A);
zgradpulse(gzlvl0, gt0);
rgpulse(pw, zero, 0.0, 0.0); /* destroy H-1 magnetization*/
zgradpulse(gzlvl0, gt0);
delay(1.0e-4);
obspower(tpwr);
txphase(v1);
decphase(zero);
dec2phase(zero);
presat();
obspower(tpwr);
delay(1.0e-5);
status(B);
if(c1d[A] == 'y')
{
rgpulse(pw,v1,0.0,0.0); /* 1H pulse excitation */
delay(d2);
rgpulse(pw,two,0.0,0.0); /* 1H pulse excitation */
assign(oph,v3);
}
else
{
decunblank(); pbox_decon(&CHdec);
rgpulse(pw,v1,0.0,0.0); /* 1H pulse excitation */
txphase(zero);
delay(d2);
pbox_decoff(); decblank();
decpower(pwClvl); decpwrf(4095.0);
delay(tau1 - POWER_DELAY);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
txphase(one); decphase(one); dec2phase(one);
delay(tau1);
simpulse(pw, pwC, one, one, 0.0, 0.0);
txphase(zero); decphase(zero); dec2phase(zero);
delay(tau1);
simpulse(2.0*pw, 2.0*pwC, zero, zero, 0.0, 0.0);
//.........这里部分代码省略.........
示例11: pulsesequence
//.........这里部分代码省略.........
settable(t5, 4, recT); }
else
{ assign(one,v7);
assign(three,v8);
settable(t1, 4, phi1);
settable(t2, 2, phi2);
settable(t3, 8, phi3);
settable(t4, 1, phi4);
settable(t5, 8, rec); }
if ( phase1 == 2 ) /* Hypercomplex in t1 */
{ if (TROSY[A] == 'y')
{ tsadd(t3, 2, 4); tsadd(t5, 2, 4); }
else tsadd(t2, 1, 4); }
if(t1_counter %2) /* calculate modification to phases based on */
{ tsadd(t2,2,4); tsadd(t5,2,4); tsadd(t6,2,4); } /* current t1 values */
if(wtg3919[0] != 'y')
{ add(one,v7,v7); add(one,v8,v8); }
/* sequence starts!! */
status(A);
obspower(tpwr);
dec2power(pwNlvl);
decpower(pwClvl);
decpwrf(rfst);
if(Hdecflg[0] != 'n')
{
delay(5.0e-5);
rgpulse(pw,zero,rof1,0.0);
rgpulse(pw,one,0.0,rof1);
zgradpulse(1.5*gzlvl3, 0.5e-3);
delay(5.0e-4);
rgpulse(pw,zero,rof1,0.0);
rgpulse(pw,one,0.0,rof1);
zgradpulse(-gzlvl3, 0.5e-3);
}
delay(d1);
rcvroff();
status(B);
rgpulse(pw, zero, rof1, rof1);
zgradpulse(0.3*gzlvl3,gt3);
txphase(zero);
dec2phase(zero);
delay(tauxh-gt3); /* delay=1/4J(XH) */
sim3pulse(2*pw,0.0,2*pwN,t4,zero,zero,rof1,rof1);
zgradpulse(0.3*gzlvl3,gt3);
dec2phase(t2);
delay(tauxh-gt3 ); /* delay=1/4J(XH) */
rgpulse(pw, t1, rof1, rof1);
zgradpulse(0.5*gsign*ihh*gzlvl3,gt3);
delay(200.0e-6);
decphase(zero);
if (TROSY[A] == 'y')
{
示例12: pulsesequence
void pulsesequence()
{
double gzlvl1 = getval("gzlvl1"),
gt1 = getval("gt1"),
gzlvlE = getval("gzlvlE"),
gtE = getval("gtE"),
EDratio = getval("EDratio"),
gzlvl_max = getval("gzlvl_max"),
del = getval("del"),
dosyfrq=getval("sfrq"),
gstab = getval("gstab"),
gzlvlhs = getval("gzlvlhs"),
hsgt = getval("hsgt"),
gtau,tauc,gt4,gzlvl4,Ddelta,dosytimecubed;
char convcomp[MAXSTR],sspul[MAXSTR],lkgate_flg[MAXSTR],satmode[MAXSTR],
alt_grd[MAXSTR],arraystring[MAXSTR];
int iphase, icosel;
//synchronize gradients to srate for probetype='nano'
// Preserve gradient "area"
gt1 = syncGradTime("gt1","gzlvl1",1.0);
gzlvl1 = syncGradLvl("gt1","gzlvl1",1.0);
gtE = syncGradTime("gtE","gzlvlE",1.0);
gzlvlE = syncGradLvl("gtE","gzlvlE",1.0);
getstr("sspul",sspul);
getstr("convcomp",convcomp);
getstr("satmode",satmode);
getstr("lkgate_flg",lkgate_flg);
getstr("alt_grd",alt_grd);
getstr("array",arraystring);
iphase = (int)(getval("phase")+0.5);
icosel = 1;
tau = 1/(2*(getval("jnxh")));
gtau = 2*gstab + GRADIENT_DELAY;
tauc = gtau+gtE-gstab;
if (strcmp(arraystring,"gzlvl1,phase")!=0)
fprintf(stdout,"Warning: array should be 'gzlvl1,phase' for this experiment");
Ddelta=gt1; /* the diffusion-encoding pulse width is gt1 */
if (convcomp[0] == 'y') dosytimecubed=2.0*Ddelta*Ddelta*(del-2.0*(Ddelta/3.0));
else dosytimecubed=2.0*Ddelta*Ddelta*(del-(Ddelta/3.0));
putCmd("makedosyparams(%e,%e)\n",dosytimecubed,dosyfrq);
if (ni>1) putCmd("dosy3Dproc=\'y\'\n");
else putCmd("dosy3Dproc=\'n\'");
if (tau < (gtE+gstab))
{
abort_message("0.5/jnxh must be greater than gtE+gstab");
}
if (tau < (1.0*(gt1+gstab)+del))
{
abort_message("0.5/jnxh must be greater than del+gt1+gstab");
}
settable(t1,2,ph1);
settable(t2,4,ph2);
settable(t3,4,ph3);
assign(zero,v4);
getelem(t1,ct,v1);
getelem(t3,ct,oph);
if (iphase == 2) icosel = -1;
initval(2.0*(double)((int)(d2*getval("sw1")+0.5)%2),v11);
add(v1,v11,v1);
add(v4,v11,v4);
add(oph,v11,oph);
mod2(ct,v10); /* gradients change sign at odd transients */
status(A);
decpower(pwxlvl);
if (sspul[0] == 'y')
{
zgradpulse(gzlvlhs,hsgt);
rgpulse(pw,zero,rof1,rof1);
zgradpulse(gzlvlhs,hsgt);
}
if (lkgate_flg[0]=='y') lk_sample(); /* turn lock sampling on */
if (convcomp[0]=='y')
gt4=gt1*2.0;
else
gt4=gt1;
gzlvl4=sqrt(gzlvl_max*gzlvl_max-gzlvl1*gzlvl1);
if (satmode[0] == 'y')
{
if (d1 - satdly > 0) delay(d1 - satdly);
obspower(satpwr);
rgpulse(satdly,zero,rof1,rof1);
obspower(tpwr);
}
else
{ delay(d1); }
if (getflag("wet")) wet4(zero,one);
//.........这里部分代码省略.........
示例13: pulsesequence
//.........这里部分代码省略.........
{ tau2 += ( 1.0 / (2.0*sw2) ); if(tau2 < 0.2e-6) tau2 = 0.0; }
tau2 = tau2/2.0;
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d2_init = d2;
t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5 );
if(t1_counter % 2)
{ tsadd(t3,2,4); tsadd(t12,2,4); }
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
if(t2_counter % 2)
{ tsadd(t8,2,4); tsadd(t12,2,4); }
/* BEGIN PULSE SEQUENCE */
status(A);
delay(d1);
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rf0);
obsoffset(tof);
txphase(zero);
delay(1.0e-5);
dec2rgpulse(pwN, zero, 0.0, 0.0); /*destroy N15 and C13 magnetization*/
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(gzlvl0, 0.5e-3);
delay(1.0e-4);
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, zero, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
delay(5.0e-4);
rgpulse(pw,zero,0.0,0.0); /* 1H pulse excitation */
dec2phase(zero);
zgradpulse(gzlvl0, gt0);
delay(lambda - gt0);
sim3pulse(2.0*pw, 0.0, 2.0*pwN, zero, zero, zero, 0.0, 0.0);
txphase(one);
zgradpulse(gzlvl0, gt0);
delay(lambda - gt0);
rgpulse(pw, one, 0.0, 0.0);
txphase(zero);
if (tpwrsf<4095.0) {obspower(tpwrs+6.0); obspwrf(tpwrsf);}
else obspower(tpwrs);
shaped_pulse("H2Osinc", pwHs, zero, 5.0e-4, 0.0);
obspower(tpwrd); obspwrf(4095.0);
zgradpulse(gzlvl3, gt3);
delay(2.0e-4);
dec2rgpulse(pwN, zero, 0.0, 0.0);
txphase(one);
delay(kappa - pwHd - 2.0e-6 - PRG_START_DELAY);
示例14: pulsesequence
pulsesequence()
{
double del = getval("del"),
gstab = getval("gstab"),
gt1 = getval("gt1"),
gzlvl1 = getval("gzlvl1"),
gt2 = getval("gt2"),
gzlvl2 = getval("gzlvl2"),
gt0 = getval("gt0"),
gzlvl0 = getval("gzlvl0"),
gths = getval("gths"),
gzlvlhs = getval("gzlvlhs"),
satpwr = getval("satpwr"),
satdly = getval("satdly"),
satfrq = getval("satfrq"),
trim = getval("trim"),
trimpwr = getval("trimpwr"),
mix = getval("mix"),
wrefpwr = getval("wrefpwr"),
wrefpw = getval("wrefpw"),
wrefpwrf = getval("wrefpwrf");
char delflag[MAXSTR],satmode[MAXSTR],dpfgse_flg[MAXSTR],sspul[MAXSTR],
trim_flg[MAXSTR],alt_grd[MAXSTR],wrefshape[MAXSTR];
getstr("delflag",delflag);
getstr("satmode",satmode);
getstr("dpfgse_flg",dpfgse_flg);
getstr("trim_flg", trim_flg);
getstr("alt_grd",alt_grd);
getstr("wrefshape", wrefshape);
getstr("sspul",sspul);
if (alt_grd[0] == 'y') mod2(ct,v6);
/* alternate gradient sign on every 2nd transient */
/* SET PHASES */
sub(ct,ssctr,v12); /* Steady-state phase cycling */
settable(t1, 2, phi1); getelem(t1,v12,v1);
settable(t2, 8, phi2); getelem(t2,v12,v2);
settable(t3,16, phi3); getelem(t3,v12,v3);
settable(t4,64, phi4); getelem(t4,v12,v4);
settable(t5,64, rec); getelem(t5,v12,oph);
/* equilibrium period */
status(A);
obspower(tpwr);
if (sspul[A] == 'y')
{
zgradpulse(gzlvl0,gt0);
rgpulse(pw,zero,rof1,rof1);
zgradpulse(gzlvl0,gt0);
}
if (satmode[0] == 'y')
{
if (d1 - satdly > 0) delay(d1 - satdly);
else delay(0.02);
obspower(satpwr);
if (satfrq != tof) obsoffset(satfrq);
rgpulse(satdly,zero,rof1,rof1);
if (satfrq != tof) obsoffset(tof);
obspower(tpwr);
delay(1.0e-5);
}
else delay(d1);
status(B);
/* first part of bppdel sequence */
if (delflag[0]=='y')
{ if (gt1>0 && gzlvl1>0)
{ rgpulse(pw, zero, rof1, 0.0); /* first 90, zero */
ifzero(v6); zgradpulse(gzlvl1,gt1/2.0);
elsenz(v6); zgradpulse(-1.0*gzlvl1,gt1/2.0); endif(v6);
delay(gstab);
rgpulse(pw*2.0, zero, rof1, 0.0); /* first 180, zero */
ifzero(v6); zgradpulse(-1.0*gzlvl1,gt1/2.0);
elsenz(v6); zgradpulse(gzlvl1,gt1/2.0); endif(v6);
delay(gstab);
rgpulse(pw, v1, rof1, 0.0); /* second 90, v1 */
if (satmode[1] == 'y')
{
obspower(satpwr);
rgpulse(del-4.0*pw-3.0*rof1-gt1-2.0*gstab,zero,rof1,rof1);
obspower(tpwr);
}
else
{
delay(del-4.0*pw-3.0*rof1-gt1-2.0*gstab);/*diffusion delay */
}
rgpulse(pw, v2, rof1, 0.0); /* third 90, v2 */
ifzero(v6); zgradpulse(gzlvl1,gt1/2.0);
elsenz(v6); zgradpulse(-1.0*gzlvl1,gt1/2.0); endif(v6);
delay(gstab);
rgpulse(pw*2.0, zero, rof1, rof1); /* second 180, zero */
ifzero(v6); zgradpulse(-1.0*gzlvl1,gt1/2.0);
elsenz(v6); zgradpulse(gzlvl1,gt1/2.0); endif(v6);
delay(gstab);
rgpulse(pw, v3, rof1, rof1); /* mixing 90, v3 */
delay(0.7*mix);
//.........这里部分代码省略.........
示例15: pulsesequence
//.........这里部分代码省略.........
tau1 = 1.0 * t1_counter * cos_H / swTilt;
tau2 = 1.0 * t1_counter * cos_C / swTilt;
tau3 = 1.0 * t1_counter * cos_N / swTilt;
tau1 = tau1/2.0; tau2 = tau2/2.0; tau3 =tau3/2.0;
if (ix ==1 )
{
printf ("Current Spectral Width:\t\t%5.2f\n", swTilt);
printf ("Angle_H: %5.2f \n", angle_H);
printf ("Angle_C: %5.2f \n", angle_C);
printf ("Angle_N: %5.2f \n", angle_N);
printf ("\n\n\n\n\n");
}
/* BEGIN ACTUAL PULSE SEQUENCE */
status(A);
delay(d1);
rcvroff();
obsoffset(tofali); obspower(tpwr); obspwrf(4095.0);
decoffset(dof); decpower(pwClvl); decpwrf(rf0);
dec2offset(dof2); dec2power(pwNlvl); dec2pwrf(4095.0);
if (gt0 > 0.2e-6)
{
decrgpulse(pwC,zero,10.0e-6,0.0);
dec2rgpulse(pwN,zero,2.0e-6,2.0e-6);
zgradpulse(gzlvl0,gt0);
delay(gstab);
}
txphase(t1); decphase(t2); dec2phase(zero);
status(B);
rgpulse(pw,t1,4.0e-6,2.0e-6);
zgradpulse(gzlvl3,gt3);
delay(2.0*tauCH - gt3 - 2.0*GRADIENT_DELAY -4.0e-6);
decrgpulse(pwC,t2,2.0e-6,2.0e-6);
decphase(zero);
/*======= Start of c13 evolution ==========*/
if ( ((tau2 -PRG_START_DELAY - POWER_DELAY -pwN - 2.0*pwC/PI -2.0e-6)> 0)
&& ((tau2 -PRG_STOP_DELAY - POWER_DELAY - pwN - 2.0*pwC/PI -2.0e-6)>0)
&& (codec[A] == 'y') )
{
decpower(copwr); decpwrf(copwrf);
decprgon(codecseq,1/codmf,cores);
decon();
delay(tau2 -PRG_START_DELAY - POWER_DELAY -pwN - 2.0*pwC/PI -2.0e-6);
sim3pulse(2.0*pw, 0.0, 2.0*pwN, t1, zero, zero, 0.0, 0.0);
delay(tau2 -PRG_STOP_DELAY - POWER_DELAY - pwN - 2.0*pwC/PI -2.0e-6);
decoff();
decprgoff();
}