# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
;****************************************************************
;
; Copyright (c) 2002-2003
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
;
; PRESS.ppg - voxel selective spectroscogpy  method
;
;****************************************************************

# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 1
;****************************************************************
;
; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MRI.include,v $
;
; Copyright (c) 2006
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
;
;;****************************************************************
;MRI.include

# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Avance.incl" 1
;Avance3.incl
;   for AV III
;
;avance-version (13/06/17)
;
;$CLASS=HighRes Incl
;$COMMENT=
# 169 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Avance.incl"
;$Id: Avance3.incl,v 1.9.6.1 2013/06/17 15:32:55 pfre Exp $
# 14 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include" 2

define delay aqq
define delay deparx
define delay derxadc
define delay rdepa

# 21 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
"aqq=dw*td"
"rdepa=de-depa"
"deparx=depa-derx"
"derxadc=derx-deadc"


; contents of De2.incl - usage for different hardware versions to 
; be checked - intermediate solution to support Jobs
define delay rde1
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
"rde1=de-de1"


# 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
; end of contents of De2.incl


# 65 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
	
	


# 74 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
	


# 128 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
# 129 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
   


# 141 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MRI.include"
	


# 13 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2


# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 1
;****************************************************************
;
; Copyright (c) 2003-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: PrepModulesHead.mod,v 1.19 2012/01/20 10:19:48 wemch Exp $
;
; All Rights Reserved
;
; Declaration of pulseprogram parameters and subroutines for 
; preparation  modules
;
; Must be included after MRI.include!
;
;****************************************************************
# 18 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod"
;**** Fat Suppression ****

# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod" 1
;****************************************************************
;
; Copyright (c) 2002-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: FatSupDef.mod,v 1.7 2013/07/05 14:15:26 sako Exp $
;
; All Rights Reserved
;
; FatSupDef.mod : Declaration of Fat Suppression Subroutine
;
;****************************************************************

if (PVM_FatSupPerform == Yes)
{
  define pulse           fatSupPul   = {$PVM_FatSupRfLength}
  define list<frequency> fatSupList  = {$PVM_FatSupFL}
  
  define delay fatSupRamp  = {$PVM_FatSupRampTime}
  define delay fatSupAmp   = {$PVM_FatSupAmpEnable}
  define delay fatSupGrad  = {$PVM_FatSupGradWait}
  define delay fatSupSpoil = {$PVM_FatSupSpoilDur}
# 25 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FatSupDef.mod"
  ; convert from ms to s
  "fatSupRamp  = fatSupRamp  / 1000"
  "fatSupAmp   = fatSupAmp   / 1000"
  "fatSupGrad  = fatSupGrad  / 1000"
  "fatSupSpoil = fatSupSpoil / 1000"
}

subroutine FatSup

# 20 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Flow Saturation ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FlowSatDef.mod" 1
;****************************************************************
;
; Copyright (c) 2005-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: FlowSatDef.mod,v 1.7 2013/06/04 10:11:30 sako Exp $
;
; All Rights Reserved
;
; FlowSatDef.mod: Declaration of subroutines for Flow Saturation 
; call
; subr FlowSat()
; subr FlowSatInit()
; subr FlowSatInc()
; 
;****************************************************************

if(PVM_InFlowSatOnOff == 1)
{
define list<frequency> modlis4 = {$PVM_InFlowSatFL}
define list<grad_scalar> flowSatGrad={$PVM_InFlowSatGrad}
define delay SfD0 = {$PVM_SfD0}
define delay SfD1 = {$PVM_SfD1}
define delay SfD2 = {$PVM_SfD2}

define pulse SfP0 = {$PVM_SfP0}
define loopcounter SfLp0 = {$PVM_SfLp0}
}
subroutine FlowSat
subroutine FlowSatInc
subroutine FlowSatInit
# 24 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Inversion Pulse ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/InvPulseDef.mod" 1
;****************************************************************
;
; Copyright (c) 2002-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: InvPulseDef.mod,v 1.2 2010/12/15 10:52:31 mah Exp $
;
; All Rights Reserved
;
; InvPulseDef.mod : Declaration of Inversion Pulse subroutine
;
; call
; subr InvPulse()
;
;****************************************************************
;   
;       PVM_InvRFPulseArr      :  
;     
;       sp22            TPQQ[14].name : PVM_InvRFPulsePropertyArr[0].Filename
;
;       PVM_IpP0                      :  PVM_InvRFPulseArr[0].PulseLength
;
;       PVM_IpD2                      :  PVM_InvPulseDelay[0]
;       PVM_IpD3                      :  PVM_InvPulseSpoilTime[0]
;       PVM_IpD1                      :  CONFIG_amplifier _enable
;       PVM_IpD0                      :  PVM_RampTime
;

