00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00023
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);
00034
00035 HaAtom* GetAtHost();
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