"SS_setsolids_CP - Update the basic parameters for 'tn' and 'dn', the CPHX and " 
"                  dp90 parameter groups and the decoupling parameter group in "
"                  the probe file for the appropriate region from a dataset    "
"                  containing standard CP and decoupling.                      "

"                  This macro requires the BioPack macro BPsetparams and       "
"                  installation of the probe template SS_AutoCAl_probe.template,"
"                  as well as setsolidprobedata. The first argument is the     "
"                  nucleus and the second argument is the region.              "

"                  Current regions: ('13C','adam') standard 13C CP (HC)        "
"                      ('13C','alpha') peptide carbonyl region (HCO)           "
"                      ('13C','carbonyl') peptide carbonyl region (HCO)        "
"                      ('15N','amino') standard 15N CP (HN)                    "
"                      ('15N','amide') peptide amide region (HNai)             "
"                      ('15N','amine') amino acid amine region (HNam)          "

//Check the Syntax or Get Region from n1. 

if ($#<2) then 
   write('error','Format: SS_AutoCal_CP(\'nucleus\',\'region\')')
   abort
endif
if (($2='adam')or($2='alpha')or($2='carbonyl')or($2='amino')or($2='amide')or($2='amine')) then
   n1=$2 
endif
$2=n1 n1=''
 
if (($2<>'adam')and($2<>'alpha')and($2<>'carbonyl')and($2<>'amino')and($2<>'amide')and($2<>'amine')) then
   write('error','Region = \'adam\',\'alpha\',\'carbonyl\',\'amino\',\'amide\' or \'amine\'')
   abort
endif 

// Basic Calibrations 

setsolidsprobedata('tn') setsolidsprobedata('dn')

if (($1='C13')and($2='adam')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HC',$aX90s,'C13')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HC',$pwX90s,'C13')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHC',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHC',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHC',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHC',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HC',$pwHspinals,'H1')
  BPsetparams('aHspinal_HC',$aHspinals,'H1')
  BPsetparams('phHspinal_HC',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HC',$pwHtppms,'H1')
  BPsetparams('aHtppm_HC',$aHtppms,'H1')
  BPsetparams('phHtppm_HC',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HC',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HC',$aXhxs,'C13')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HC',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HC',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HC',$tHXs,'H1')

elseif (($1='C13')and($2='alpha')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HCa',$aX90s,'C13')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HCa',$pwX90s,'C13')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHCa',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHCa',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHCa',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHCa',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HCa',$pwHspinals,'H1')
  BPsetparams('aHspinal_HCa',$aHspinals,'H1')
  BPsetparams('phHspinal_HCa',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HCa',$pwHtppms,'H1')
  BPsetparams('aHtppm_HCa',$aHtppms,'H1')
  BPsetparams('phHtppm_HCa',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HCa',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HCa',$aXhxs,'C13')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HCa',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HCa',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HCa',$tHXs,'H1')

elseif (($1='C13')and($2='carbonyl')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HCO',$aX90s,'C13')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HCO',$pwX90s,'C13')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHCO',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHCO',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHCO',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHCO',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HCO',$pwHspinals,'H1')
  BPsetparams('aHspinal_HCO',$aHspinals,'H1')
  BPsetparams('phHspinal_HCO',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HCO',$pwHtppms,'H1')
  BPsetparams('aHtppm_HCO',$aHtppms,'H1')
  BPsetparams('phHtppm_HCO',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HCO',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HCO',$aXhxs,'C13')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HCO',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HCO',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HCO',$tHXs,'H1')

elseif (($1='N15')and($2='amino')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HN',$aX90s,'N15')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HN',$pwX90s,'N15')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHN',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHN',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHN',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHN',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HN',$pwHspinals,'H1')
  BPsetparams('aHspinal_HN',$aHspinals,'H1')
  BPsetparams('phHspinal_HN',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HN',$pwHtppms,'H1')
  BPsetparams('aHtppm_HN',$aHtppms,'H1')
  BPsetparams('phHtppm_HN',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HN',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HN',$aXhxs,'N15')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HN',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HN',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HN',$tHXs,'H1')

elseif (($1='N15')and($2='amide')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HNai',$aX90s,'N15')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HNai',$pwX90s,'N15')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHNai',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHNai',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHNai',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHNai',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HNai',$pwHspinals,'H1')
  BPsetparams('aHspinal_HNai',$aHspinals,'H1')
  BPsetparams('phHspinal_HNai',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HNai',$pwHtppms,'H1')
  BPsetparams('aHtppm_HNai',$aHtppms,'H1')
  BPsetparams('phHtppm_HNai',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HNai',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HNai',$aXhxs,'N15')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HNai',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HNai',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HNai',$tHXs,'H1')

elseif (($1='N15')and($2='amine')) then 

// Pulse Widths and Amplitudes 
// (pwH90_mp = pwX90 and aH90_mp = aH90_hp*pwH90/pwX90)

  $aX90s='' format(aX90,4,0):$aX90s
  BPsetparams('aX90_HNam',$aX90s,'N15')
  $pwX90s='' format(pwX90,6,4):$pwX90s
  BPsetparams('pwX90_HNam',$pwX90s,'N15')
  $aH90s_hp='' format(aH90,4,0):$aH90s_hp
  BPsetparams('aH90_hpHNam',$aH90s_hp,'H1')
  $pwH90s_hp='' format(pwH90,6,4):$pwH90s_hp
  BPsetparams('pwH90_hpHNam',$pwH90s_hp,'H1')
  $aH90_mp=aH90*(pwH90/pwX90)
  $aH90_mp=trunc($aH90_mp + 0.5) 
  $aH90s_mp='' format($aH90_mp,4,0):$aH90s_mp
  BPsetparams('aH90_mpHNam',$aH90s_mp,'H1')
  $pwH90s_mp='' format(pwX90,6,4):$pwH90s_mp
  BPsetparams('pwH90_mpHNam',$pwH90s_mp,'H1')

// Decoupling

  $pwHspinals='' format(pwHspinal,6,4):$pwHspinals
  $aHspinals='' format(aHspinal,4,0):$aHspinals
  $phHspinals='' format(phHspinal,6,1):$phHspinals
  BPsetparams('pwHspinal_HNam',$pwHspinals,'H1')
  BPsetparams('aHspinal_HNam',$aHspinals,'H1')
  BPsetparams('phHspinal_HNam',$phHspinals,'H1')
  $pwHtppms='' format(pwHtppm,6,4):$pwHtppms
  $aHtppms='' format(aHtppm,4,0):$aHtppms
  $phHtppms='' format(phHtppm,6,1):$phHtppms
  BPsetparams('pwHtppm_HNam',$pwHtppms,'H1')
  BPsetparams('aHtppm_HNam',$aHtppms,'H1')
  BPsetparams('phHtppm_HNam',$phHtppms,'H1')

// Cross Polarization 

  $aHhxs='' format(aHhx,4,0):$aHhxs
  BPsetparams('aHhx_HNam',$aHhxs,'H1')
  $aXhxs='' format(aXhx,4,0):$aXhxs
  BPsetparams('aXhx_HNam',$aXhxs,'N15')
  $bHXs='' format(bHX,4,0):$bHXs
  BPsetparams('bHX_HNam',$bHXs,'H1')
  $dHXs='' format(dHX,4,0):$dHXs
  BPsetparams('dHX_HNam',$dHXs,'H1')
  $tHXs='' format(tHX,6,4):$tHXs
  BPsetparams('tHX_HNam',$tHXs,'H1')

else
  banner('Calibration Nucleus and Region Not Found')
  abort
endif
