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

MJGeneratorPNNLDecayChain.hh

Go to the documentation of this file.
00001 // This code implementation is the intellectual property of
00002 // the RD44 GEANT4 collaboration.
00003 //
00004 // By copying, distributing or modifying the Program (or any work
00005 // based on the Program) you indicate your acceptance of this statement,
00006 // and all its terms.
00007 //
00008 // $Id: MJGeneratorPNNLDecayChain.hh,v 1.2 2004/11/09 13:42:39 xliu Exp $
00009 // GEANT4 tag $Name:  $
00010 //
00011 // File:        MJGeneratorPNNLDecayChain.hh
00012 // Description: Determines relative freqency of radioisotope decays and
00013 //              stores radioisotope objects in PNNL radiactive decay model
00014 // Version:     1.0
00015 // Created:     2004-05-08
00016 // Author:      David Jordan
00017 // mail:        david.jordan@pnl.gov
00018 // phone:       509-376-0115
00019 
00020 #ifndef MJGeneratorPNNLDecayChain_h
00021 #define MJGeneratorPNNLDecayChain_h 1
00022 
00023 #include "generators/MJGeneratorPNNLRadioisotope.hh"
00024 #include "generators/MJGeneratorPNNLLookup.hh"
00025 #include "globals.hh"
00026 
00027 class MJGeneratorPNNLDecayChain 
00028 {
00029   public:
00030     MJGeneratorPNNLDecayChain();
00031     MJGeneratorPNNLDecayChain(G4String decay_chain_filename, 
00032                               G4double source_age);
00033     MJGeneratorPNNLDecayChain(const MJGeneratorPNNLDecayChain& DecayChain); 
00034     ~MJGeneratorPNNLDecayChain();
00035     void operator=(const MJGeneratorPNNLDecayChain& DecayChain); 
00036 
00037     void SetDecayChainFilename(G4String decay_chain_filename) {
00038                         fDecayChain_filename = decay_chain_filename; };
00039     void SetSourceAge(G4double source_age) {fSource_age = source_age;};
00040 
00041     G4String GetDecayChainFilename() const {return fDecayChain_filename; };
00042     G4double GetSourceAge()          const {return fSource_age/kYear; };
00043     G4int    GetIndexOfLastIsotopeSampled() const 
00044                                      {return fLastIsotopeSampled;};
00045 
00046     MJGeneratorPNNLCascadeEvent DoCascadeEvent();
00047     void DoInitializeGenerator();
00048     void DoPrintRadioisotopeList() const;
00049 
00050   private:
00051     G4String   fDecayChain_filename;
00052     G4int      fNum_RadioIsotopes;  
00053     G4double*  fActivity_list;
00054     G4double*  f_pT_half_list;
00055     char*      f_pT_half_units_list;
00056     G4double*  f_pLamda_list;
00057     G4String*  fRadioIsotope_label_list;
00058     G4double   fSource_age;
00059     G4int      fLastIsotopeSampled;
00060   
00061     MJGeneratorPNNLRadioisotope** fRadioIsotope_list;
00062     MJGeneratorPNNLLookup* f_pRadioIsotopeSelector;
00063 
00064     void CalculateActivityList();
00065 
00066     const static G4int kSecond;
00067     const static G4int kMinute;
00068     const static G4int kHour;
00069     const static G4int kDay;
00070     const static G4int kYear;
00071 };
00072 
00073 #endif
00074 
00075 

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