00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef QC_PM3_H_
00021 #define QC_PM3_H_
00022
00023
00024
00025 #include "QCMndo.hpp"
00030
00036 class QCPm3 : public QCMndo
00037 {
00038
00040 public:
00041
00042
00046 QCPm3 (const int& nbAOsp, const int& nbAOspd);
00047
00048
00052 virtual ~QCPm3 (void);
00053
00054
00056 protected:
00057
00058
00060 private:
00061
00062
00065 public:
00066 protected:
00067 private:
00068
00069 };
00070
00071
00072
00073
00079 template <class TPParam>
00080 class QCPm3T : public QCPm3
00081 {
00082
00084 public:
00085
00086
00092 typedef TPParam TParam;
00093
00094
00095
00099 QCPm3T (void);
00100
00101
00105 virtual ~QCPm3T (void);
00106
00107
00111 const string& getParameterName (void) { return TPParam::getName(); };
00112
00113
00114
00120 QCFloat exponentialExpansion (const TPParam* QCRestrict parameterA,
00121 const TPParam* QCRestrict parameterB,
00122 const QCFloat& rAB);
00123
00124
00125
00131 QCFloat dExponentialExpansion (const TPParam* QCRestrict parameterA,
00132 const TPParam* QCRestrict parameterB,
00133 const QCFloat& rAB);
00134
00135
00136
00138 protected:
00139
00140
00142 private:
00143
00144
00147 public:
00148 protected:
00149 private:
00150
00151 };
00152
00153
00154
00155
00156
00157
00158
00159 #endif // QC_PM3_H_