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

MJMaterialElement.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 _MJMATERIALELEMENT_HH
00059 #define _MJMATERIALELEMENT_HH
00060 
00061 //---------------------------------------------------------------------------//
00062 
00063 #include <string>
00064 #include <vector>
00065 
00066 #include "globals.hh"
00067 
00068 #include "database/MJDatabaseElement.hh"
00069 #include "materials/MJMaterialIsotope.hh"
00070 
00071 using namespace std;
00072 
00073 //---------------------------------------------------------------------------//
00074 class G4Element;
00075 
00076 class MJMaterialElement 
00077 {
00078 public:
00079 
00080   //default constructor
00081   MJMaterialElement();
00082 
00083   MJMaterialElement(G4String name, G4bool registerG4);
00084 
00085   //copy constructor
00086   MJMaterialElement(const MJMaterialElement &);
00087 
00088   //destructor
00089   ~MJMaterialElement();
00090 
00091   //public interface
00092 
00093   void CreateFromDatabase();
00094 
00098   void RegisterWithG4();
00099 
00100   G4String    GetName() { return fName; }
00101   G4String    GetSymbol() { return fSymbol; }
00102   G4int       GetNoOfIsotopes() { return fNoOfIsotopes; }
00103   G4int       GetZ() { return fZ; }
00104 
00105   G4bool operator==(MJMaterialElement a) { return GetName() == a.GetName(); }
00106   G4bool operator<(MJMaterialElement a) { return GetZ() < a.GetZ(); }
00107 
00108   //protected members
00109 protected:
00110 
00111  
00112   //private  members
00113 private:
00114 
00115   G4bool             fExists;
00116   G4String           fName;
00117   G4String           fSymbol;
00118   G4int              fNoOfIsotopes;
00119   G4int              fZ;
00120   G4Element          *fG4Element;
00121   vector<string>   fIsoName;
00122   vector<string>   fIsoSymb;
00123   vector<G4double>   fIsoAbundance;
00124   vector<MJMaterialIsotope>   fMJIsotopes;
00125 };
00126 #endif

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