if(PVM_InvPulseOnOff == 1)
{
define list<frequency>  modlis2= {$PVM_InvPulseOffsetHz}
define delay IpD0 = {$PVM_IpD0}
define delay IpD1 = {$PVM_IpD1}
define delay IpD2 = {$PVM_IpD2}
define delay IpD3 = {$PVM_IpD3}

define pulse IpP0 = {$PVM_IpP0}
}
subroutine InvPulse
# 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Magnetisation Transfer ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod" 1
;****************************************************************
; $Source: /pv/CvsTree/pv/gen/src/prg/methManag/PPG/Attic/MagTransDef.mod,v $
;
; Copyright (c) 2005-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
;
; MagTransDef.mod: Declaration of subroutine for Magnetization 
;                  transfer 
; call
; subr MagTrans()
;
; $Id: MagTransDef.mod,v 1.6.2.1 2015/03/24 14:30:00 sako Exp $
;****************************************************************
;**** Magnetisation Transfer Module ****


if(PVM_MagTransOnOff)
{
define list<frequency> modlis3 = {$PVM_MagTransFL} 
define delay MtD0 = {$PVM_MtD0}
define delay MtD1 = {$PVM_MtD1}
define delay MtD2 = {$PVM_MtD2}
define delay MtD3 = {$PVM_MtD3}
# 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/MagTransDef.mod"
define pulse MtP0 = {$PVM_MtP0}

define loopcounter MtLp0 = {$PVM_MtLp0}
}

subroutine MagTrans
# 32 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Saturation Pulse ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod" 1
;****************************************************************
;
; Copyright (c) 2002-2003
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: SatPulseDef.mod,v 1.3 2010/12/15 10:52:31 mah Exp $
;
; All Rights Reserved
;
; SatPulseDef.mod : Declaration of Saturation Pulse subroutines
; call 
; subr SatPulse()
;
;****************************************************************
;   
;    PVM_SatRFPulseArr      :  
;     
;       sp28            DPQQ[12].name : PVM_SatRFPulsePropertyArr[0].Filename
;       sp29            DPQQ[13].name : PVM_SatRFPulsePropertyArr[1].Filename
;       sp30            DPQQ[14].name : PVM_SatRFPulsePropertyArr[2].Filename
;       sp31            DPQQ[15].name : PVM_SatRFPulsePropertyArr[3].Filename
;
;       PVM_SpP0                     :  PVM_SatRFPulseArr[0].PulseLength
;       PVM_SpP1                     :  PVM_SatRFPulseArr[1].PulseLength
;       PVM_SpP2                     :  PVM_SatRFPulseArr[2].PulseLength
;       PVM_SpP3                     :  PVM_SatRFPulseArr[3].PulseLength
;
;       PVM_SpD2                     :  PVM_SatPulseDelay1[0]
;       PVM_SpD6                     :  PVM_SatPulseSpoilTime[0]
;       PVM_SpD10                    :  PVM_SatPulseDelay2[0]
;       PVM_SpD3                     :  PVM_SatPulseSpoilTime[1]
;       PVM_SpD7                     :  PVM_SatPulseDelay1[1]
;       PVM_SpD11                    :  PVM_SatPulseDelay2[1]
;       PVM_SpD4                     :  PVM_SatPulseDelay1[2]
;       PVM_SpD8                     :  PVM_SatPulseSpoilTime[2]
;       PVM_SpD12                    :  PVM_SatPulseDelay2[2]
;       PVM_SpD5                     :  PVM_SatPulseDelay1[3]
;       PVM_SpD9                     :  PVM_SatPulseSpoilTime[3]
;       PVM_SpD13                    :  PVM_SatPulseDelay2[3]
;

