Protocol: Mashsqc2d  Sequence: mashsqc2d.c  Apptype: solidseq1d

Description:
  "H" to "X" J-HSQC with FSLG homonuclear decoupling of "H" and tangent CP 
   preparation of "X", with TPPM or SPINAL decoupling.

Additional Software

   reset_mashsqc - Uses the values of aH90 and pwH90 to set up FSLG.  
   Synchronizes the F1 dwell with 4 FSLG cycles. Uses the value of srate
   and pwHfslg to synchronize tHXhsqc with the rotor. aHhxhsqc, aXhxhsqc, 
   pwHhxhsqc, pwXhxhsqc are set from aH90, aX90, pwH90 and pwX90. pmHhxhsqc
   = pwH90*54.7/90.  Sets up parameters for Heteronuclear 2D processing. 
   This macro is executed by the protocol.

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);

hsqcHX:  Module:  no
Sequence:  mashsqc2d.c
Description:  Implements HSQC modulation of the obs channel through J-
              coupling between the obs  and dec nuclei and applies
              FSLG decoupling between the dec pulses. Requires implementation
              of fslgH.
Parameters:  Sequence Page
       aHhxhsqc - amplitude of the dec channel.
       aXhxhsqc - amplitude of the obs channel.
       pw1Hhxhsqc - 90-degree flip angle on the dec channel.
       pw2Hhxhsqc - 180-degree flip angle on the dec channel.
       pmHhxhsqc - 54.7-degree flip angle on the dec channel.
       pw1Xhxhsqc - 90-degree flip on the obs channel.
       pw2Xhxhsqc - 180-degree flip on the obs channel.
       tHXhsqc - delay for J evolution.
       
fslgX:  Module: yes
Sequence:  none
Description:  Implements "frequency switched Lee Goldburg", FSLG,
              homonuclear decoupling on the obs channel.
Parameters:  Sequence Page
       aXfslg - amplitude of FSLG obs pulses.
       pwXfslg - 360-degree flip on obs, off resonance (the length of
              each of the two FSLG pulses).
       nXfslg - FSLG cycles represented in the .DEC file.
       ofdXfslg - +/- frequency offset of alternating pulses, a
              negative value indicates that the first pulse has
              negative offset.
       ofXfslg - overall frequency offset.
       chXfslg = 'obs' must be set (not shown).
Implementation: MPSEQ fslg = getfslg("fslgX",0,0.0,0.0,0,1);
Underscore functions: _MPSEQ functions.

Hseq:  Module:  yes
Sequence:  tancpx.c
Description: Chooses SPINAL or TPPM decoupling on the dec channel
             during acquisition
Parameters:  Sequence Page - the Hspinal and Htppm groups overlap
       Hseq - chooses the decoupling sequence, TPPM or SPINAL.
Implementation:  DSEQ dec = getdseq("H");  The router implements
             getspinal() or gettppm().
Underscore functions: _dseqon(dec); runs _tppm(); or _spinal();_
             dseqoff(dec); runs decprgoff();

Hspinal:  Module:  yes
Sequence: tancpx.c 
Description:  Implements SPINAL decouping on the dec channel during
              acquisition.
Parameters:  Sequence Page
       aHspinal - amplitude of the dec channel.
       pwHspinal - approximate 180-degree flip angle on resonance.
       phHspinal - +/- small angle phase. SPINAL64 is implemented
              with phases = +/- 1.0, +/- 1.5 and +/-2.0 times
              phHspinal.
       chHspinal = 'dec' must be set (not shown).
Implementation: SPINAL dec = getspinal("H"); or DSEQ dec =
              getdseq("H");
Underscore functions: _spinal(dec); and decprgoff(); or
             _dseqon(dec); and _dseqoff(dec);

Htppm:  Module:  yes
Sequence:  tancpx.c
Description:  Implements TPPM decoupling on the dec channel during
              acquisition.
Parameters:  Sequence Page
       aHtppm - amplitude of the dec channel.
       pwHtppm - approximate 180-degree flip angle on resonance.
       phHtppm - +/- small angle phase. TPPM is implemented
              with phases = +/- 1.0 times phHtppm for alternating
              pulses.
       chHtppm = 'dec' must be set (not shown).
Implementation: TPPM dec = gettppm("H"); or DSEQ dec = getdseq("H");
Underscore functions: _tppmon(dec); and decprgoff(); or _dseqon(dec);
              and _dseqoff(dec);
