Psi4
matrixtmp.h
Go to the documentation of this file.
1 /*
2  * @BEGIN LICENSE
3  *
4  * Psi4: an open-source quantum chemistry software package
5  *
6  * Copyright (c) 2007-2018 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This file is part of Psi4.
12  *
13  * Psi4 is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License as published by
15  * the Free Software Foundation, version 3.
16  *
17  * Psi4 is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public License along
23  * with Psi4; if not, write to the Free Software Foundation, Inc.,
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25  *
26  * @END LICENSE
27  */
28 
29 #ifndef _psi_src_bin_psimrcc_ccmatrixtmp_h
30 #define _psi_src_bin_psimrcc_ccmatrixtmp_h
31 /***************************************************************************
32  * Copyright (C) 2007 by Francesco Evangelista and Andrew Simmonett
33  * frank@ccc.uga.edu
34  * SR/MRCC Code
35  ***************************************************************************/
36 
37 namespace psi {
38 namespace psimrcc {
39 
40 class CCMatrix;
41 
42 enum DiskOpt { none, dump, release };
43 
47 class CCMatTmp {
48  public:
49  CCMatTmp(CCMatrix* Matrix, DiskOpt disk_option = none);
50  CCMatrix* operator->() const { return (Matrix_); }
51  CCMatrix* get_CCMatrix() const { return (Matrix_); }
52  ~CCMatTmp();
53 
54  private:
57 };
58 
62 class CCMatIrTmp {
63  public:
64  CCMatIrTmp(CCMatrix* Matrix, int irrep, DiskOpt disk_option = none);
65  CCMatrix* operator->() const { return (Matrix_); }
66  CCMatrix* get_CCMatrix() const { return (Matrix_); }
67  ~CCMatIrTmp();
68 
69  private:
71  int irrep_;
73 };
74 
75 } // namespace psimrcc
76 } // namespace psi
77 
78 #endif // _psi_src_bin_psimrcc_ccmatrixtmp_h
PsiReturnType psimrcc(SharedWavefunction, Options &)
Definition: psimrcc/main.cc:86
DiskOpt disk_option_
Definition: matrixtmp.h:55
Definition: psimrcc/matrix.h:49
int irrep_
Definition: matrixtmp.h:71
Definition: matrixtmp.h:47
Definition: matrixtmp.h:42
CCMatrix * Matrix_
Definition: matrixtmp.h:72
DiskOpt disk_option_
Definition: matrixtmp.h:70
CCMatrix * get_CCMatrix() const
Definition: matrixtmp.h:51
CCMatrix * Matrix_
Definition: matrixtmp.h:56
~CCMatTmp()
Definition: matrixtmp.cc:37
CCMatrix * operator->() const
Definition: matrixtmp.h:50
CCMatrix * get_CCMatrix() const
Definition: matrixtmp.h:66
~CCMatIrTmp()
Definition: matrixtmp.cc:47
Makes using matrices just a little easier.
Definition: libmints/matrix.h:59
Definition: matrixtmp.h:62
Definition: matrixtmp.h:42
CCMatIrTmp(CCMatrix *Matrix, int irrep, DiskOpt disk_option=none)
Definition: matrixtmp.cc:44
DiskOpt
Definition: matrixtmp.h:42
CCMatTmp(CCMatrix *Matrix, DiskOpt disk_option=none)
Definition: matrixtmp.cc:35
Definition: matrixtmp.h:42
CCMatrix * operator->() const
Definition: matrixtmp.h:65