if(PVM_SatPulseOnOff == 1)
   {
define list<frequency> modlis7 = {$PVM_SatPulseOffsetHz}

define delay SpD0 = {$PVM_SpD0}
define delay SpD1 = {$PVM_SpD1}
define delay SpD2 = {$PVM_SpD2}
define delay SpD3 = {$PVM_SpD3}
define delay SpD4 = {$PVM_SpD4}
define delay SpD5 = {$PVM_SpD5}
define delay SpD6 = {$PVM_SpD6}
define delay SpD7 = {$PVM_SpD7}
define delay SpD8 = {$PVM_SpD8}
define delay SpD9 = {$PVM_SpD9}
define delay SpD10 = {$PVM_SpD10}
define delay SpD11 = {$PVM_SpD11}
define delay SpD12 = {$PVM_SpD12}
define delay SpD13 = {$PVM_SpD13}
define pulse SpP0 = {$PVM_SpP0}
define pulse SpP1 = {$PVM_SpP1}
define pulse SpP2 = {$PVM_SpP2}
define pulse SpP3 = {$PVM_SpP3}
# 66 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SatPulseDef.mod"
   }


subroutine SatPulse
# 36 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;*** FOV Saturation ***
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod" 1
;****************************************************************
;
; Copyright (c) 2002-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: FovSatDef.mod,v 1.8 2013/08/06 08:09:43 sako Exp $
;
; All Rights Reserved
;
; FovSat.mod : Declaration of FOV Saturation subroutine
; call: subr FovSat()
;
;****************************************************************


if (PVM_FovSatOnOff == On)
{
  define pulse           fovSatPul   = {$PVM_FovSatRfLength}
  define list<frequency> fovSatList  = {$PVM_FovSatFL}
  
  define delay fovSatRamp  = {$PVM_FovSatRampTime}
  define delay fovSatAmp   = {$PVM_FovSatAmpEnable}
  define delay fovSatGrad  = {$PVM_FovSatGradWait}
  define delay fovSatSpoil = {$PVM_FovSatSpoilDur}
# 27 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
  ; convert from ms to s
  "fovSatRamp  = fovSatRamp  / 1000"
  "fovSatAmp   = fovSatAmp   / 1000"
  "fovSatGrad  = fovSatGrad  / 1000"
  "fovSatSpoil = fovSatSpoil / 1000"  
}

subroutine FovSat

# 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/FovSatDef.mod"
; backwards compatibility
subroutine SatSlices


# 40 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Black Blood ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/BlBloodDef.mod" 1
;****************************************************************
;
; Copyright (c) 2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: BlBloodDef.mod,v 1.4 2013/06/04 10:11:30 sako Exp $
;
; All Rights Reserved
;
; BlBloodDef.mod : Declaration of Black blood  subroutine
;
; call
; subr BlBlood(ph0) : Black blood preparation with RF phaselist
;                     ph0
;
;****************************************************************

if(PVM_BlBloodOnOff)
{
define list<frequency> modlis8 = {$PVM_BlBloodFL}
define delay BlbD0 = {$PVM_BlbD0}
define delay BlbD1 = {$PVM_BlbD1}
define delay BlbD2 = {$PVM_BlbD2}
define delay BlbD3 = {$PVM_BlbD3}

define pulse BlbP0 = {$PVM_BlbP0}
}
subroutine BlBlood
# 44 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Trigger ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod" 1
;****************************************************************
;
; Copyright (c) 1998-2003
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
;
; TriggerDef.mod - Trigger Module
;
;****************************************************************

if (PVM_TriggerModule == On)
{
  define delay trigDur = {$PVM_TriggerDur}
  define delay trigDel = {$PVM_TriggerDelay}

  ; convert from ms to s
  "trigDur = trigDur / 1000"
  "trigDel = trigDel / 1000"
}
subroutine Trigger
subroutine TriggerPhase
subroutine TriggerSlice
# 48 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Trigger Out ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerOutDef.mod" 1
;****************************************************************
;
; Copyright (c) 2003
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
; $Id: TriggerOutDef.mod,v 1.2 2013/07/05 14:15:26 sako Exp $
;****************************************************************

if (PVM_TriggerOutOnOff == On)
{
  define delay trigOutDur = {$PVM_TriggerOutDur}
  define delay trigOutDel = {$PVM_TriggerOutDelay}

  ; convert from ms to s
  "trigOutDur = trigOutDur / 1000"
  "trigOutDel = trigOutDel / 1000"
}
subroutine TriggerOut
subroutine TriggerOutStart
subroutine TriggerOutSlice
subroutine TriggerOutVolume
# 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Outer Volume Suppression ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod" 1
;****************************************************************
;
; Copyright (c) 2005-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: WsOvsDef.mod,v 1.6 2013/07/08 08:33:32 josh Exp $
;
; All Rights Reserved
;
; WsOvsDef.mod: Declaration of water suppression and Outer 
;               volume suppression subroutines
;
; call 
; subr Ovs(ph0) ;  execution of OVS with ph0 phaselist
;
; subr WsOvs(ph0,ph1) : execution of OVS with ph0 and WS with ph1
;                       phaselist
;****************************************************************

