Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

haatomorb.h

00001 //  haatomorb.h
00002 //
00003 //  Classes 
00004 //  to define Atomic Orbital object in HARLEM.
00005 //
00006 //
00007 //  Igor Kurnikov , University of Pittsburgh 
00008 //
00009 //  Revisions: November 17 1997
00010 //
00011 #ifndef HAATOMORB_H
00012 #define HAATOMORB_H
00013 
00014 #include "hastl.h"
00015 
00016 #include "haatom.h"
00017 #include "haatombasis.h"
00018 #include "halinalg.h"
00019 
00020 
00021 class HaAtomOrb 
00022 // class to define Atomic orbital or suborbital 
00023 // in a given Atomic Basis 
00024 {
00025 public:
00026   HaAtomOrb();
00027   HaAtomOrb(const HaAtomOrb & ref);
00028   virtual ~HaAtomOrb();
00029 
00030   bool operator == (const HaAtomOrb &  rhs) const;
00031   bool operator <  (const HaAtomOrb &  rhs) const;
00032   
00033   double & operator [](int index); // get an expansion coefficient by the index value  
00034 
00035   HaAtom*  GetAtHost();             // Get Pointer to the atom, orbital resides on
00036   const HaAtom*  GetAtHost() const; 
00037   const HaString& GetLbl() const { return id; }
00038  
00039   bool FillRef(char* buf) const;
00040 
00041   bool Print_info(ostream& sout, const int level) const;
00042   bool SetAtBasis(HaAtomBasis* new_pbas) { pBas= new_pbas; return true; }
00043 
00044   HaString id;
00045   HaAtomBasis* pBas;
00046   HaVec_double coef;
00047 
00048 protected:
00049 
00050 };
00051 
00052 #endif /* !HAATOMORB_H */

Generated on Tue Feb 17 02:03:04 2004 for harlem by doxygen 1.3.6