Protocol: Cncc4ds  Sequence: cncc4ds.c  Apptype: solidseq1d

Description:  A sequence for 4D chemical-shift correlation with
              F1 = X, F2 = Y, F3 = X and F4 = X. Uses specific
              CP to mix channels and DAR mixing before F4. Provides
              MPSEQ TPPM and SPINAL Decoupling on H and PIPS 
              decoupling on Y. 

Parameter Groups:

90H:  Module:  no
Sequence:  tancpx.c  
Description:  Provides a 90-degree pulse on dec that can be used 
              as a preparation pulse. Also used to store the dec 
              calibration.
Parameters:  Channels Page
       aH90  - the amplitude of the pulse.
       pwH90 - the pulse length.

cpHX:  Module:  yes
Sequence:  tancpx.c
Description:  Implements constant, linear or tangent-ramped cross 
              polarization from dec to obs. 
Parameters:  Sequence Page
       shHX - 'c', constant, 'l', linear and 't', tangent shape on
               the channel designated with chHX. 
       chHX - the variable-amplitude channel, 'fr' from or 'to', to. 
       aHhx - median amplitude of the dec channel.
       aXhx - median amplitude of the obs channel.
       bHX -  +/- tangent curvature (>0 to 1.0e5).  
       dHX -  amplitude width of the ramp. A negative width sets a
              ramp that starts high and decreases in amplitude.
       tHX -  contact time
       ofHX - overall offset on the variable channel
       frHX = 'dec' -  channel with the initial polarization (must 
              be set - not shown).           
       toHX = 'obs' -  channel with the final polarization (must be
              set - not shown). 
Implementation:  CP hx = getcp("HX",0.0,0.0,0,1); 
Underscore functions: _cp_(hx, phHhx, phXhx);  

cpXY:  Module:  yes
Sequence: cncc4ds.c
Description:  Implements constant, linear or tangent-ramped cross
              polarization from obs to dec2.
Parameters:  Sequence Page
       shXY - 'c', constant, 'l', linear and 't', tangent shape on the
              channel designated with chXY.
       chXY - the variable-amplitude channel, 'fr' from or 'to', to.
       aXY - median amplitude of the obs channel.
       aXxy - median amplitude of the dec2 channel.
       bXY - tangent curvature (>0 to 1.0e5).
       dYX - +/- amplitude width of the ramp. A negative width sets a
              ramp that starts high and decreases in amplitude.
       tYX - contact time.
       ofYX - overall offset on the variable channel.
       frXY = 'obs' - channel with the initial polarization (must be
              set - not shown).
       toXY = 'dec2' - channel with the final polarization (must be set
             - not shown).
Implementation: CP xy = getcp("XY",0.0,0.0,0,1);
Underscore function: _cp_(xy, phXxy, phYxy);

cpYX:  Module:  yes
Sequence: dcptan.c
Description:  Implements constant, linear or tangent-ramped cross
              polarization from dec2 to obs.
Parameters:  Sequence Page
       shYX - 'c', constant, 'l', linear and 't', tangent shape on the
              channel designated with chYX.
       chYX - the variable-amplitude channel, 'fr' from or 'to', to.
       aYyx - median amplitude of the dec2 channel.
       aXyx - median amplitude of the obs channel.
       bYX - tangent curvature (>0 to 1.0e5).
       dYX - +/- amplitude width of the ramp. A negative width sets a
              ramp that starts high and decreases in amplitude.
       tYX - contact time.
       ofYX - overall offset on the variable channel.
       frYX = 'dec2' - channel with the initial polarization (must be
              set - not shown).
       toYX = 'obs' - channel with the final polarization (must be set
              - not shown).
Implementation: CP yx = getcp("YX",0.0,0.0,0,1);
Underscore function: _cp_(yx, phYyx, phXyx);