;**** OuterVolumeSuppression ****

if(PVM_OvsOnOff == 1)
{
define list<frequency> Ovslist={$PVM_OvsFrequencyList}
define delay OvsD0 = {$PVM_OvsD0}
define delay OvsD1 = {$PVM_OvsD1}
define pulse OvsP0 = {$PVM_OvsP0}
}
subroutine Ovs
# 59 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
;*** WaterSuppression Module with OVS ****

if (PVM_WsMode)
{

define list<frequency> Wslist={$PVM_WsOffsetHz}
define pulse WsP0 = {$PVM_WsP0}
define pulse WsP1 = {$PVM_WsP1}
define pulse WsP2 = {$PVM_WsP2}
define delay WsNp0 
"WsNp0 = WsP0"
define delay WsNp1 
"WsNp1 = WsP1"
define delay WsNp2 
"WsNp2 = WsP2"
define list<delay> ChD1={$PVM_ChppgD1}
define list<delay> ChD2={$PVM_ChppgD2}
define list<delay> VpD1={$PVM_VpppgD1}
define list<delay> VpD2={$PVM_VpppgD2}
# 79 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
}


subroutine WsOvsMain
subroutine WsOvs
subroutine Ws
# 56 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Solvent Suppression module ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsSatDef.mod" 1
;******************************************************************
;
; Copyright (c) 2002-2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: WsSatDef.mod,v 1.11 2013/08/23 08:37:06 josh Exp $ 
;
; All Rights Reserved
;
; WsSatDef.mod - Declaration of water suppression and FOV saturation 
;                subroutines
; call
; subr WsSat(ph0) : execution of WS with ph0 phaselist and 
;                   FOV saturation (as passed as argument)    
;      
;*******************************************************************


; Definitions for WsPpgParams are included in WsOvsDef.mod
subroutine WsSatMain
subroutine WsSat
# 60 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Selective Inversion Recovery ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod" 1
;****************************************************************
;
; Copyright (c) 2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: SelSliceIrDef.mod,v 1.5 2013/06/04 10:11:30 sako Exp $
;
; All Rights Reserved
;
; SelSliceIrDef.mod : declaration of slice Selective Inversion 
;                     Recovery subroutine
; call SliceSelIr()
; 
;
;****************************************************************


if(PVM_SelIrOnOff)
{
  define list<frequency> IrFL = {$PVM_SelIrFL} 
  define delay IrD0 = {$PVM_SelIrD0}
  define delay IrD1 = {$PVM_SelIrD1}
  define delay IrD2 = {$PVM_SelIrD2}
  define delay IrD3 = {$PVM_SelIrD3}
  define delay IrD4 = {$PVM_SelIrD4}
# 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/SelSliceIrDef.mod"
  define pulse IrP0 = {$PVM_SelIrP0}
  define loopcounter IrL0 = {$PVM_SelIrL0}
}

subroutine SliceSelIr

# 64 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Tagging ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod" 1
;****************************************************************
;
; Copyright (c) 2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: TagDef.mod,v 1.6 2013/06/05 12:55:35 sako Exp $
;
; All Rights Reserved
;
; TagDef.mod : Declaration of tagging subroutine
; call
; subr Tagging()
;
;****************************************************************

if(PVM_TaggingOnOff)
{
define list<frequency> taggfreq={$PVM_TaggingFL}

define delay TaggD0 = {$PVM_TaggingD0}
define delay TaggD1 = {$PVM_TaggingD1}
define delay TaggD2 = {$PVM_TaggingD2}
define delay TaggD3 = {$PVM_TaggingD3}
define delay TaggD4 = {$PVM_TaggingD4}
define delay TaggD5 = {$PVM_TaggingD5}
# 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TagDef.mod"
define pulse TaggP0 = {$PVM_TaggingP0}
define loopcounter TaggL0 = {$PVM_TaggingLp0}
}

subroutine Tagging

