"SS_setsolids_DP - Update the basic parameters for 'tn' and 'dn' and the dp90  " 
"                  groups and in the probe file for the appropriate region     "
"                  from any Solids dataset.                                    "

"                  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')

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

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

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

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

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

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