QCParameter.hpp

Go to the documentation of this file.
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_PARAMETER_H_
00021 #define QC_PARAMETER_H_
00022 
00023 
00024 
00025 #include <string>
00026 #include <iostream>
00027 
00028 #include "QCCommon.hpp"
00029 #include "QCReader.hpp"
00030 
00031 
00037 class QCParameter
00038 {
00039 
00040   friend ostream& operator << (ostream& out, const QCParameter& param);
00041 
00043 public:
00044   
00048   int getIdentifier (void)     const { return identifier; };
00049   int getNbAO (void)           const { return nbAO; };
00050   int getQuantumNumberN (void) const { return quantumNumberN; };
00051   int getAtomicNbZ (void)      const { return atomicNbZ; };
00052   int getCoreCharge (void)     const { return coreCharge; };
00053   int getNbValenceElec (void)  const { return coreCharge; };
00054 
00055 
00056 
00058 protected:
00059 
00063   QCParameter (void);
00064 
00065   
00069   virtual ~QCParameter (void) {};
00070 
00071 
00075   QCFloat getMass (void) const { return mass; };
00076  
00077   
00081   void    readSetOfParameters (QCReader *reader);
00082 
00083   
00087   const QCParameter& asBase(void) const { return *this; };
00088 
00089 
00091 private:
00092 
00093 
00094 
00096 public:
00097 protected:
00098 
00102   int     identifier;
00106   int     atomicNbZ;
00110   int     coreCharge;
00114   int     nbAO;
00118   QCFloat mass;
00122   int     quantumNumberN;
00123 
00124 
00125 private:
00126 
00130   static const string   IDENTIFIER;
00131   static const string   MASS;
00132   static const string   ATOMIC_NUMBER;
00133   static const string   CORE_NUCLEAR_CHARGE;
00134   static const string   NB_VALENCE_ATOMIC_ORBITALS;
00135   static const string   PRINCIPAL_QUANTUM_NUMBER;
00136 
00137 
00138 };
00139 
00140 
00141 
00145 extern ostream&
00146 operator << (ostream& out, const QCParameter& param);
00147 
00148 
00149 
00150 #endif // QC_PARAMETER_H_

Generated on Sat Jan 28 21:07:30 2006 for QC++ by  doxygen 1.4.4