# 68 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Noe ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/NoeDef.mod" 1
;****************************************************************
;
; Copyright (c) 2007
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; $Id: NoeDef.mod,v 1.1 2007/07/02 14:26:00 mawi Exp $
;
; All Rights Reserved
;
; NoeDef.mod: Declaration of Nuclear Overhouser Enhancement 
;             subroutine
; call
; subr Noe()
;
;****************************************************************

if(PVM_NoeOnOff == On)
{
define delay NoeD0 = {$PVM_NoeD0}
define delay NoeD1 = {$PVM_NoeD1}
}

subroutine Noe
# 72 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


;**** Evolution ****
# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/EvolutionDef.mod" 1
;****************************************************************
;
; Copyright (c) 1998-2003
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
;
; EvolutionDef.mod - Evolution Module
;
;****************************************************************

if (PVM_EvolutionOnOff == On)
{
  define delay       evolDel  = {$PVM_EvolutionDelay}
  define list<delay> evolTime = {$PVM_EvolutionTime}
}

subroutine Evolution
# 76 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PrepModulesHead.mod" 2


# 15 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2
# 17 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
define delay de4
"de4=0.00002s-de"

# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod" 1
;****************************************************************
;
; Copyright (c) 2012
; Bruker BioSpin MRI GmbH 
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
; 
; $Id: acqdec.mod,v 1.2.2.1 2014/10/22 14:10:34 josh Exp $
; 
; All Rights Reserved
; 
; Declaration of subroutine for decoupling
;
;****************************************************************

# 18 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod"
if(PVM_DecOnOff == On)
{
define delay DecD0 = {$PVM_DecD0}
define delay DecD1 = {$PVM_DecD1}
}
define delay durx
"durx = 10u - de - 1u" ; 10u - fixed delays


subroutine acqdec
subroutine acqdec_jobs
# 20 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2

# 1 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Navigator.mod" 1
;****************************************************************
;
; Copyright (c) 2011
; Bruker BioSpin MRI GmbH
; D-76275 Ettlingen, Germany
;
; All Rights Reserved
; 
; Navigator.mod - Preparation Module for Navigator
;
;****************************************************************

if (PVM_NavOnOff == On)
{
  define list<frequency> navlist = {$PVM_NavFrequencyList}
  define list<frequency> navrec ={$PVM_NavFreqRecList}
  define list<grad_vector> vec ={$PVM_NavVec}
  define pulse NavP0 = {$PVM_NavP0}	
  define delay NAVD1 = {$PVM_NavD1}
  define delay NAVD2 = {$PVM_NavD2}
  define delay NAVD3 = {$PVM_NavD3}
  define delay NAVD4 = {$PVM_NavD4}
}
subroutine Navigator
subroutine Navigator_NOPH
subroutine NavigatorDummy
subroutine NavigatorGlobal
# 21 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg" 2

define loopcounter lds={$PVM_DummyScans}
define list<loopcounter> avList={$AverageList}
preset off

# 28 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
if (ACQ_jobs_size >1)
{
  3u  setrtp1|1	\n	7u  setrtp1^1             \n 1m	swj1    \n 1m	dccorr1         \n	3u  setrtp1|1	\n	187u  setrtp1^1	\n	1u  setrtp1|1	\n	9u  setrtp1^1            \n 1m	swj2   \n 1m	dccorr2       \n 3u  setrtp1|1	\n	7u  setrtp1^1            \n 1m	swj1	  \n	if (CONFIG_preemp_type == GREAT_60)               \n {                                                 \n if (CONFIG_instrument_type != Avance_III)      \n {                                              \n 500m setnmr0|34|33|32                          \n }                                              \n else                                           \n {                                              \n 200u setnmr0|34|33|32                          \n }                                              \n }                                                 \n if (CONFIG_preemp_type == DPP_with_SW_Blanking)   \n {\n 10u ctrlgrad 0  \n 10u grad{(0)|(0)|(0) }	  \n 200u setnmr0|34|33|32     \n }\n if (CONFIG_preemp_type == DPP)  \n {    \n 10u groff \n }
}
else
{
  dccorr                                             \n                           \n if (CONFIG_preemp_type == GREAT_60)               \n {                                                 \n if (CONFIG_instrument_type != Avance_III)      \n {                                              \n 500m setnmr0|34|33|32                          \n }                                              \n else                                           \n {                                              \n 200u setnmr0|34|33|32                          \n }                                              \n }                                                 \n if (CONFIG_preemp_type == DPP_with_SW_Blanking)   \n {\n 10u ctrlgrad 0  \n 10u grad{(0)|(0)|(0) }	  \n 200u setnmr0|34|33|32     \n }\n if (CONFIG_preemp_type == DPP)  \n {    \n 10u groff \n }
}

        10u  ;delay after dccorr                                             \n                           \n if (CONFIG_preemp_type == GREAT_60)               \n {                                                 \n if (CONFIG_instrument_type != Avance_III)      \n {                                              \n 500m setnmr0|34|33|32                          \n }                                              \n else                                           \n {                                              \n 200u setnmr0|34|33|32                          \n }                                              \n }                                                 \n if (CONFIG_preemp_type == DPP_with_SW_Blanking)   \n {\n 10u ctrlgrad 0  \n 10u grad{(0)|(0)|(0) }	  \n 200u setnmr0|34|33|32     \n }\n if (CONFIG_preemp_type == DPP)  \n {    \n 10u groff \n } needed
	3u  setrtp1|1	\n	7u  setrtp1^1 ; lasts 10u

