MPQC
2.3.1
Main Page
Related Pages
Classes
Files
File List
src
lib
chemistry
qc
intv3
obintv3.h
1
//
2
// obintv3.h
3
//
4
// Copyright (C) 1996 Limit Point Systems, Inc.
5
//
6
// Author: Curtis Janssen <cljanss@limitpt.com>
7
// Maintainer: LPS
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
#ifndef _chemistry_qc_intv3_obintv3_h
29
#define _chemistry_qc_intv3_obintv3_h
30
31
#include <chemistry/qc/basis/obint.h>
32
#include <chemistry/qc/intv3/int1e.h>
33
34
namespace
sc {
35
36
// /////////////////////////////////////////////////////////////////////////
37
41
class
OneBodyIntV3
:
public
OneBodyInt
{
42
protected
:
43
Ref<Int1eV3>
int1ev3_;
44
typedef
void (
Int1eV3
::*IntegralFunction)(int,int);
45
IntegralFunction intfunc_;
46
public
:
47
OneBodyIntV3
(
Integral
*,
48
const
Ref<GaussianBasisSet>
&,
const
Ref<GaussianBasisSet>
&,
49
IntegralFunction);
50
~
OneBodyIntV3
();
51
void
compute_shell
(
int
,
int
);
52
bool
cloneable
();
53
Ref<OneBodyInt>
clone
();
54
};
55
56
class
PointChargeIntV3
:
public
OneBodyInt
57
{
58
protected
:
59
Ref<Int1eV3>
int1ev3_;
60
Ref<PointChargeData>
data_;
61
public
:
62
PointChargeIntV3
(
Integral
*,
63
const
Ref<GaussianBasisSet>
&,
64
const
Ref<GaussianBasisSet>
&,
65
const
Ref<PointChargeData>
&);
66
~
PointChargeIntV3
();
67
void
compute_shell
(
int
,
int
);
68
};
69
70
class
EfieldDotVectorIntV3
:
public
OneBodyInt
71
{
72
protected
:
73
Ref<Int1eV3>
int1ev3_;
74
Ref<EfieldDotVectorData>
data_;
75
public
:
76
EfieldDotVectorIntV3
(
Integral
*,
77
const
Ref<GaussianBasisSet>
&,
78
const
Ref<GaussianBasisSet>
&,
79
const
Ref<EfieldDotVectorData>
&);
80
~
EfieldDotVectorIntV3
();
81
void
compute_shell
(
int
,
int
);
82
};
83
84
class
DipoleIntV3
:
public
OneBodyInt
85
{
86
protected
:
87
Ref<Int1eV3>
int1ev3_;
88
Ref<DipoleData>
data_;
89
public
:
90
DipoleIntV3
(
Integral
*,
91
const
Ref<GaussianBasisSet>
&,
92
const
Ref<GaussianBasisSet>
&,
93
const
Ref<DipoleData>
&);
94
~
DipoleIntV3
();
95
void
compute_shell
(
int
,
int
);
96
};
97
98
// /////////////////////////////////////////////////////////////////////////
99
103
class
OneBodyDerivIntV3
:
public
OneBodyDerivInt
{
104
protected
:
105
Ref<Int1eV3>
int1ev3_;
106
typedef
void (
Int1eV3
::*IntegralFunction)(int,int,int,int);
107
IntegralFunction intfunc_;
108
public
:
109
OneBodyDerivIntV3
(
Integral
*,
110
const
Ref<GaussianBasisSet>
&,
111
const
Ref<GaussianBasisSet>
&,
112
IntegralFunction);
113
~
OneBodyDerivIntV3
();
114
void
compute_shell
(
int
,
int
,
DerivCenters
&);
115
void
compute_shell
(
int
,
int
,
int
);
116
};
117
118
}
119
120
#endif
121
122
// Local Variables:
123
// mode: c++
124
// c-file-style: "CLJ"
125
// End:
Generated at Mon Feb 25 2013 02:28:43 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.3.1.