Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

MJDatabaseMaterial.hh

Go to the documentation of this file.
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 _MJDATABASEMATERIAL_HH
00059 #define _MJDATABASEMATERIAL_HH
00060 
00061 //---------------------------------------------------------------------------//
00062 
00063 #include <string>
00064 #include <vector>
00065 #include "libpq-fe.h"
00066 
00067 using namespace std;
00068 //---------------------------------------------------------------------------//
00069 
00070 class MJDatabaseMaterial 
00071 {
00072 public:
00073 
00074   //default constructor
00075   MJDatabaseMaterial();
00076 
00077   MJDatabaseMaterial(string,  double, double, double, int,
00078                      string, string);
00079 
00080   //copy constructor
00081   MJDatabaseMaterial(const MJDatabaseMaterial &);
00082 
00083   //destructor
00084   ~MJDatabaseMaterial();
00085 
00086   //public interface
00087   string GetName() { return fName;}
00088   double GetDensity() { return fDensity; }
00089   double GetTemperature() { return fTemperature;}
00090   double GetPressure() { return fPressure;}
00091   int GetNoComponents() { return fNumOfComponents; }
00092   vector<int> GetNoAtoms() { return fNumAtoms; }
00093   vector<string> GetComponents() { return fComponents;}
00094   vector<double> GetFracMass() { return fFracMass;}
00095   string GetBackground() { return fDefaultBKG; }
00096   string GetComment() { return fComment; }
00097 
00098   MJDatabaseMaterial* createMaterial(PGresult *res, int);
00099   void print(ostream&);
00100 
00101   friend ostream& operator << (ostream& os, MJDatabaseMaterial & mat);
00102   //protected members
00103 protected:
00104 
00105 
00106   //private  members
00107 private:
00108   string    fName;
00109   double    fDensity;
00110   double    fTemperature;
00111   double    fPressure;
00112   int       fNumOfComponents;
00113   vector<string> fComponents;  //list of components
00114   vector<int>       fNumAtoms;
00115   vector<double>    fFracMass;        //fractional mass
00116   string    fDefaultBKG;     // default background
00117   string    fComment;
00118   // timestamp  fBeginTime;
00119   // timestamp  fEndTime;
00120 
00121   //need components
00122 };
00123 #endif

Generated on Mon Nov 29 16:58:49 2004 for Majorana Simulation by  doxygen 1.3.9.1