src/IntRank2/IntHF.cc
/* For this we need to know the 3 (reducible) PAS spatial tensor components,
   { Axx, Ayy, Azz } as well as the two spin quantum numbers & an orientation.
   It is assumed that the input Auv are in Gauss. Note that the three Cartesian
   values { Axx, Ayy, Azz } are equivalent to the three spherical values
   { Aiso, Adelzz, Aeta }.  Both specify the reducible rank 2 hyperfine spatial
   tensor in its principal axes.

        Input      HF      : Hyperfine interaction (this)
                   AxAyAz  : PAS HF Cartesian cmpts (Gauss)
                   IsoI    : Spin I isotope type
                   IsoS    : Spin S isotope type
        Output     none    : Hyperfine interaction constructed
                             from Axx, Ayy, Azz contained in
                             the input coordinate (in Gauss)                 */
For this we need to know the 3 (reducible) PAS spatial tensor components,
{ Axx, Ayy, Azz } as well as the two spin quantum numbers & an orientation.
It is assumed that the input Auv are in Gauss. Note that the three Cartesian
values { Axx, Ayy, Azz } are equivalent to the three spherical values
{ Aiso, Adelzz, Aeta }.  Both specify the reducible rank 2 hyperfine spatial
tensor in its principal axes.


For this we need to know the 3 ( reducible ) PAS spatial tensor components { Axx Ayy Azz } as well as the two spin quantum numbers & an orientation . It is assumed that the input Auv are in Gauss . Note that the three Cartesian values { Axx Ayy Azz } are equivalent to the three spherical values { Aiso Adelzz Aeta } . Both specify the reducible rank 2 hyperfine spatial tensor in its principal axes .
IntHF::IntHF(const string& II,const string& IS,
                                          const coord& Axyz, const EAngles& EA)
  {
  if(!SpinCheck(II,IS)) IHFfatal(2);		
  Isotope III(II);				
  Isotope IIS(IS);				
  if(!SpinCheck(II,IS,true)) 			
   { IHFerror(60, 1); IHFfatal(2); }		
  double Iz = III.qn();				
  double Sz = IIS.qn();				
  coord  ADE = IntRank2A::AisoDelzEta(Axyz);	
  AISO  = ADE.x();				
  DELZZ = ADE.y();				
  double X = xi();				
  double E = ADE.z();				
  IntRank2::operator=(IntRank2(Iz,Sz,X,E,EA));	
  setT20wh();					
  }
IntHF :: IntHF ( const string & II , const string & IS , const coord & Axyz , const EAngles & EA ) { if ( ! SpinCheck ( II , IS ) ) IHFfatal ( 2 ) ; Isotope III ( II ) ; Isotope IIS ( IS ) ; if ( ! SpinCheck ( II , IS , true ) ) { IHFerror ( 60 , 1 ) ; IHFfatal ( 2 ) ; } double Iz = III . qn ( ) ; double Sz = IIS . qn ( ) ; coord ADE = IntRank2A :: AisoDelzEta ( Axyz ) ; AISO = ADE . x ( ) ; DELZZ = ADE . y ( ) ; double X = xi ( ) ; double E = ADE . z ( ) ; IntRank2 :: operator = ( IntRank2 ( Iz , Sz , X , E , EA ) ) ; setT20wh ( ) ; }
For this we need to know the 3 (reducible) PAS spatial tensor components,
{ Axx, Ayy, Azz } as well as the two spin quantum numbers & an orientation.
For this we need to know the 3 ( reducible ) PAS spatial tensor components { Axx Ayy Azz } as well as the two spin quantum numbers & an orientation .
// Insure spin types valid // Make isotope for II // Make isotope for IS // Insure nucleus/e- pair // Disallow e-/e- n/n pairing // Get Iz value of II // Get Iz value of IS // Get Aiso, DELZZ, Eta // Set isotropic value  // Set delzz value // Get interaction constant // Get asymmetry (eta) // Use generic interaction // Create added T2 component