Psi4
integralparameters.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_INTEGRALPARAMETERS_H
29 #define LIBMINTS_INTEGRALPARAMETERS_H
30 
31 namespace psi {
32 
33 class Vector;
34 
36 {
37 private:
38  unsigned int nparam_;
39 public:
40  IntegralParameters(unsigned int nparam=0)
41  : nparam_(nparam) { }
42  virtual ~IntegralParameters() {}
43 
44  unsigned int nparam() const { return nparam_; }
45 };
46 
48 {
49 private:
50  double *coeff_;
51  double *exponent_;
52 
53 public:
54  CorrelationFactor(unsigned int nparam);
55  CorrelationFactor(std::shared_ptr<Vector> coeff,
56  std::shared_ptr<Vector> exponent);
57  virtual ~CorrelationFactor();
58 
59  virtual double slater_exponent() const { return 1.0; }
60  void set_params(std::shared_ptr<Vector> coeff,
61  std::shared_ptr<Vector> exponent);
62  double *exponent() const { return exponent_; }
63  double *coeff() const { return coeff_; }
64 };
65 
67 {
68 private:
70 
71 public:
72 
73  virtual double slater_exponent() const { return slater_exponent_; }
74 
76  double exponent(){return slater_exponent_;}
77 };
78 
79 }
80 
81 #endif // INTEGRALPARAMETERS_H
double exponent()
Definition: integralparameters.h:76
virtual double slater_exponent() const
Definition: integralparameters.h:73
Definition: integralparameters.h:35
IntegralParameters(unsigned int nparam=0)
Definition: integralparameters.h:40
Definition: integralparameters.h:47
FittedSlaterCorrelationFactor(double exponent)
Definition: integralparameters.cc:63
virtual double slater_exponent() const
Definition: integralparameters.h:59
unsigned int nparam_
Definition: integralparameters.h:38
virtual ~CorrelationFactor()
Definition: integralparameters.cc:44
virtual ~IntegralParameters()
Definition: integralparameters.h:42
CorrelationFactor(unsigned int nparam)
Definition: integralparameters.cc:33
double * coeff_
Definition: integralparameters.h:50
double * coeff() const
Definition: integralparameters.h:63
double * exponent_
Definition: integralparameters.h:51
unsigned int nparam() const
Definition: integralparameters.h:44
double * exponent() const
Definition: integralparameters.h:62
double slater_exponent_
Definition: integralparameters.h:69
void set_params(std::shared_ptr< Vector > coeff, std::shared_ptr< Vector > exponent)
Definition: integralparameters.cc:50
Definition: integralparameters.h:66