00001 //*****************************************************************************// 00002 // // 00003 // Copyright (c) 2001 // 00004 // INRIA // 00005 // 54600 VILLERS LES NANCY // 00006 // France // 00007 // // 00008 //*****************************************************************************// 00009 // // 00010 // *** NOTICE OF PROPRIETARY INFORMATION *** // 00011 // // 00012 // The information contained in this file is considered proprietary and the // 00013 // exclusive property of INRIA. This information may not be disclosed, // 00014 // duplicated or used, in whole or in part, for any purpose whatsoever // 00015 // without express written authorization from INRIA // 00016 // // 00017 //*****************************************************************************// 00018 00019 00020 #ifndef QC_HAMILTON_GTR_H_ 00021 #define QC_HAMILTON_GTR_H_ 00022 00023 00024 #include "QCMatElemGtr.hpp" 00025 #include "QCPoint.hpp" 00026 00027 00028 class QCRepInterElec; 00029 class QCSymMatrix; 00030 class QCSystem; 00031 class QCSubDomain; 00032 class QCGeneralData; 00033 00034 00040 template <class TPMatrix> 00041 class QCHamiltonGtr : 00042 public QCMatElemGtr<TPMatrix> 00043 { 00044 00046 public: 00047 00048 00052 QCHamiltonGtr (void); 00053 00054 00055 00059 virtual ~QCHamiltonGtr (void); 00060 00061 00062 00066 template <class TPManager> 00067 void computeElems (TPManager& manager, 00068 typename TPManager::TSystem::QCIterator& workingSystem); 00069 00070 00071 00072 00076 template <class TPParam> 00077 void completeElems (const TPParam * QCRestrict params, 00078 const QCSubDomain& QCRestrict workingDomain, 00079 const QCSubDomain& QCRestrict remoteDomain, 00080 QCRepInterElec& QCRestrict repInterElecIntegrals, 00081 QCSymMatrix& QCRestrict hamiltonHAA, 00082 const QCGeneralData& data, 00083 int step, 00084 int nbDomains); 00085 00086 00087 00088 00089 00091 protected: 00092 00093 00095 private: 00096 00097 00098 00101 public: 00102 protected: 00103 private: 00104 00105 }; 00106 00107 #endif // QC_HAMILTON_GTR_H_