MPQC
2.3.1
src
lib
chemistry
qc
mbptr12
twobodygrid.h
1
//
2
// twobodygrid.h
3
//
4
// Copyright (C) 2004 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_mbptr12_twobodygrid_h
33
#define _chemistry_qc_mbptr12_twobodygrid_h
34
35
#include <vector>
36
#include <util/ref/ref.h>
37
#include <util/state/statein.h>
38
#include <util/state/stateout.h>
39
#include <math/scmat/vector3.h>
40
#include <chemistry/molecule/molecule.h>
41
42
using namespace
std;
43
44
namespace
sc {
45
49
class
TwoBodyGrid
:
virtual
public
SavableState
{
50
51
std::string name_;
// String identifier for the grid
52
vector<SCVector3> r1_;
// Cartesian coordinates of particle 1
53
vector<SCVector3> r2_;
// Cartesian coordinates of particle 2
54
SCVector3
O_;
// The origin with respect to which r1 and r2 are defined
55
56
public
:
57
TwoBodyGrid
(
StateIn
&);
60
TwoBodyGrid
(
const
Ref<KeyVal>
&);
61
~
TwoBodyGrid
();
62
63
void
save_data_state(
StateOut
&);
64
65
const
std::string& name()
const
;
66
int
nelem()
const
;
67
const
SCVector3
& origin()
const
;
68
70
SCVector3
xyz1(
int
i,
const
SCVector3
& O=
SCVector3
(0.0))
const
;
72
SCVector3
xyz2(
int
i,
const
SCVector3
& O=
SCVector3
(0.0))
const
;
74
SCVector3
rtp1(
int
i,
const
SCVector3
& O=
SCVector3
(0.0))
const
;
76
SCVector3
rtp2(
int
i,
const
SCVector3
& O=
SCVector3
(0.0))
const
;
78
void
print(std::ostream&o=ExEnv::out0())
const
;
79
80
};
81
82
83
}
84
85
#endif
86
87
// Local Variables:
88
// mode: c++
89
// c-file-style: "CLJ"
90
// End:
91
92
sc::TwoBodyGrid
Class TwoBodyGrid describes a set of coordinates of 2 particles.
Definition:
twobodygrid.h:49
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:332
sc::StateIn
Restores objects that derive from SavableState.
Definition:
statein.h:70
sc::StateOut
Serializes objects that derive from SavableState.
Definition:
stateout.h:61
sc::SCVector3
Definition:
vector3.h:45
sc::SavableState
Base class for objects that can save/restore state.
Definition:
state.h:46
Generated at Sun Jan 26 2020 23:33:05 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.16.