Psi4
gridblock.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-2017 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program 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 General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License along
22  * with this program; if not, write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24  *
25  * @END LICENSE
26  */
27 
28 #ifndef libmints_gridblock_H
29 #define libmints_gridblock_H
30 /*
31 * gridblock.h
32 * Definition of class GridBlock for use with numerical integrators
33 * (as in KS-DFT) and the various point property calculators
34 *
35 * Created by Robert Parrish on 04/15/2010
36 */
37  #include "psi4/pragma.h"
38  PRAGMA_WARNING_PUSH
39  PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS
40  #include <memory>
42 
43 namespace psi {
45 class GridBlock {
47 public:
49  double* w_;
51  double* x_;
53  double* y_;
55  double* z_;
60  GridBlock() {}
62 
63  int getMaxPoints() const {return max_points_; }
64  int getTruePoints() const {return true_points_; }
65  double* getWeights() const {return w_; }
66  double* getX() const {return x_; }
67  double* getY() const {return y_; }
68  double* getZ() const {return z_; }
69 
70  void setGrid(double* x, double* y, double* z, double* w) {
71  x_ = x;
72  y_ = y;
73  z_ = z;
74  w_ = w;
75  }
76 
77  void setTruePoints(int n) { true_points_ = n; }
78  void setMaxPoints(int n) { max_points_ = n; }
79 };
80 typedef std::shared_ptr<GridBlock> SharedGridBlock;
81 }
82 #endif
int true_points_
Actual number of valid points.
Definition: gridblock.h:59
int getMaxPoints() const
Definition: gridblock.h:63
void setGrid(double *x, double *y, double *z, double *w)
Definition: gridblock.h:70
double * z_
z vector
Definition: gridblock.h:55
double * x_
x vector
Definition: gridblock.h:51
void setTruePoints(int n)
Definition: gridblock.h:77
int max_points_
Maximum number of points in block at the moment.
Definition: gridblock.h:57
double * w_
Weight vector.
Definition: gridblock.h:49
~GridBlock()
Definition: gridblock.h:61
PRAGMA_WARNING_PUSH PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS PRAGMA_WARNING_POP
Definition: integraliter.cc:42
double * getZ() const
Definition: gridblock.h:68
double * getX() const
Definition: gridblock.h:66
double * getY() const
Definition: gridblock.h:67
int getTruePoints() const
Definition: gridblock.h:64
double * getWeights() const
Definition: gridblock.h:65
std::shared_ptr< GridBlock > SharedGridBlock
Definition: gridblock.h:80
void setMaxPoints(int n)
Definition: gridblock.h:78
GridBlock()
Definition: gridblock.h:60
double * y_
y vector
Definition: gridblock.h:53