00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _chemistry_qc_mbptr12_r12amps_h
00029 #define _chemistry_qc_mbptr12_r12amps_h
00030
00031 #ifdef __GNUC__
00032 #pragma interface
00033 #endif
00034
00035 #include <stdexcept>
00036 #include <chemistry/qc/mbptr12/moindexspace.h>
00037
00038 namespace sc {
00039
00046 class R12Amplitudes : public RefCount {
00047
00048 RefSCMatrix T2_aa_, T2_ab_;
00049 RefSCMatrix Rvv_aa_, Rvv_ab_;
00050 RefSCMatrix Roo_aa_, Roo_ab_;
00051 RefSCMatrix Rvo_aa_, Rvo_ab_;
00052 RefSCMatrix Rxo_aa_, Rxo_ab_;
00053
00054 public:
00055 R12Amplitudes(const RefSCMatrix& T2_aa, const RefSCMatrix& T2_ab,
00056 const RefSCMatrix& Rvv_aa, const RefSCMatrix& Rvv_ab,
00057 const RefSCMatrix& Roo_aa, const RefSCMatrix& Roo_ab,
00058 const RefSCMatrix& Rvo_aa, const RefSCMatrix& Rvo_ab,
00059 const RefSCMatrix& Rxo_aa, const RefSCMatrix& Rxo_ab)
00060 {
00061 T2_aa_ = Rvv_aa; T2_ab_ = Rvv_ab;
00062 Rvv_aa_ = Rvv_aa; Rvv_ab_ = Rvv_ab;
00063 Roo_aa_ = Roo_aa; Roo_ab_ = Roo_ab;
00064 Rvo_aa_ = Rvo_aa; Rvo_ab_ = Rvo_ab;
00065 Rxo_aa_ = Rxo_aa; Rxo_ab_ = Rxo_ab;
00066 }
00067 ~R12Amplitudes() {};
00068
00069 const RefSCMatrix T2_aa() const;
00070 const RefSCMatrix T2_ab() const;
00071 const RefSCMatrix Rvv_aa() const;
00072 const RefSCMatrix Rvv_ab() const;
00073 const RefSCMatrix Roo_aa() const;
00074 const RefSCMatrix Roo_ab() const;
00075 const RefSCMatrix Rvo_aa() const;
00076 const RefSCMatrix Rvo_ab() const;
00077 const RefSCMatrix Rxo_aa() const;
00078 const RefSCMatrix Rxo_ab() const;
00079
00080 };
00081
00082 }
00083
00084 #endif
00085
00086
00087
00088
00089