00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00032
00038
00039
00044
00045
00056
00057
00058 #ifndef _MJMATERIALISOTOPE_HH
00059 #define _MJMATERIALISOTOPE_HH
00060
00061
00062
00063 #include <string.h>
00064
00065 #include "globals.hh"
00066 #include "G4Isotope.hh"
00067
00068
00069
00070 class MJMaterialIsotope
00071 {
00072 public:
00073
00074
00075 MJMaterialIsotope();
00076
00077 MJMaterialIsotope(const G4String name, G4bool registerG4);
00078
00079
00080 MJMaterialIsotope(const MJMaterialIsotope &);
00081
00082
00083 ~MJMaterialIsotope();
00084
00085 void CreateFromDatabase();
00086 void RegisterWithG4();
00087
00088
00089 G4String GetName() { return fName; }
00090 G4String GetSymbol() { return fSymbol; }
00091 G4int GetZ() { return fZ; }
00092 G4int GetN() { return fN; }
00093 G4double GetMolarMass() { return fMolarMass; }
00094 G4String GetPNNLKey() { return fPNNLKey; }
00095 G4String GetDECAY5Key() { return fDECAY5Key; }
00096 G4String GetComment() { return fComment; }
00097 G4Isotope *GetG4Isotope() { return fG4Isotope; }
00098
00099 G4bool operator==(MJMaterialIsotope a) { return GetName() == a.GetName(); }
00100 G4bool operator<(MJMaterialIsotope a) { return GetN() < a.GetN(); }
00101
00102
00103 protected:
00104
00105
00106
00107 private:
00108 G4bool fExists;
00109 G4String fName;
00110 G4String fSymbol;
00111 G4int fZ;
00112 G4int fN;
00113 G4double fMolarMass;
00114 G4String fPNNLKey;
00115 G4String fDECAY5Key;
00116 G4String fComment;
00117 G4Isotope *fG4Isotope;
00118
00119 };
00120 #endif