# 41 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
;-------D/P-----GRAD-----------------------------RF/ACQ---------

        1u      rpp1
        1u      rpp2
        1u      rpp3
        1u	rpp31

start,	10u					
	1m					fq8(receive):f1
subr TriggerSlice
;EXEC_begin TriggerSlice TriggerSlice()
# 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
 
  if (PVM_TriggerMode == per_Slice)
  {
;EXEC_begin Trigger Trigger()
# 23 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/TriggerDef.mod"
 
  if (PVM_TriggerModule == On)
  {
    trigDur     setnmr3|6
  
    if (CONFIG_instrument_type == Avance_III)
    {
      trigDur   trignl1
      trigDur   trigpe3
    }
    else
    {
      trigDur
      trigDur   trigpl1
    }
  
    trigDur     setnmr3^6 
    trigDel
  }
 
;EXEC_end   Trigger
  }
 
;EXEC_end   TriggerSlice
# 51 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
subr Noe
;EXEC_begin Noe Noe()
# 24 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/NoeDef.mod"
 
if(PVM_NoeOnOff == On)
{
  if (PVM_NoeMode == Continuous_Wave_Noe)
     {  
        3u pl1:f2
        NoeD0  cw:f2
        1u do:f2
        NoeD1
     }
  if (PVM_NoeMode == Composite_Pulse_Noe)
     {  
        3u pl1:f2
        NoeD0 cpds1:f2
        1u do:f2
        NoeD1
     }
}
 
;EXEC_end   Noe
# 52 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
subr WsOvs
;EXEC_begin WsOvs WsOvs(phase ph0, phase ph0)
# 248 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;EXEC_begin WsOvsMain WsOvsMain(phase ph0, phase ph0, any PVM_OvsOnOff)
# 82 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 

;-------------------------------------------------------------------------------
; NO_SUPPRESSION
;-------------------------------------------------------------------------------

;WS_Mode == NO_SUPPRESSION
if ( PVM_WsMode == 0 ) {

if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
}

}


;-------------------------------------------------------------------------------
; CHESS scheme
;-------------------------------------------------------------------------------
if ( PVM_WsMode == 1 ) {
2u 	Wslist:f1
;first pulse
if ( PVM_WsOnOff == On ) {
	(WsP0:sp50 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp0
}
	ChD1[0] grad_ramp{ PVM_ChTrim[0], PVM_ChTrim[1], PVM_ChTrim[2] }
	ChD2[0] grad_off
if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u 	Wslist:f1
}

;second pulse
if ( PVM_WsOnOff == On ) {
	(WsP1:sp51 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp1
}
	ChD1[1] grad_ramp{ PVM_ChTrim[3], PVM_ChTrim[4], PVM_ChTrim[5] }
	ChD2[1] grad_off
if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u 	Wslist:f1
}

;third pulse
if ( PVM_WsOnOff == On ) {
	(WsP2:sp52 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
        WsNp2	
}
	ChD1[2] grad_ramp{ PVM_ChTrim[6], PVM_ChTrim[7], PVM_ChTrim[8] }
	ChD2[2] grad_off
if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u
}

};end of CHESS


