00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef QC_AM1_H_
00021 #define QC_AM1_H_
00022
00023
00024
00025 #include "QCMndo.hpp"
00026
00027
00028
00029
00034
00039
00040 class QCAm1 : public QCMndo
00041 {
00042
00044 public:
00045
00046
00050 QCAm1 (const int& nbAOsp, const int& nbAOspd);
00051
00052
00056 virtual ~QCAm1 (void);
00057
00058
00059
00061 protected:
00062
00063
00065 private:
00066
00067
00070 public:
00071 protected:
00072 private:
00073
00074 };
00075
00076
00077
00078
00084 template <class TPParam>
00085 class QCAm1T : public QCAm1
00086 {
00087
00089 public:
00090
00091
00097 typedef TPParam TParam;
00098
00099
00100
00104 QCAm1T (void);
00105
00106
00110 virtual ~QCAm1T (void);
00111
00112
00116 const string& getParameterName (void) { return TPParam::getName(); };
00117
00118
00124 QCFloat exponentialExpansion (const TPParam* QCRestrict parameterA,
00125 const TPParam* QCRestrict parameterB,
00126 const QCFloat& rAB);
00127
00128
00129
00135 QCFloat dExponentialExpansion (const TPParam* QCRestrict parameterA,
00136 const TPParam* QCRestrict parameterB,
00137 const QCFloat& rAB);
00138
00139
00140
00142 protected:
00143
00144
00146 private:
00147
00148
00151 public:
00152 protected:
00153 private:
00154
00155 };
00156
00157
00158
00159
00160
00161 #endif // QC_AM1_H_