src/IntRank2/IntCSA.cc
/* Here we try to use the set { Iqn, SIso, SCSA, Seta, SEAngles , SOm }. The
   spin quantum number sets the dimension of the interaction spin Hilbert space
   SIso is the isotropic chemical shift (PPM), SCSA is the chemical shift
   anisotropy (PPM), and Seta the shift asymmetry ([0,1]). The interaction
   orientation is taken from Euler angles SEAngles & the external static field
   strength is specified by the spin Larmor frequency SOm (Hz). We will
   allow for default settings of the asymmetry, orientation, and Larmor
   frequency so that those arguments need not be input during construction.
   Their default values are all 0.                                           */
Here we try to use the set { Iqn, SIso, SCSA, Seta, SEAngles , SOm }. The
spin quantum number sets the dimension of the interaction spin Hilbert space
SIso is the isotropic chemical shift (PPM), SCSA is the chemical shift
anisotropy (PPM), and Seta the shift asymmetry ([0,1]). The interaction
orientation is taken from Euler angles SEAngles & the external static field
strength is specified by the spin Larmor frequency SOm (Hz). We will
allow for default settings of the asymmetry, orientation, and Larmor
frequency so that those arguments need not be input during construction.
Their default values are all 0.
Here we try to use the set { Iqn SIso SCSA Seta SEAngles SOm } . The spin quantum number sets the dimension of the interaction spin Hilbert space SIso is the isotropic chemical shift ( PPM ) SCSA is the chemical shift anisotropy ( PPM ) and Seta the shift asymmetry ( [ 0 1 ] ) . The interaction orientation is taken from Euler angles SEAngles & the external static field strength is specified by the spin Larmor frequency SOm ( Hz ) . We will allow for default settings of the asymmetry orientation and Larmor frequency so that those arguments need not be input during construction . Their default values are all 0 .
IntCSA::IntCSA(const string& IsoI,
           double Siso, double Scsa, double eta, const EAngles& EA, double Om)
  {
  if(!SpinCheck(IsoI)) ICfatal(2);		
  Isotope II(IsoI);				
  if(!SpinCheck(II, false)) ICfatal(2);		
  SISO      = Siso;				
  SCSA      = Scsa;				
  SOMEGA    = Om;				
  double Iz = II.qn();				
  double X  = xi();				
  IntRank2::operator=(IntRank2(Iz,X,eta,EA));	
  }
IntCSA :: IntCSA ( const string & IsoI , double Siso , double Scsa , double eta , const EAngles & EA , double Om ) { if ( ! SpinCheck ( IsoI ) ) ICfatal ( 2 ) ; Isotope II ( IsoI ) ; if ( ! SpinCheck ( II , false ) ) ICfatal ( 2 ) ; SISO = Siso ; SCSA = Scsa ; SOMEGA = Om ; double Iz = II . qn ( ) ; double X = xi ( ) ; IntRank2 :: operator = ( IntRank2 ( Iz , X , eta , EA ) ) ; }
Here we try to use the set { Iqn, SIso, SCSA, Seta, SEAngles , SOm }.
Here we try to use the set { Iqn SIso SCSA Seta SEAngles SOm } .
// Insure we know this isotope // Get isotope for this type // Insure we are not electron // Set isotropic value (PPM) // Set anisotropic value (PPM) // Set Larmor frequency (Hz) // Get Iz value of spin			 // Get interaction constant // Use generic interaction