;-------------------------------------------------------------------------------
; VAPOR scheme
;-------------------------------------------------------------------------------
if ( PVM_WsMode == 2 ) {
2u 	Wslist:f1
;first pulse
if ( PVM_WsOnOff == On ) {
	(WsP0:sp50 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp0
}
	VpD1[0] grad_ramp{ PVM_VpTrim[0], PVM_VpTrim[1], PVM_VpTrim[2] }
	VpD2[0] grad_off


;second pulse
if ( PVM_WsOnOff == On ) {
	(WsP0:sp50 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
        WsNp0	
}
	VpD1[1] grad_ramp{ PVM_VpTrim[3], PVM_VpTrim[4], PVM_VpTrim[5] }
	VpD2[1] grad_off


;third pulse
if ( PVM_WsOnOff == On ) {
	(WsP1:sp51 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp1	
}
	VpD1[2] grad_ramp{ PVM_VpTrim[6], PVM_VpTrim[7], PVM_VpTrim[8] }
	VpD2[2] grad_off

;fourth pulse
if ( PVM_WsOnOff == On ) {
	(WsP0:sp50 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp0
}

if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u      Wslist:f1
}
	VpD1[3] grad_ramp{ PVM_VpTrim[9], PVM_VpTrim[10], PVM_VpTrim[11] }
	VpD2[3] grad_off


;5.th pulse
if ( PVM_WsOnOff == On ) {
(	WsP1:sp51 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp1
}
	VpD1[4] grad_ramp{ PVM_VpTrim[12], PVM_VpTrim[13], PVM_VpTrim[14] }
	VpD2[4] grad_off
if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u 	Wslist:f1
}


;6.th pulse
if ( PVM_WsOnOff == On ) {
	(WsP0:sp50 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp0	
}
	VpD1[5] grad_ramp{ PVM_VpTrim[15], PVM_VpTrim[16], PVM_VpTrim[17] }
	VpD2[5] grad_off


;7.th pulse
if ( PVM_WsOnOff == On ) {
	(WsP1:sp51 ph0):f1
}
if ( PVM_WsOnOff == Off ) {
	WsNp1
}
	VpD1[6] grad_ramp{ PVM_VpTrim[18], PVM_VpTrim[19], PVM_VpTrim[20] }
	VpD2[6] grad_off
if ( PVM_OvsOnOff == On ) {
;EXEC_begin Ovs Ovs(phase ph0)
# 31 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/WsOvsDef.mod"
 
;-------------------------------------------------------------------------------
;	delays		grads			rf/rec		comments
;-------------------------------------------------------------------------------
	;pulses 1 + 2	
	OvsD0 	grad_ramp{  PVM_OvsTrim0, 0.0, 0.0 }	Ovslist[0]:f1
	(OvsP0:sp53 ph0):f1	
	10u					Ovslist[1]:f1
	(OvsP0:sp53 ph0):f1										
	OvsD1	grad_ramp{  PVM_OvsTrim1, 0.0, 0.0 }					
	
	;pulses 3 + 4
	OvsD0 	grad_ramp{  0.0, PVM_OvsTrim0, 0.0 }	Ovslist[2]:f1		
	(OvsP0:sp53 ph0):f1	
	10u 					Ovslist[3]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, PVM_OvsTrim2, 0.0 }
			
	;pulses 5 + 6
	OvsD0 	grad_ramp{  0.0, 0.0, PVM_OvsTrim0 }	Ovslist[4]:f1			
	(OvsP0:sp53 ph0):f1						
	10u 					Ovslist[5]:f1
	(OvsP0:sp53 ph0):f1
	OvsD1	grad_ramp{  0.0, 0.0, PVM_OvsTrim3 }
	OvsD0 	grad_off
 
;EXEC_end   Ovs
2u
}

};end vapor
 ;end subr WsOvsMain
;EXEC_end   WsOvsMain
 
;EXEC_end   WsOvs
# 53 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
# 55 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
;---------localisation  module------------------------------------
	
	d4	grad_ramp{g1, 0.0, 0.0} 	fq1:f1
	d6					gatepulse 1
	(p1:sp1 ph1):f1
	d6
	d7	grad_off		
	d8      grad_ramp{g4, g6, g7}
	d4	grad_ramp{0.0, g2, 0.0}         fq1:f1
	d6					gatepulse 1
	(p2:sp2 ph2):f1
	d6
	d8	grad_ramp{g5, g6, g7}
	d9	grad_off

;-------pulse adjustments--------------------------------------
	if ( PVM_ppgFlag3 == Yes ) {
  	  d12	  grad_ramp{g11, g12, g13}
	  d4	  groff	
	}

	20u        ;for symmetry with de4
	d10	grad_ramp{g8, g9, g10}	        fq1:f1
	d4	grad_ramp{0.0, 0.0, g3}
	d6					gatepulse 1
	(p3:sp3 ph3):f1
	d6
	d10	grad_ramp{g8, g9, g10}
	d11	grad_off				
# 85 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
;---------data acquisition--------------------------------------------	
	;pulse adjustments:
	if ( PVM_ppgFlag3 == Yes ) 
	{
	  d4	grad_ramp{g14, g15, g16}	
	  de4
	   				        rdepa						 \n deparx     adc ph0  syrec fqatofqb:f1 \n derxadc     ph31:r  			 \n deadc      
	  aqq					cpdngs17:f1	
	}
	else 
	{
	  10u
subr acqdec_jobs
;EXEC_begin acqdec_jobs acqdec_jobs(phase ph0, phase ph31)
# 58 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/acqdec.mod"
 
  if (PVM_DecOnOff == Off)
  {
      durx
      (rde1 sync de1 adc1  ph0 syrec) (1u 1u  ph31:r):f1 (de)
      1u
      aqq        cpdngs17:f1
  }
  if (PVM_DecOnOff == On)
  {
     if (PVM_DecMode == Continuous_Wave)
     {
       durx pl2:f2
       (rde1 sync de1 adc1  ph0 syrec) (1u 1u  ph31:r):f1 (de)
       1u        cpdngs17:f1		 
       DecD0 cw:f2
       DecD1 do:f2
     }
     if (PVM_DecMode == Composite_Pulse)
     {
       durx pl2:f2
       (rde1 sync de1 adc1  ph0 syrec) (1u 1u  ph31:r):f1 (de)
       1u        cpdngs17:f1		 
       DecD0 cpd2:f2
       DecD1 do:f2
     }
  }
 
;EXEC_end   acqdec_jobs
# 97 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
        }
        2m grad_off
	500u					eoscnp
	500u					;eoscnp with jobs needs a second following delay >8us

if(PVM_NavOnOff == On)
{
	10u swj2
	1u  setrtp1|1	\n	9u  setrtp1^1			;lasts 10u
        20u  reload B0
subr NavigatorGlobal
;EXEC_begin NavigatorGlobal NavigatorGlobal(any sp0, phase ph31, phase ph0, phase ph31)
# 90 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/Navigator.mod"
 
  if (PVM_NavOnOff == On)
  {
      10u       navrec(receive):f1
      5u        navlist:f1
      NAVD2     gatepulse 1
      (NavP0:sp0 ph31):f1
      10u
      (rde1 sync de1 adc2  ph0 syrec) (1u 1u ph31:r):f1 (de) ;includes 6u
      NAVD4     cpdngs18:f1
      169u                   ;delay for scan shift
      10u       eoscnp #1 
  }
 
;EXEC_end   NavigatorGlobal
# 108 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
        100u   ; 2 delays needed after ADC_END_JOB
        10u swj1
        3u  setrtp1|1	\n	7u  setrtp1^1 ;lasts 10u
}
	d1					;TR delay

;---------dummy scans ------------------------------------------------
	"lds = lds - 1"		
	if "lds>=0" goto start	
# 119 "/opt/PV6.0.1/exp/stan/nmr/lists/pp/PRESS.ppg"
;---------averaging & phase cycling-----------------------------------
	if ( ACQ_scan_type == Scan_Experiment ) {
	1u					ipp1
	1u					ipp2
	1u 					ipp3
	1u 					ipp31
	}
	lo to start times avList
	avList.inc	
	1u					rpp1
	1u					rpp2
	1u 					rpp3
	1u 					rpp31
        
        lo to start times NR
	if (ACQ_scan_type != Scan_Experiment) \n{ \n goto start \n}
exit


ph0 = 0
ph1 = {0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0}^2^1^3
ph2 = {0 0 1 1 0 0 1 1  2 2 3 3 2 2 3 3}^2^1^3
ph3 = {0 2 0 2 1 3 1 3  0 2 0 2 1 3 1 3}^2^1^3
ph31= {0 0 2 2 2 2 0 0  0 0 2 2 2 2 0 0}^2^1^3