spnlH:  Module:  yes
Sequence:  tancpxs.c
Description:  Implements TPPM, SPINAL16 SPINAL32 and SPINAL64 as a
              MPSEQ. Used as an alternate to the DSEQ router.
Parameters:  Sequence Page
       aHspnl - amplitude of SPINAL or TPPM.
       pwHspnl - approximate 180-degree flip on dec.
       nHspnl - 2 for TPPM, 16, 32, 64 for SPINAL.
       qHspnl - Number of PULSES (not cycles!) in the .DEC file.
       ph1Hspnl - TPPM +/- phase, "phi".
       ph2Hspnl - additional SPINAL phase, "alfa".
       ofHspnl - overall frequency offset.

The Basic SPINAL cycle Q is: [(phi),(-phi)],(phi+alfa),(-phi-alfa),(phi+2alpha),
                             (-phi-2alpha),(phi+alfa),(-phi-alpha). Note that
                             the first two elements [(phi),(-phi)] are TPPM.
SPINAL repeats with: [[Q-Q]-QQ]-QQQ-Q]. where the [] include 16,32 and 64 pulses.
                     The "Supercycle" of this SPINAL is one PULSE, (not Q).
Implementation: MPSEQ spnl = getspnl("spnlH",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

spnlmH:  Module:  yes
Sequence:  tancpxs.c
Description:  Implements TPPM, SPINAL16 SPINAL32 and SPINAL64 as a
              MPSEQ. Typically used for Mixing or F1 periods. 
              Used as an alternative to the DSEQ router.
Parameters:  Sequence Page
       aHspnlm - amplitude of SPINAL or TPPM.
       pwHspnlm - approximate 180-degree flip on dec.
       nHspnlm - 2 for TPPM, 16, 32, 64 for SPINAL.
       qHspnlm - Number of PULSES (not cycles!) in the .DEC file.
       ph1Hspnlm - TPPM +/- phase, "phi".
       ph2Hspnlm - additional SPINAL phase, "alfa".
       ofHspnlm - overall frequency offset.

The Basic SPINAL cycle Q is: [(phi),(-phi)],(phi+alfa),(-phi-alfa),(phi+2alpha),
                             (-phi-2alpha),(phi+alfa),(-phi-alpha). Note that
                             the first two elements [(phi),(-phi)] are TPPM.
SPINAL repeats with: [[Q-Q]-QQ]-QQQ-Q]. where the [] include 16,32 and 64 pulses.
                     The "Supercycle" of this SPINAL is one PULSE, (not Q).
Implementation: MPSEQ spnlm = getspnlm("spnlmH",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

pipsY:  Module:  yes
Sequence:  cncc4ds.c
Description:  Implements pi-pulse PIPSxy decoupling on the dec2 channel.
Parameters:  Sequence Page
       aHpips - amplitude of dec pulses.
       pwHpips - 90-degree flip on dec2.
       nHpips - rotor cycles between PI pulses.
       qHpips - PIPS cycles represented in the .DEC file.
       ofHpips - overall frequency offset.
       chHpips = 'dec2' must be set (not shown).
Implementation:  MPSEQ pips = getpipsxy("pipsY",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

180X:  Module:  no
Sequence:  twopul.c
Description:  Provides a 180-degree pulse on obs that can be used as an
              inversion or a refocussing pulse.
Parameters:  Sequence Page
      aX180 -  the amplitude of the pulse.
      pwX180 - the pulse length.

180Y:  Module:  no
Sequence:  cncc4ds.c
Description:  Provides a 180-degree pulse on dec2 that can be used as an
              inversion or a refocussing pulse.
Parameters:  Sequence Page
      aX180 -  the amplitude of the pulse.
      pwX180 - the pulse length.

presatX:  Module:  no
Sequence:  cncc4ds.c
Description:  Provides a pulse on obs that can be used for presaturation on X
              before HX CP. 
Parameters:  Sequence Page
      aX180 -  the amplitude of the pulse.
      pwX180 - the pulse length.
