本文整理汇总了C++中decrgpulse函数的典型用法代码示例。如果您正苦于以下问题:C++ decrgpulse函数的具体用法?C++ decrgpulse怎么用?C++ decrgpulse使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了decrgpulse函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pulsesequence
pulsesequence() {
// Define Variables and Objects and Get Parameter Values
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
DSEQ dec = getdseq("H");
strncpy(dec.t.ch,"dec",3);
putCmd("chHtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chHspinal='dec'\n");
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = getval("pw1Hhytrap") + getval("pw2Hhytrap") + getval("tHX");
d.dutyoff = d1 + 4.0e-6 + getval("t1HYtrap") + getval("t2HYtrap");
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = getval("rd") + getval("ad") + at;
d.c2 = d.c2 + (!strcmp(dec.seq,"spinal"));
d.c2 = d.c2 + ((!strcmp(dec.seq,"spinal")) && (dec.s.a > 0.0));
d.t2 = getval("rd") + getval("ad") + at;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(ph1Hhytrap,4,table1);
settable(phYhytrap,4,table2);
settable(ph2Hhytrap,4,table3);
settable(phXhx,4,table4);
settable(phHhx,4,table5);
settable(phRec,4,table6);
setreceiver(phRec);
// Begin Sequence
txphase(phXhx); decphase(ph1Hhytrap); dec2phase(phYhytrap);
obspwrf(getval("aXhx")); decpwrf(getval("aHhytrap")); dec2pwrf(getval("aYhytrap"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// TRAPDOR on H with Y Modulation
decrgpulse(getval("pw1Hhytrap"),ph1Hhytrap,0.0,0.0);
decphase(ph2Hhytrap);
decunblank();
dec2on();
delay(getval("t1HYtrap"));
dec2off();
decrgpulse(getval("pw2Hhytrap"),ph2Hhytrap,0.0,0.0);
decphase(phHhx);
decunblank();
decphase(phHhx);
decpwrf(getval("aHhx"));
delay(getval("t2HYtrap"));
// H to X Cross Polarization
_cp_(hx,phHhx,phXhx);
// Begin Acquisition
_dseqon(dec);
obsblank(); _blank34();
delay(getval("rd"));
startacq(getval("ad"));
acquire(np, 1/sw);
endacq();
_dseqoff(dec);
obsunblank(); decunblank(); _unblank34();
}
示例2: pulsesequence
//.........这里部分代码省略.........
/* shaped pulse */
rgpulse(pw,zero,rof1,0.0); /* 90 1H */
zgradpulse(gzlvl0*0.9,gt0);
delay(gstab);
delay(tauhn - gt0 - gstab - 2.0*pwN); /* 1/(4JNH) */
sim3pulse(2.0*pw,0.0,2.0*pwN,zero,zero,zero,rof1,rof1); /* 180 1H and 15N */
delay(tauhn - gt0 - gstab - 2.0*pwN); /* 1/(4JNH) */
zgradpulse(gzlvl0*0.9,gt0);
delay(gstab);
rgpulse(pw,one,rof1,0.0); /* 90 1H */
/* shaped pulse WATER-FLIP-back */
obspower(tpwrs); obspwrf(tpwrsf_u);
shaped_pulse("H2Osinc_u",pwHs,three,rof1,0.0);
obspower(tpwr); obspwrf(4095.0);
/* shaped pulse */
}
/* End of filter section */
zgradpulse(gzlvl3*0.9,gt3);
delay(gstab);
rgpulse(2.0*pw,zero,rof1,0.0);
decpwrf(rf90onco); /* Set decoupler power to rf90onco */
decrgpulse(pw90onco,t4,0.0,0.0); /* 90 for 13C */
/* record 13C' frequences and 13C'-15N coupling */
delay(tau1);
decpwrf(rf180offca); /* Set decoupler power to rf180offca */
simshaped_pulse("","offC3",2.0*pw,pw180offca,zero,zero,rof1,rof1); /* 180 for 1H and 13CA */
decphase(zero);
decpwrf(rf180onco);
delay(tau1);
if (lambda>0.0)
{
delay(lambda*tau1);
sim3pulse(0.0,pw180onco,2.0*pwN,zero,t5,zero,0.0,0.0);
delay(lambda*tau1);
}
else decrgpulse(pw180onco,t5,0.0,0.0);
decpwrf(rf180offca); /* Set decoupler power to rf180offca */
simshaped_pulse("","offC3",0.0,pw180offca,zero,zero,0.0,0.0); /* 180 CA */
decphase(zero);
decpwrf(rf90onco);
/* start reverse transfer from CO to N by INEPT */
decrgpulse(pw90onco,zero,0.0,0.0); /* 90 for 13C' */
zgradpulse(gzlvl3*0.7,gt3);
delay(gstab);
dec2rgpulse(pwN,t1,0.0,0.0); /* 90 for 15N */
delay((taunco - tauhn) - kappa*tau2); /* 1/4J(NCO) - 1/4J(NH) - kt2/2 */
示例3: pulsesequence
//.........这里部分代码省略.........
if(p180 > 0.0)
{
decoff();
if (dm[1] == 'y') decon();
rgpulse(p180, zero, rof1, 0.0);
delay(d2);
}
rcvroff();
rgpulse(pw, t1,rof1, 0.0);
decoff();
if (dm[2] == 'y') decon();
}
else
{
settable(t1,4,table1);
settable(t2,4,table2);
settable(t3,4,table3);
settable(t4,4,table4);
status(A);
setreceiver(t1);
obs_pw_ovr(TRUE);
dec_pw_ovr(TRUE);
declvloff();
decpwrf(crossp);
obspwrf(tpwrm);
txphase(t3);
delay(d1);
if(p180 > 0.0)
{
decrgpulse(p180, zero, rof1, 0.0);
delay(d2);
}
rcvroff();
decphase(t2);
delay(rof1);
decon();
delay(pw - 0.8e-6);
decphase(zero);
delay(0.8e-6);
xmtron();
delay(cntct);
xmtroff();
/*optional spin lock for 13C T1rho*/
if (pcrho > 0.0)
{
decoff();
if (dm[1] == 'y') decon();
xmtron();
delay(pcrho);
xmtroff();
}
decpwrf(dipolr);
decoff();
if (dm[2] == 'y')
{
decon();
}
}
示例4: pulsesequence
void pulsesequence()
{
double tpwr180r = getval("tpwr180r"),
pw180r = getval("pw180r"),
pwx180 = getval("dnbippw"),
pwxlvl180 = getval("dnbippwr"),
pp = getval("pp"),
pplvl = getval("pplvl"),
tauC = getval("tauC"),
tau;
int prgcycle=(int)(getval("prgcycle")+0.5);
char pw180ref[MAXSTR],
dnbipshp[MAXSTR],
bipflg[MAXSTR];
getstr("pw180ref", pw180ref);
getstr("dnbipshp", dnbipshp);
getstr("bipflg",bipflg);
tau = 1.0 / (2.0 * (getval("j1xh")));
assign(ct,v17);
assign(zero,v18);
assign(zero,v19);
if (getflag("prgflg") && getflag("satmode") && (prgcycle > 1.5))
{
hlv(ct,v17);
mod2(ct,v18); dbl(v18,v18);
if (prgcycle > 2.5)
{
hlv(v17,v17);
hlv(ct,v19); mod2(v19,v19); dbl(v19,v19);
}
}
settable(t1,4,phs1);
settable(t2,8,phs2);
settable(t3,4,phs3);
getelem(t1,v17,v1);
getelem(t2,v17,v2);
getelem(t3,v17,v3);
assign(v1,oph);
add(oph,v18,oph);
add(oph,v19,oph);
if (getflag("prgflg") && getflag("satmode"))
assign(v3,v2);
/* equilibrium period */
status(A);
delay(5.0e-5);
if (getflag("sspul"))
steadystate();
if (getflag("satmode"))
{
if ((d1-satdly) > 0.02)
delay(d1-satdly);
else
delay(0.02);
if (getflag("slpsat"))
{
shaped_satpulse("relaxD",satdly,v2);
if (getflag("prgflg"))
shaped_purge(v1,v2,v18,v19);
}
else
{
satpulse(satdly,v2,rof1,rof1);
if (getflag("prgflg"))
purge(v1,v2,v18,v19);
}
}
else
delay(d1);
if (getflag("wet"))
wet4(zero,one);
status(B);
obspower(tpwr);
if (bipflg[1] == 'y')
decpower(pwxlvl180);
else
decpower(pplvl);
rgpulse(pw,v1,rof1,rof1);
if (bipflg[1] == 'y')
{
decshaped_pulse(dnbipshp,pwx180,zero,2.0e-6,2.0e-6);
delay(tau+tauC);
}
else
{
decrgpulse(2*pp,zero,2.0e-6,2.0e-6);
delay(tau);
}
obspower(tpwr180r);
//.........这里部分代码省略.........
示例5: pulsesequence
//.........这里部分代码省略.........
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();
if ((ni/sw1-d2)>0)
delay(ni/sw1-d2); /*decreases as t1 increases for const.heating*/
if ((ni2/sw2-d3)>0)
delay(ni2/sw2-d3); /*decreases as t2 increases for const.heating*/
delay(d1);
if ( dm3[B] == 'y' )
{ lk_hold(); lk_sampling_off();} /*freezes z0 correction, stops lock pulsing*/
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rf0);
obsoffset(tof);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization*/
zgradpulse(gzlvl1, 0.5e-3);
delay(1.0e-4);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl1, 0.5e-3);
delay(5.0e-4);
if ( dm3[B] == 'y' ) /* begins optional 2H decoupling */
{
dec3rgpulse(1/dmf3,one,10.0e-6,2.0e-6);
dec3unblank();
dec3phase(zero);
delay(2.0e-6);
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);
if (mag_flg[A] == 'y')
{
magradpulse(icosel1*gzcal*gzlvl1,0.1*gt1);
}
else
{
示例6: pulsesequence
//.........这里部分代码省略.........
rgpulse(pw,one,0.0,0.0);
rgpulse(2.0*pw,zero,0.0,0.0);
rgpulse(pw,one,0.0,0.0);
delay( zeta - 1.34e-3 - 2.0*pw + pwS4 );
dec2rgpulse(2*pwN,zero,0.0,0.0);
c13pulse("co", "ca", "sinc", 180.0, zero, 0.0, 0.0);
dec2phase(one);
delay(zeta - 2.0e-6);
dec2rgpulse(pwN,one,2.0e-6,0.0);
}
dec2phase(zero); decphase(zero);
delay(0.2e-6);
zgradpulse(gzlvl3, gt3);
delay(gstab);
/* xxxxxxxxxxxxxxxxxxxxx 13CO to 13CA TRANSFER xxxxxxxxxxxxxxxxxxxxxxx */
c13pulse("co", "ca", "sinc", 90.0, zero, 2.0e-6, 0.0);
delay(2.0e-7);
zgradpulse(gzlvl10, gt10);
delay(100.0e-6);
delay(tauc - POWER_DELAY - gt10 - 100.2e-6 - (0.5*10.933*pwC));
decrgpulse(pwC*158.0/90.0, zero, 0.0, 0.0);
decrgpulse(pwC*171.2/90.0, two, 0.0, 0.0);
decrgpulse(pwC*342.8/90.0, zero, 0.0, 0.0); /* Shaka 6 composite */
decrgpulse(pwC*145.5/90.0, two, 0.0, 0.0);
decrgpulse(pwC*81.2/90.0, zero, 0.0, 0.0);
decrgpulse(pwC*85.3/90.0, two, 0.0, 0.0);
delay(2.0e-7);
zgradpulse(gzlvl10, gt10);
delay(100.0e-6);
delay(tauc - POWER_DELAY - 4.0e-6 - gt10 - 100.2e-6 - (0.5*10.933*pwC));
c13pulse("co", "ca", "sinc", 90.0, one, 4.0e-6, 0.0);
set_c13offset("ca"); /* change Dec1 carrier to Ca (55 ppm) */
delay(0.2e-6);
zgradpulse(gzlvl9, gt9);
delay(gstab);
/* xxxxxxxxxxxxxxxxxx 13CA EVOLUTION xxxxxxxxxxxxxxxxxxxxxx */
/* Turn on D decoupling using the third decoupler */
dec3unblank(); dec3rgpulse(1/dmf3, one, 0.0, 0.0);
dec3unblank(); setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);
/* Turn on D decoupling */
c13pulse("ca", "co", "square", 90.0, t5, 2.0e-6, 0.0);
if (fCTCa[A]=='y')
{
/* Constant t2 */
decpower(cbpwr);
decphase(zero);
示例7: dipsi3b
void dipsi3b()
{
decrgpulse(2.722*p1,three,0.0,0.0); /*245 deg pulse */
decrgpulse(4.389*p1,one,0.0,0.0); /*395 deg pulse */
decrgpulse(2.778*p1,three,0.0,0.0); /*250 deg pulse */
decrgpulse(3.056*p1,one,0.0,0.0); /*275 deg pulse */
decrgpulse(0.333*p1,three,0.0,0.0); /* 30 deg pulse */
decrgpulse(2.556*p1,one,0.0,0.0); /*230 deg pulse */
decrgpulse(4.000*p1,three,0.0,0.0); /*360 deg pulse */
decrgpulse(2.722*p1,one,0.0,0.0); /*245 deg pulse */
decrgpulse(4.111*p1,three,0.0,0.0); /*370 deg pulse */
decrgpulse(3.778*p1,one,0.0,0.0); /*340 deg pulse */
decrgpulse(3.889*p1,three,0.0,0.0); /*350 deg pulse */
decrgpulse(2.889*p1,one,0.0,0.0); /*260 deg pulse */
decrgpulse(3.000*p1,three,0.0,0.0); /*270 deg pulse */
decrgpulse(0.333*p1,one,0.0,0.0); /* 30 deg pulse */
decrgpulse(2.500*p1,three,0.0,0.0); /*225 deg pulse */
decrgpulse(4.056*p1,one,0.0,0.0); /*365 deg pulse */
decrgpulse(2.833*p1,three,0.0,0.0); /*255 deg pulse */
decrgpulse(4.389*p1,one,0.0,0.0); /*395 deg pulse */
}
示例8: pulsesequence
//.........这里部分代码省略.........
if((f2180[A] == 'y') && (ni2 > 1.0))
{ 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);
示例9: pulsesequence
//.........这里部分代码省略.........
}
else zgradpulse(-1.0*gzlvl1,gt1);
delay((tau - 1.0e-6 - (2*pw/PI)-del-2.333*gt1)/2.0);
}
else
{
delay((tau - 1.0e-6 - (2*pw/PI)-del-gt1-gstab)/2.0);
if (alt_grd[0] == 'y')
{ ifzero(v10);
zgradpulse(gzlvl1,gt1);
elsenz(v10);
zgradpulse(-1.0*gzlvl1,gt1);
endif(v10);
}
else zgradpulse(gzlvl1,gt1);
if (satmode[1] == 'y')
{ obspower(satpwr);
rgpulse(del-gt1-2.0*rof1,zero,rof1,rof1);
obspower(tpwr);
}
else delay(del-gt1);
if (alt_grd[0] == 'y')
{ ifzero(v10);
zgradpulse(gzlvl1,gt1);
elsenz(v10);
zgradpulse(-1.0*gzlvl1,gt1);
endif(v10);
}
else zgradpulse(gzlvl1,gt1);
delay(gstab);
delay((tau - 1.0e-6 - (2*pw/PI)-del-gt1-gstab)/2.0);
}
decrgpulse(pwx,v1,1.0e-6,1.0e-6);
delay(gtE+gtau);
decrgpulse(2*pwx,v4,1.0e-6,1.0e-6);
delay(gstab);
if (alt_grd[0] == 'y')
{ ifzero(v10);
zgradpulse(gzlvlE,gtE);
elsenz(v10);
zgradpulse(-1.0*gzlvlE,gtE);
endif(v10);
}
else zgradpulse(gzlvlE,gtE);
delay(gstab);
if (d2/2 > pw)
delay(d2/2 - pw);
else
delay(d2/2);
rgpulse(2.0*pw,zero,1.0e-6,1.0e-6);
if (d2/2 > pw)
delay(d2/2 - pw);
else
delay(d2/2);
delay(gstab);
if (alt_grd[0] == 'y')
{ ifzero(v10);
zgradpulse(gzlvlE,gtE);
elsenz(v10);
zgradpulse(-1.0*gzlvlE,gtE);
endif(v10);
}
else zgradpulse(gzlvlE,gtE);
示例10: pulsesequence
void pulsesequence() {
//
// Set the Maximum Dynamic Table Number
//
settablenumber(10);
setvvarnumber(30);
//Define Variables and Objects and Get Parameter Values
CP hx = getcp("HX",0.0,0.0,0,1);
strncpy(hx.fr,"dec",3);
strncpy(hx.to,"obs",3);
putCmd("frHX='dec'\n");
putCmd("toHX='obs'\n");
WMPA cpmg = getcpmg("cpmgX");
strncpy(cpmg.ch,"obs",3);
putCmd("chXcpmg='obs'\n");
double aXecho = getval("aXecho"); // define the echoX group in the sequence
double t1Xechoinit = getval("t1Xecho");
double pwXecho = getval("pwXecho");
double t2Xechoinit = getval("t2Xecho");
double t1Xecho = t1Xechoinit - pwXecho/2.0 - getval("pwX90")/2.0;
if (t1Xecho < 0.0) t1Xecho = 0.0;
double t2Xecho = t2Xechoinit - pwXecho/2.0 - cpmg.r1 - cpmg.t2 - getval("ad");
if (t2Xecho < 0.0) t2Xecho = 0.0;
DSEQ dec = getdseq("H");
strncpy(dec.t.ch,"dec",3);
putCmd("chHtppm='dec'\n");
strncpy(dec.s.ch,"dec",3);
putCmd("chHspinal='dec'\n");
//--------------------------------------
// Copy Current Parameters to Processed
//-------------------------------------
putCmd("groupcopy('current','processed','acquisition')");
// Dutycycle Protection
DUTY d = init_dutycycle();
d.dutyon = getval("pwH90") + getval("tHX") + pwXecho + (cpmg.cycles - 1)*cpmg.pw;
d.dutyoff = d1 + 4.0e-6;
d.c1 = d.c1 + (!strcmp(dec.seq,"tppm"));
d.c1 = d.c1 + ((!strcmp(dec.seq,"tppm")) && (dec.t.a > 0.0));
d.t1 = t1Xecho + t2Xecho + getval("rd") + getval("ad") +
at - (cpmg.cycles - 1)*cpmg.pw;
d.c2 = d.c2 + (!strcmp(dec.seq,"spinal"));
d.c2 = d.c2 + ((!strcmp(dec.seq,"spinal")) && (dec.s.a > 0.0));
d.t2 = t1Xecho + t2Xecho + getval("rd") + getval("ad") +
at - (cpmg.cycles - 1)*cpmg.pw;
d = update_dutycycle(d);
abort_dutycycle(d,10.0);
// Set Phase Tables
settable(phH90,64,table1);
settable(phXhx,64,table2);
settable(phHhx,64,table3);
settable(phXecho,64,table4);
settable(phXcpmg,64,table5);
settable(phRec,64,table6);
setreceiver(phRec);
// Begin Sequence
txphase(phXhx); decphase(phH90);
obspwrf(getval("aXhx")); decpwrf(getval("aH90"));
obsunblank(); decunblank(); _unblank34();
delay(d1);
sp1on(); delay(2.0e-6); sp1off(); delay(2.0e-6);
// H to X Cross Polarization
decrgpulse(getval("pwH90"),phH90,0.0,0.0);
decphase(phHhx);
_cp_(hx,phHhx,phXhx);
// H Decoupling On
decphase(zero);
_dseqon(dec);
// X Hahn Echo
txphase(phXecho);
obspwrf(aXecho);
delay(t1Xecho);
rgpulse(pwXecho,phXecho,0.0,0.0);
delay(t2Xecho);
// Apply CPMG Cycles
obsblank(); _blank34();
delay(cpmg.r1);
//.........这里部分代码省略.........
示例11: pulsesequence
//.........这里部分代码省略.........
if (t2_counter % 2)
{
tsadd(t5, 2, 4);
tsadd(t11, 2, 4);
}
/* BEGIN PULSE SEQUENCE */
status(A);
if (dm3[B] == 'y')
lk_sample();
if ((ni / sw1 - d2) > 0)
delay(ni / sw1 - d2); /*decreases as t1 increases for const.heating */
if ((ni2 / sw2 - d3) > 0)
delay(ni2 / sw2 - d3); /*decreases as t2 increases for const.heating */
delay(d1);
if (dm3[B] == 'y')
{
lk_hold();
lk_sampling_off();
} /*freezes z0 correction, stops lock pulsing */
rcvroff();
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
decpwrf(rf0);
obsoffset(tof);
txphase(t3);
delay(1.0e-5);
decrgpulse(pwC, zero, 0.0, 0.0); /*destroy C13 magnetization */
zgradpulse(gzlvl0, 0.5e-3);
delay(1.0e-4);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7 * gzlvl0, 0.5e-3);
delay(5.0e-4);
if (dm3[B] == 'y') /* begins optional 2H decoupling */
{
dec3rgpulse(1 / dmf3, one, 10.0e-6, 2.0e-6);
dec3unblank();
dec3phase(zero);
delay(2.0e-6);
setstatus(DEC3ch, TRUE, 'w', FALSE, dmf3);
}
rgpulse(pw, t3, 0.0, 0.0); /* 1H pulse excitation */
zgradpulse(gzlvl0, gt0); /* 2.0*GRADIENT_DELAY */
decphase(zero);
delay(taua + tau1 - gt0 - 2.0 * GRADIENT_DELAY - 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(gzlvl0, gt0);
txphase(one);
decphase(t5);
delay(taua - gt0);
rgpulse(pw, one, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
delay(2.0e-4);
decrgpulse(pwC, t5, 0.0, 0.0);
delay(tau2);
示例12: pulsesequence
//.........这里部分代码省略.........
if(t1_counter % 2)
{
tsadd(t1,2,4);
tsadd(t4,2,4);
tsadd(t5,2,4);
tsadd(t11,2,4);
}
/* Calculate modifications to phases for States-TPPI acquisition */
if( ix == 1) d3_init = d3;
t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 );
/* BEGIN PULSE SEQUENCE */
status(A);
dofa = dof - 35.0*dfrq; /*start at C2' */
obspower(tpwr);
decpower(pwClvl);
dec2power(pwNlvl);
obsoffset(tof);
decoffset(dofa);
dec2offset(dof2);
txphase(zero);
decphase(zero);
dec2phase(zero);
delay(d1);
rcvroff();
status(B);
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/2);
dec2rgpulse(pwN, one, 0.0, 0.0);
decrgpulse(pwC, one, 0.0, 0.0);
zgradpulse(0.7*gzlvl0, 0.5e-3);
delay(5.0e-4);
rgpulse(calH*pw,zero,0.0,0.0); /* 1H pulse excitation */
decphase(t4);
delay(2.0*lambda);
decrgpulse(calC*pwC, t4, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
obspower(pwH_Sel_lvl);
decphase(zero);
delay(taucc -lambda - gt3 - WFG2_START_DELAY - pwH_Sel_pw/2.0 + 70.0e-6);
shaped_pulse(pwH_Sel_Shape, pwH_Sel_pw, zero, 0.0, 0.0);
delay(lambda - pwH_Sel_pw/2.5);
decrgpulse(2.0*pwC, t1, 0.0, 0.0);
zgradpulse(gzlvl3, gt3);
obspower(tpwr);
decphase(t5);
txphase(t2);
delay(taucc - gt3);
simpulse(pw, pwC, t2, t5, 0.0, 0.0);
zgradpulse(gzlvl4, gt4); /* 2.0*GRADIENT_DELAY */
txphase(zero);
decphase(t3);
示例13: pulsesequence
//.........这里部分代码省略.........
rlpower(dhpwr,DODEV); /* Set Dec1 power for 13C pulses */
rlpower(dhpwr2,DO2DEV); /* Set Dec2 power for 15N pulses */
obsoffset(tof);
/* Presaturation Period */
status(B);
if (fsat[0] == 'y')
{
delay(2.0e-5);
rgpulse(d1,zero,2.0e-6,2.0e-6); /* presaturation */
rlpower(tpwr,TODEV); /* 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);
}
rlpower(tpwr,TODEV); /* Set transmitter power for 1H CPMG pulses */
txphase(zero);
dec2phase(zero);
decphase(zero);
delay(1.0e-5);
/* Begin Pulses */
status(C);
rcvroff();
delay(20.0e-6);
decrgpulse(pwc,zero,4.0e-6,0.0);
delay(2.0e-6);
rgradient('z',gzlvl1);
delay(gt1);
rgradient('z',0.0);
delay(250.0e-6);
rgpulse(pw,zero,0.0,0.0);
decpower(d_reb);
delay(2.0e-6);
rgradient('z',gzlvl2);
delay(gt2);
rgradient('z',0.0);
delay(150.0e-6);
if(filter_flg[A] == 'y')
delay(taua - POWER_DELAY - gt2 - 152e-6
- WFG2_START_DELAY - 0.5*pwc_reb - 4.0/PI*pw);
else
delay(taua - POWER_DELAY - gt2 - 152e-6
- WFG2_START_DELAY - 0.5*pwc_reb);
simshaped_pulse("hard",sh_reb,2.0*pw,pwc_reb,zero,zero,0.0,0.0);
txphase(one);
decpower(dhpwr);
decphase(t4);
delay(taua - 0.5*pwc_reb - WFG2_STOP_DELAY - POWER_DELAY - gt2 - 152e-6 );
delay(2.0e-6);
rgradient('z',gzlvl2);
delay(gt2);
rgradient('z',0.0);
delay(150.0e-6);
if(filter_flg[A] == 'n')
rgpulse(pw,one,0.0,0.0);
if(filter_flg[A] == 'y') {
decrgpulse(pwc,t4,0.,0.);
示例14: pulsesequence
pulsesequence()
{
double gzlvlE = getval("gzlvlE"),
gtE = getval("gtE"),
EDratio = getval("EDratio"),
gstab = getval("gstab"),
mult = getval("mult"),
hsglvl = getval("hsglvl"),
hsgt = getval("hsgt"),
tau,
evolcorr,
taug;
int icosel,
phase1 = (int)(getval("phase")+0.5),
ZZgsign;
//synchronize gradients to srate for probetype='nano'
// Preserve gradient "area"
gtE = syncGradTime("gtE","gzlvlE",0.5);
gzlvlE = syncGradLvl("gtE","gzlvlE",0.5);
tau = 1/(4*(getval("j1xh")));
evolcorr = 2*pw+4.0e-6;
if (mult > 0.5)
taug = 2*tau;
else
taug = gtE + gstab + 2*GRADIENT_DELAY;
ZZgsign=-1;
if (mult == 2) ZZgsign=1;
icosel = 1;
settable(t1,4,ph1);
settable(t2,2,ph2);
settable(t3,8,ph3);
settable(t4,16,ph4);
settable(t5,16,ph5);
getelem(t2,ct,v2);
getelem(t5,ct,oph);
/*
mod2(id2,v14);
dbl(v14,v14);
*/
initval(2.0*(double)(((int)(d2*getval("sw1")+0.5)%2)),v14);
if ((phase1 == 2) || (phase1 == 5))
icosel = -1;
add(v2,v14,v2);
add(oph,v14,oph);
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,zero,rof1,rof1);
}
else
delay(d1);
if (getflag("wet"))
wet4(zero,one);
decpower(pwxlvl);
status(B);
if (getflag("nullflg"))
{
rgpulse(0.5*pw,zero,rof1,rof1);
delay(2*tau);
simpulse(2.0*pw,2.0*pwx,zero,zero,rof1,rof1);
delay(2*tau);
rgpulse(1.5*pw,two,rof1,rof1);
zgradpulse(hsglvl,hsgt);
delay(1e-3);
}
rgpulse(pw,zero,rof1,rof1);
delay(tau);
simpulse(2*pw,2*pwx,zero,zero,rof1,rof1);
delay(tau);
rgpulse(pw,t1,rof1,rof1);
zgradpulse(hsglvl,2*hsgt);
delay(1e-3);
decrgpulse(pwx,v2,rof1,2.0e-6);
delay(d2/2);
rgpulse(2*pw,zero,2.0e-6,2.0e-6);
//.........这里部分代码省略.........
示例15: pulsesequence
//.........这里部分代码省略.........
if ( phase2 == 1 ) { tsadd(t5,2,4); icosel = 1; }
else icosel = -1;
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();