src/IntRank2/IntG.cc
/* This function employs all of the "get*" functions in the above sections
   to parse a parameter set for all of the values needed to define an electron
   G interaction, namely { Iqn, g, gA, eta, alpha, beta, gamma }. In addition
   a static external magnetic field strength (akin to knowing a base frequency)
   is attempted to be determined. If the interaction definition is found, we
   set the interaction or return false. To support G interactions in spin
   systems, which typically know spin isotope types and their spin quantum
   numbers, there is a special function that takes a spin isotope for the
   spin quantum designation.                                                 */
This function employs all of the "get*" functions in the above sections
to parse a parameter set for all of the values needed to define an electron
G interaction, namely { Iqn, g, gA, eta, alpha, beta, gamma }. In addition
a static external magnetic field strength (akin to knowing a base frequency)
is attempted to be determined. If the interaction definition is found, we
set the interaction or return false. To support G interactions in spin
systems, which typically know spin isotope types and their spin quantum
numbers, there is a special function that takes a spin isotope for the
spin quantum designation.
This function employs all of the " get * " functions in the above sections to parse a parameter set for all of the values needed to define an electron G interaction namely { Iqn g gA eta alpha beta gamma } . In addition a static external magnetic field strength ( akin to knowing a base frequency ) is attempted to be determined . If the interaction definition is found we set the interaction or return false . To support G interactions in spin systems which typically know spin isotope types and their spin quantum numbers there is a special function that takes a spin isotope for the spin quantum designation .
bool IntG::setGI(const ParameterSet& pset, int idx, bool warn)
  {
  double  Iqn;                                  
  double  g;					
  double  delz;					
  double  eta;                                  
  EAngles EA;                                   
  double  Bo;                                   
  if(getGI(pset,Iqn,g,delz,eta,EA,Bo,idx,warn))	
    {                                           
    GISO     = g;				
    DELZZ    = delz;                            
    BoFIELD  = Bo;                              
    double X = xi();                            
    IntRank2::operator=(IntRank2(Iqn,X,eta,EA));
    return true;                                
    }
  if(warn) IGerror(24, 1);			
  return false;
  }
bool IntG :: setGI ( const ParameterSet & pset , int idx , bool warn ) { double Iqn ; double g ; double delz ; double eta ; EAngles EA ; double Bo ; if ( getGI ( pset , Iqn , g , delz , eta , EA , Bo , idx , warn ) ) { GISO = g ; DELZZ = delz ; BoFIELD = Bo ; double X = xi ( ) ; IntRank2 :: operator = ( IntRank2 ( Iqn , X , eta , EA ) ) ; return true ; } if ( warn ) IGerror ( 24 , 1 ) ; return false ; }
This function employs all of the "get*" functions in the above sections
to parse a parameter set for all of the values needed to define an electron
G interaction, namely { Iqn, g, gA, eta, alpha, beta, gamma }.
This function employs all of the " get * " functions in the above sections to parse a parameter set for all of the values needed to define an electron G interaction namely { Iqn g gA eta alpha beta gamma } .
// sosi // Our spin quantum number // Our isotropic val (g factor) // Our anisotropic value // Our asymmetry        [0,1] // Our Euler angles (radians) // Our field strengty (Gauss) // Try and get parameter vals // If successful, set interact //   Set isotropic value //   Set anisotropic value //   Set field strength  (G) //   Set interaction constant //   Set rank 2 interaction //   Return we are successful // Insufficient parameters