MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
cints
shellpairs.h
1
//
2
// shellpairs.h
3
//
4
// Copyright (C) 2001 Edward Valeev
5
//
6
// Author: Edward Valeev <edward.valeev@chemistry.gatech.edu>
7
// Maintainer: EV
8
//
9
// This file is part of the SC Toolkit.
10
//
11
// The SC Toolkit is free software; you can redistribute it and/or modify
12
// it under the terms of the GNU Library General Public License as published by
13
// the Free Software Foundation; either version 2, or (at your option)
14
// any later version.
15
//
16
// The SC Toolkit is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU Library General Public License for more details.
20
//
21
// You should have received a copy of the GNU Library General Public License
22
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
//
25
// The U.S. Government is granted a limited license as per AL 91-7.
26
//
27
28
#ifdef __GNUG__
29
#pragma interface
30
#endif
31
32
#ifndef _chemistry_qc_cints_shellpairs_h
33
#define _chemistry_qc_cints_shellpairs_h
34
35
#include <util/ref/ref.h>
36
#include <chemistry/qc/basis/basis.h>
37
#include <chemistry/qc/cints/primpairs.h>
38
39
namespace
sc {
40
41
class
ShellPairsCints;
42
44
class
ShellPairCints
:
virtual
public
SavableState
{
45
int
prim1_offset_;
46
int
prim2_offset_;
47
Ref<PrimPairsCints>
prim_pairs_;
48
49
friend
void
init_shell_pair(
ShellPairsCints
&);
50
51
public
:
52
ShellPairCints
(
Ref<PrimPairsCints>
&);
53
ShellPairCints
(
StateIn
&);
54
~
ShellPairCints
();
55
56
void
save_data_state
(
StateOut
&);
57
58
void
init(
const
int
,
59
const
int
);
60
61
prim_pair_t
* prim_pair(
int
p1,
int
p2)
const
{
return
prim_pairs_->prim_pair(p1+prim1_offset_,p2+prim2_offset_); };
62
double
prim_pair_P(
int
p1,
int
p2,
int
xyz)
const
{
return
prim_pairs_->P(p1+prim1_offset_,p2+prim2_offset_,xyz); };
63
double
prim_pair_gamma(
int
p1,
int
p2)
const
{
return
prim_pairs_->gamma(p1+prim1_offset_,p2+prim2_offset_); };
64
double
prim_pair_ovlp(
int
p1,
int
p2)
const
{
return
prim_pairs_->ovlp(p1+prim1_offset_,p2+prim2_offset_); }
65
};
66
67
69
class
ShellPairsCints
:
virtual
public
SavableState
{
70
Ref<GaussianBasisSet>
bs1_;
71
Ref<GaussianBasisSet>
bs2_;
72
Ref<PrimPairsCints>
prim_pairs_;
73
Ref<ShellPairCints>
shell_pair_;
74
75
public
:
76
ShellPairsCints
(
const
Ref<GaussianBasisSet>
&,
77
const
Ref<GaussianBasisSet>
&);
78
ShellPairsCints
(
const
Ref<ShellPairsCints>
&);
79
ShellPairsCints
(
const
Ref<KeyVal>
&);
80
ShellPairsCints
(
StateIn
&);
81
82
~
ShellPairsCints
();
83
84
void
save_data_state
(
StateOut
&);
85
86
friend
void
init_shell_pair(
ShellPairsCints
&);
87
ShellPairCints
* shell_pair(
int
si,
int
sj)
const
{
88
shell_pair_->init(bs1_->
shell_to_primitive
(si), bs2_->
shell_to_primitive
(sj));
89
return
shell_pair_.pointer();
90
}
91
};
92
93
}
94
95
#endif
96
97
// Local Variables:
98
// mode: c++
99
// c-file-style: "CLJ"
100
// End:
Generated at Fri Oct 25 2013 23:27:30 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.4.