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 // 28 // Hadronic Process: Nuclear De-excitation 29 // by D. Mancusi (6th October 2014) 30 // 31 32 #ifndef G4FissionLevelDensityParameterINCLXX_h 33 #define G4FissionLevelDensityParameterINCLXX_h 1 34 35 #include "G4VLevelDensityParameter.hh" 36 37 class G4NuclearLevelData; 38 39 /** \class G4FissionLevelDensityParameterINCLXX 40 * \brief Revised level-density parameter for fission after INCL++ 41 * \author Davide Mancusi 42 * \date 6th October 2014 43 * 44 * This class contains a revised level-density parameter that works better than 45 * the standard one with the Li\`ege Intranuclear Cascade model (INCL++). The 46 * fit parameter is the ratio of the level-density parameters in the fission 47 * channel and in the neutron-evaporation channel. This is commonly known as 48 * af/an and is usually very close to 1.0. Variations of a few percent are 49 * likely to induce large factors in the fission probability, because of the 50 * exponential growth of the Fermi level density. The best values of af/an were 51 * empirically found to be about 1.02 for 1-GeV p+208Pb and 1.04 for 1-GeV 52 * p+U238. A linear interpolation was adopted between the two extreme values. 53 */ 54 55 class G4NuclearLevelData; 56 57 class G4FissionLevelDensityParameterINCLXX : public G4VLevelDensityParameter 58 { 59 public: 60 explicit G4FissionLevelDensityParameterINCLXX(); 61 virtual ~G4FissionLevelDensityParameterINCLXX(); 62 63 private: 64 G4FissionLevelDensityParameterINCLXX(const G4FissionLevelDensityParameterINCLXX &right); 65 const G4FissionLevelDensityParameterINCLXX & operator= 66 (const G4FissionLevelDensityParameterINCLXX &right); 67 G4bool operator==(const G4FissionLevelDensityParameterINCLXX &right) const; 68 G4bool operator!=(const G4FissionLevelDensityParameterINCLXX &right) const; 69 70 public: 71 G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const final; 72 73 void setAfanLow(const double a) { afanLow = a; UpdateAfanSlope(); } 74 void setAfanHigh(const double a) { afanHigh = a; UpdateAfanSlope(); } 75 void setZLow(const int z) { ZLow = z; UpdateAfanSlope(); } 76 void setZHigh(const int z) { ZHigh = z; UpdateAfanSlope(); } 77 double getAfanLow() const { return afanLow; } 78 double getAfanHigh() const { return afanHigh; } 79 int getZLow() const { return ZLow; } 80 int getZHigh() const { return ZHigh; } 81 82 private: 83 84 void UpdateAfanSlope(); 85 86 G4NuclearLevelData* fNucData; 87 88 double afanLow, afanHigh; 89 int ZLow, ZHigh; 90 double afanSlope; 91 92 }; 93 94 95 #endif 96