Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 /* 27 * File: G4ENDFYieldDataContainer.hh 28 * Author: B. Wendt (wendbryc@isu.edu) 29 * 30 * Created on September 6, 2011, 10:19 AM 31 */ 32 33 #ifndef G4ENDFYIELDDATACONTAINER_HH 34 #define G4ENDFYIELDDATACONTAINER_HH 35 36 #include "G4FFGEnumerations.hh" 37 #include "globals.hh" 38 39 /** G4ENDFYieldDataContainer is a simple data storage class that handles 40 * the memory management internally. One instance stores the information 41 * for one fission product. In the event of a non-spontaneous fission, it 42 * can store the yield probabilities and errors at each of the fission- 43 * inducing particles energy levels. For ENDF data and neutron-induced 44 * fission these energies are typically 0.0253 eV, 1 MeV, and 5 MeV. 45 */ 46 class G4ENDFYieldDataContainer 47 { 48 public: 49 // Constructor 50 /** Default constructor */ 51 G4ENDFYieldDataContainer(G4int YieldSlots); 52 53 // Functions 54 /** Get the meta state */ 55 G4FFGEnumerations::MetaState GetMetaState(); 56 /** Get the product */ 57 G4int GetProduct(); 58 /** Get the yield error */ 59 G4double* GetYieldError(); 60 /** Get the yield probability */ 61 G4double* GetYieldProbability(); 62 /** Get the number of yield slots */ 63 G4int GetYieldSlots(); 64 /** Set the meta state */ 65 void SetMetaState(G4FFGEnumerations::MetaState MetaState); 66 /** Set the product */ 67 void SetProduct(G4int Product); 68 /** Set the yield error */ 69 void SetYieldError(G4double* YieldError); 70 /** Set the yield probability */ 71 void SetYieldProbability(G4double* YieldProbability); 72 /** Set the number of yield slots */ 73 void SetYieldSlots(G4int NumberOfSlots); 74 75 protected: 76 // Data members 77 /** The number of energy groups, or yield slots, that are stored */ 78 G4int YieldSlots_; 79 /** ZZZAAA identifier of the stored isotope */ 80 G4int Product_; 81 /** Metastable state information of the stored isotope */ 82 G4FFGEnumerations::MetaState MetaState_; 83 /** Array of yield probabilities, one per yield slot */ 84 G4double* YieldProbability_; 85 /** Array of the yield probability errors, one per yield slot */ 86 G4double* YieldError_; 87 88 // Destructor function(s) 89 public: 90 /** Default deconstructor */ 91 ~G4ENDFYieldDataContainer(); 92 }; 93 94 #endif /* G4ENDFYIELDDATACONTAINER_HH */ 95