00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00032 // Begin description of class here 00039 // End class description 00040 // 00045 // 00046 // --------------------------------------------------------------------------// 00056 // --------------------------------------------------------------------------// 00057 00058 #ifndef _MJDATABASEELEMENT_HH 00059 #define _MJDATABASEELEMENT_HH 00060 00061 //---------------------------------------------------------------------------// 00062 00063 #include "libpq-fe.h" 00064 00065 #include <string> 00066 #include <vector> 00067 #include <iostream> 00068 00069 using namespace std; 00070 00071 //---------------------------------------------------------------------------// 00072 00073 class MJDatabaseElement 00074 { 00075 public: 00076 00077 //default constructor 00078 MJDatabaseElement(); 00079 MJDatabaseElement(string , string , int, int, string[], double[], string); 00080 00081 //copy constructor 00082 MJDatabaseElement(const MJDatabaseElement &); 00083 00084 //destructor 00085 ~MJDatabaseElement(); 00086 00087 //public interface 00088 00089 string GetName(){return fName;} 00090 string GetSymbol(){return fSymb;} 00091 int GetNoOfIsotopes(){return fNoIsotopes;} 00092 string GetComment(){return fComments;} 00093 int GetZ() {return fZ;} 00094 vector<string> GetIsoNames(){return fIsoNames;} 00095 vector<string> GetIsoSymbols(){return fIsoSymb;} 00096 vector<double> GetIsoAbundance(){return fIsoAbundance;} 00097 00098 MJDatabaseElement* createElement(PGresult*); 00099 00100 friend ostream& operator << (ostream& os, MJDatabaseElement & ele); 00101 00102 //protected members 00103 protected: 00104 00105 //private members 00106 private: 00107 string fName; 00108 string fSymb; 00109 int fZ; 00110 int fNoIsotopes; 00111 vector<string> fIsoNames; 00112 vector<double> fIsoAbundance; 00113 vector<string> fIsoSymb; 00114 string fComments; 00115 00116 }; 00117 #endif