Import Geant4 9.6.0 source tree
This commit is contained in:
@@ -14,6 +14,38 @@ code and to keep track of all tags.
|
||||
* Please list in reverse chronological order (last date on top)
|
||||
---------------------------------------------------------------
|
||||
|
||||
27-September-2012 G.Cosmo hadr-pre-V09-05-06
|
||||
---------------------------------------------
|
||||
- Explicitly use inclusion of headers for system of units and physical
|
||||
constants, in plan to remove implicit inclusion from globals.hh.
|
||||
|
||||
23-August-2012 V.Ivanchenko hadr-pre-V09-05-05
|
||||
-----------------------------------------------
|
||||
- G4PreCompoundModel - do not use factory due to dependency problem
|
||||
|
||||
17-August-2012 V.Ivanchenko hadr-pre-V09-05-04
|
||||
-----------------------------------------------
|
||||
- G4PreCompoundModel - register PRECO factory
|
||||
|
||||
06-July-2012 V.Ivanchenko hadr-pre-V09-05-03
|
||||
-----------------------------------------------
|
||||
- Fixed shadowing
|
||||
|
||||
27-June-2012 V.Ivanchenko hadr-pre-V09-05-02
|
||||
-----------------------------------------------
|
||||
- G4VPreCompoundFragment - move computation of Z13 after check of
|
||||
consistency - fixed rare bug for abnormal fragments
|
||||
|
||||
24-April-2012 Gunter Folger hadr-pre-V09-05-01
|
||||
-----------------------------------------------
|
||||
G4PreCompoundModel - add Description() method, actual description
|
||||
from phys. ref. manual, and improved by Jose Manuel
|
||||
|
||||
18-January 2012 V.Ivanchenko hadr-pre-V09-05-00
|
||||
-----------------------------------------------
|
||||
G4PreCompoundModel - added pointer to G4ExcitationHandler to the
|
||||
constructor; added deletion of G4ExcitationHandler in the destructor
|
||||
|
||||
31-October 2011 V.Ivanchenko hadr-pre-V09-04-06
|
||||
20-October 2011 V.Ivanchenko hadr-pre-V09-04-05
|
||||
----------------------------------------------
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4GNASHTransitions.hh,v 1.4 2010-08-20 07:42:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
#ifndef G4GNASHTransitions_hh
|
||||
#define G4GNASHTransitions_hh 1
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCAlpha.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCChargedFragment.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCDeuteron.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCEmissionFactory.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.icc,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCHe3.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCNeutron.hh,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCProton.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCTriton.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+2
-4
@@ -23,13 +23,11 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.hh,v 1.7 2010-10-28 17:34:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.hh,v 1.7 2010-10-28 17:34:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// ClassName: G4LowEIonFragmentation
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundAlpha.hh,v 1.12 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundDeuteron.hh,v 1.13 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+3
-3
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmission.hh,v 1.9 2010-09-01 14:51:21 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
@@ -78,7 +77,8 @@ private:
|
||||
const G4Fragment& aFragment,
|
||||
G4double KineticEnergy);
|
||||
|
||||
G4double rho(G4int p, G4int h, G4double g, G4double E, G4double Ef) const;
|
||||
G4double rho(G4int p, G4int h, G4double gg,
|
||||
G4double E, G4double Ef) const;
|
||||
|
||||
G4PreCompoundEmission(const G4PreCompoundEmission &right);
|
||||
const G4PreCompoundEmission& operator=(const G4PreCompoundEmission &right);
|
||||
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmission.icc,v 1.6 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
//
|
||||
//
|
||||
// Author: V.Lara
|
||||
//
|
||||
// Modified:
|
||||
// Modif (03 September 2008) by J. M. Quesada for external choice of inverse
|
||||
// cross section option
|
||||
// JMQ (06 September 2008) Also external choice has been added for:
|
||||
// - superimposed Coulomb barrier (if useSICB=true)
|
||||
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmissionFactory.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragment.hh,v 1.6 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragmentVector.hh,v 1.7 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
|
||||
+1
-2
@@ -24,8 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PreCompoundFragmentVector.icc,v 1.5 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundHe3.hh,v 1.11 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundIon.hh,v 1.8 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+8
-5
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundModel.hh,v 1.9 2010-08-20 07:41:48 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -45,6 +44,8 @@
|
||||
// - CEM transition probabilities (if useCEMtr=true)
|
||||
// 30.10.2009 J.M.Quesada CEM transition probabilities are set as default
|
||||
// 20.08.2010 V.Ivanchenko Cleanup of the code - changed data members and inline methods
|
||||
// 03.01.2012 V.Ivanchenko Added pointer to G4ExcitationHandler to the
|
||||
// constructor
|
||||
|
||||
#ifndef G4PreCompoundModel_h
|
||||
#define G4PreCompoundModel_h 1
|
||||
@@ -64,7 +65,7 @@ class G4PreCompoundModel : public G4VPreCompoundModel
|
||||
{
|
||||
public:
|
||||
|
||||
G4PreCompoundModel(G4ExcitationHandler * const value);
|
||||
G4PreCompoundModel(G4ExcitationHandler* ptr = 0);
|
||||
|
||||
virtual ~G4PreCompoundModel();
|
||||
|
||||
@@ -72,7 +73,9 @@ public:
|
||||
G4Nucleus & theNucleus);
|
||||
|
||||
virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment);
|
||||
|
||||
|
||||
virtual void ModelDescription(std::ostream& outFile) const;
|
||||
|
||||
void UseHETCEmission();
|
||||
void UseDefaultEmission();
|
||||
void UseGNASHTransition();
|
||||
@@ -93,7 +96,7 @@ private:
|
||||
void PerformEquilibriumEmission(const G4Fragment & aFragment,
|
||||
G4ReactionProductVector * theResult) const;
|
||||
|
||||
G4PreCompoundModel();
|
||||
// G4PreCompoundModel();
|
||||
G4PreCompoundModel(const G4PreCompoundModel &);
|
||||
const G4PreCompoundModel& operator=(const G4PreCompoundModel &right);
|
||||
G4bool operator==(const G4PreCompoundModel &right) const;
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNeutron.hh,v 1.13 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNucleon.hh,v 1.7 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundParameters.hh,v 1.6 2010-08-18 14:07:24 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundProton.hh,v 1.13 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTransitions.hh,v 1.8 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
// 01.05.2008 J. M. Quesada . New methods for accessing to individual transition
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTriton.hh,v 1.12 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundEmissionFactory.hh,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.hh,v 1.11 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+1
-2
@@ -24,8 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.icc,v 1.8 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundTransitions.hh,v 1.6 2010-08-20 07:42:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (May 08). New virtual classes have been added Prob1,2,3
|
||||
// JMQ (06 September 2008) Also external choices have been added for:
|
||||
|
||||
@@ -70,7 +70,6 @@ GEANT4_DEFINE_MODULE(NAME G4had_preequ_exciton
|
||||
G4PreCompoundAlpha.hh
|
||||
G4PreCompoundDeuteron.hh
|
||||
G4PreCompoundEmission.hh
|
||||
G4PreCompoundEmission.icc
|
||||
G4PreCompoundEmissionFactory.hh
|
||||
G4PreCompoundFragment.hh
|
||||
G4PreCompoundFragmentVector.hh
|
||||
|
||||
+6
-5
@@ -23,12 +23,13 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4GNASHTransitions.cc,v 1.6 2010-08-20 07:42:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// 20.08.2010 V.Ivanchenko move constructor and destructor to the source
|
||||
|
||||
#include "G4GNASHTransitions.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
#include "G4HadronicException.hh"
|
||||
|
||||
@@ -55,12 +56,12 @@ CalculateProbability(const G4Fragment & aFragment)
|
||||
else if ( x < 15.0*MeV ) ;
|
||||
else x *= std::sqrt(15.0*MeV/x);
|
||||
|
||||
// g = (6.0/pi2)*a*A
|
||||
G4double g = (6.0/pi2)*G4PreCompoundParameters::GetAddress()->GetLevelDensity()*A;
|
||||
// gg = (6.0/pi2)*a*A
|
||||
G4double gg = (6.0/pi2)*G4PreCompoundParameters::GetAddress()->GetLevelDensity()*A;
|
||||
|
||||
G4double Epauli = ((P+1.0)*(P+1.0) + (H+1.0)*(H+1.0) + (P+1.0) - 3.0*(H-1.0))/4.0;
|
||||
|
||||
G4double Probability = g*g*g *(E-Epauli)*(E-Epauli);
|
||||
G4double Probability = gg*gg*gg *(E-Epauli)*(E-Epauli);
|
||||
Probability /= 2.0*(N+1.0)*h_Planck;
|
||||
Probability *= theMatrixElement;
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCAlpha.cc,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+2
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCChargedFragment.cc,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -34,6 +33,7 @@
|
||||
//
|
||||
|
||||
#include "G4HETCChargedFragment.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4VCoulombBarrier.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCDeuteron.cc,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCEmissionFactory.cc,v 1.5 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+6
-6
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCFragment.cc,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -33,6 +32,7 @@
|
||||
// the source, use G4Pow
|
||||
|
||||
#include "G4HETCFragment.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
|
||||
G4HETCFragment::
|
||||
@@ -84,10 +84,10 @@ IntegrateEmissionProbability(const G4double & Low, const G4double & Up,
|
||||
G4int Pb = P - GetA();
|
||||
G4int Nb = Pb + H;
|
||||
if (Nb <= 0.0) { return 0.0; }
|
||||
G4double g = (6.0/pi2)*aFragment.GetA()*theParameters->GetLevelDensity();
|
||||
G4double ga = (6.0/pi2)*aFragment.GetA()*theParameters->GetLevelDensity();
|
||||
G4double gb = (6.0/pi2)*GetRestA()*theParameters->GetLevelDensity();
|
||||
|
||||
G4double A = G4double(P*P+H*H+P-3*H)/(4.0*g);
|
||||
G4double A = G4double(P*P+H*H+P-3*H)/(4.0*ga);
|
||||
G4double Ab = G4double(Pb*Pb+H*H+Pb-3*H)/(4.0*gb);
|
||||
U = std::max(U-A,0.0);
|
||||
if (U <= 0.0) { return 0.0; }
|
||||
@@ -107,12 +107,12 @@ IntegrateEmissionProbability(const G4double & Low, const G4double & Up,
|
||||
|
||||
G4double Probability = r2norm*GetSpinFactor()*GetReducedMass()*GetAlpha()
|
||||
*g4pow->Z23(GetRestA())*Pf*Hf*Nf*K(aFragment)*(X/Nb - Y/(Nb+1))
|
||||
*U*g4pow->powN(g*gb,Nb)/g4pow->powN(g*U,N);
|
||||
*U*g4pow->powN(gb*Y,Nb)/g4pow->powN(ga*U,N);
|
||||
|
||||
// G4double Probability = GetSpinFactor()/(pi*hbarc*hbarc*hbarc)
|
||||
// * GetReducedMass() * GetAlpha() *
|
||||
// r0 * r0 * std::pow->Z23(GetRestA())/std::pow->pow(U,G4double(N-1)) *
|
||||
// (std::pow->(gb,Nb)/std::pow(g,N)) * Pf * Hf * Nf * K(aFragment) *
|
||||
// (std::pow->(gb,Nb)/std::pow(ga,N)) * Pf * Hf * Nf * K(aFragment) *
|
||||
// std::pow(Y,Nb) * (X/Nb - Y/(Nb+1));
|
||||
|
||||
return Probability;
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCHe3.cc,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCNeutron.cc,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -33,6 +32,8 @@
|
||||
// the source, use G4Pow
|
||||
|
||||
#include "G4HETCNeutron.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Neutron.hh"
|
||||
|
||||
G4HETCNeutron::G4HETCNeutron()
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCProton.cc,v 1.3 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HETCTriton.cc,v 1.4 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
|
||||
+5
-3
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEIonFragmentation.cc,v 1.8 2010-10-28 17:34:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -38,11 +37,14 @@
|
||||
// 28 Oct 2010 V.Ivanchenko complete migration to integer Z and A;
|
||||
// use updated G4Fragment methods
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
#include "G4LowEIonFragmentation.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Fancy3DNucleus.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
#include <algorithm>
|
||||
|
||||
G4int G4LowEIonFragmentation::hits = 0;
|
||||
G4int G4LowEIonFragmentation::totalTries = 0;
|
||||
|
||||
+6
-6
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundAlpha.cc,v 1.8 2010-11-02 11:27:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundAlpha.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Alpha.hh"
|
||||
|
||||
G4PreCompoundAlpha::G4PreCompoundAlpha()
|
||||
@@ -149,7 +149,7 @@ G4double G4PreCompoundAlpha::GetOpt12(G4double K)
|
||||
G4double p2 = 1146.;
|
||||
G4double landa0 = 0.0643;
|
||||
G4double landa1 = -13.96;
|
||||
G4double mu0 = 781.2;
|
||||
G4double mm0 = 781.2;
|
||||
G4double mu1 = 0.29;
|
||||
G4double nu0 = -304.7;
|
||||
G4double nu1 = -470.0;
|
||||
@@ -160,7 +160,7 @@ G4double G4PreCompoundAlpha::GetOpt12(G4double K)
|
||||
p = p0 + p1/Ec + p2/(Ec*Ec);
|
||||
landa = landa0*ResidualA + landa1;
|
||||
G4double resmu1 = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0*resmu1;
|
||||
mu = mm0*resmu1;
|
||||
nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
|
||||
q = landa - nu/(Ec*Ec) - 2*p*Ec;
|
||||
r = mu + 2*nu/Ec + p*(Ec*Ec);
|
||||
@@ -190,7 +190,7 @@ G4double G4PreCompoundAlpha::GetOpt34(G4double K)
|
||||
G4double p2 = 1146.;
|
||||
G4double landa0 = 0.0643;
|
||||
G4double landa1 = -13.96;
|
||||
G4double mu0 = 781.2;
|
||||
G4double mm0 = 781.2;
|
||||
G4double mu1 = 0.29;
|
||||
G4double nu0 = -304.7;
|
||||
G4double nu1 = -470.0;
|
||||
@@ -205,7 +205,7 @@ G4double G4PreCompoundAlpha::GetOpt34(G4double K)
|
||||
p = p0 + p1/ec + p2/ecsq;
|
||||
landa = landa0*ResidualA + landa1;
|
||||
a = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0 * a;
|
||||
mu = mm0 * a;
|
||||
nu = a* (nu0+nu1*ec+nu2*ecsq);
|
||||
xnulam = nu / landa;
|
||||
if (xnulam > spill) { xnulam=0.; }
|
||||
|
||||
+6
-6
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundDeuteron.cc,v 1.9 2010-11-02 17:33:28 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundDeuteron.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Deuteron.hh"
|
||||
|
||||
G4PreCompoundDeuteron::G4PreCompoundDeuteron()
|
||||
@@ -136,7 +136,7 @@ G4double G4PreCompoundDeuteron::GetOpt12(G4double K)
|
||||
G4double p2 = -2804.;
|
||||
G4double landa0 = -0.0323;
|
||||
G4double landa1 = -5.48;
|
||||
G4double mu0 = 336.1;
|
||||
G4double mm0 = 336.1;
|
||||
G4double mu1 = 0.48;
|
||||
G4double nu0 = 524.3;
|
||||
G4double nu1 = -371.8;
|
||||
@@ -147,7 +147,7 @@ G4double G4PreCompoundDeuteron::GetOpt12(G4double K)
|
||||
p = p0 + p1/Ec + p2/(Ec*Ec);
|
||||
landa = landa0*ResidualA + landa1;
|
||||
G4double resmu1 = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0*resmu1;
|
||||
mu = mm0*resmu1;
|
||||
nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
|
||||
q = landa - nu/(Ec*Ec) - 2*p*Ec;
|
||||
r = mu + 2*nu/Ec + p*(Ec*Ec);
|
||||
@@ -178,7 +178,7 @@ G4double G4PreCompoundDeuteron::GetOpt34(G4double K)
|
||||
G4double p2 = -1651.;
|
||||
G4double landa0 = 0.00619;
|
||||
G4double landa1 = -7.54;
|
||||
G4double mu0 = 583.5;
|
||||
G4double mm0 = 583.5;
|
||||
G4double mu1 = 0.337;
|
||||
G4double nu0 = 421.8;
|
||||
G4double nu1 = -474.5;
|
||||
@@ -193,7 +193,7 @@ G4double G4PreCompoundDeuteron::GetOpt34(G4double K)
|
||||
p = p0 + p1/ec + p2/ecsq;
|
||||
landa = landa0*ResidualA + landa1;
|
||||
a = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0 * a;
|
||||
mu = mm0 * a;
|
||||
nu = a* (nu0+nu1*ec+nu2*ecsq);
|
||||
xnulam = nu / landa;
|
||||
if (xnulam > spill) { xnulam=0.; }
|
||||
|
||||
+14
-13
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmission.cc,v 1.34 2010-11-23 17:59:47 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -44,12 +43,14 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundEmission.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Pow.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
#include "G4PreCompoundEmissionFactory.hh"
|
||||
#include "G4HETCEmissionFactory.hh"
|
||||
#include "G4HadronicException.hh"
|
||||
#include "G4Pow.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
G4PreCompoundEmission::G4PreCompoundEmission()
|
||||
{
|
||||
@@ -189,19 +190,19 @@ G4PreCompoundEmission::AngularDistribution(G4VPreCompoundFragment* thePreFragmen
|
||||
|
||||
//
|
||||
// G4EvaporationLevelDensityParameter theLDP;
|
||||
// G4double g = (6.0/pi2)*aFragment.GetA()*
|
||||
// G4double gg = (6.0/pi2)*aFragment.GetA()*
|
||||
|
||||
G4double g = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity();
|
||||
G4double gg = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity();
|
||||
|
||||
// Average exciton energy relative to bottom of nuclear well
|
||||
G4double Eav = 2*p*(p+1)/((p+h)*g);
|
||||
G4double Eav = 2*p*(p+1)/((p+h)*gg);
|
||||
|
||||
// Excitation energy relative to the Fermi Level
|
||||
G4double Uf = std::max(U - (p - h)*Ef , 0.0);
|
||||
// G4double Uf = U - KineticEnergyOfEmittedFragment - Bemission;
|
||||
|
||||
G4double w_num = rho(p+1, h, g, Uf, Ef);
|
||||
G4double w_den = rho(p, h, g, Uf, Ef);
|
||||
G4double w_num = rho(p+1, h, gg, Uf, Ef);
|
||||
G4double w_den = rho(p, h, gg, Uf, Ef);
|
||||
if (w_num > 0.0 && w_den > 0.0)
|
||||
{
|
||||
Eav *= (w_num/w_den);
|
||||
@@ -261,16 +262,16 @@ G4PreCompoundEmission::AngularDistribution(G4VPreCompoundFragment* thePreFragmen
|
||||
theFinalMomentum.rotateUz(theIncidentDirection);
|
||||
}
|
||||
|
||||
G4double G4PreCompoundEmission::rho(G4int p, G4int h, G4double g,
|
||||
G4double G4PreCompoundEmission::rho(G4int p, G4int h, G4double gg,
|
||||
G4double E, G4double Ef) const
|
||||
{
|
||||
// 25.02.2010 V.Ivanchenko added more protections
|
||||
G4double Aph = (p*p + h*h + p - 3.0*h)/(4.0*g);
|
||||
// G4double alpha = (p*p + h*h)/(2.0*g);
|
||||
G4double Aph = (p*p + h*h + p - 3.0*h)/(4.0*gg);
|
||||
// G4double alpha = (p*p + h*h)/(2.0*gg);
|
||||
|
||||
if ( E - Aph < 0.0) { return 0.0; }
|
||||
|
||||
G4double logConst = (p+h)*std::log(g)
|
||||
G4double logConst = (p+h)*std::log(gg)
|
||||
- g4pow->logfactorial(p+h-1) - g4pow->logfactorial(p) - g4pow->logfactorial(h);
|
||||
|
||||
// initialise values using j=0
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundEmissionFactory.cc,v 1.5 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
|
||||
#include "G4PreCompoundEmissionFactory.hh"
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragment.cc,v 1.11 2010-11-24 11:55:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008).
|
||||
// Based on previous work by V. Lara
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundFragmentVector.cc,v 1.12 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// Hadronic Process: Nuclear Preequilibrium
|
||||
// by V. Lara
|
||||
|
||||
+6
-6
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundHe3.cc,v 1.9 2010-11-17 11:06:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundHe3.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4He3.hh"
|
||||
|
||||
G4PreCompoundHe3::G4PreCompoundHe3()
|
||||
@@ -146,7 +146,7 @@ G4double G4PreCompoundHe3::GetOpt12(const G4double K)
|
||||
G4double p2 = -1389.;
|
||||
G4double landa0 = -0.00535;
|
||||
G4double landa1 = -11.16;
|
||||
G4double mu0 = 555.5;
|
||||
G4double mm0 = 555.5;
|
||||
G4double mu1 = 0.40;
|
||||
G4double nu0 = 687.4;
|
||||
G4double nu1 = -476.3;
|
||||
@@ -158,7 +158,7 @@ G4double G4PreCompoundHe3::GetOpt12(const G4double K)
|
||||
landa = landa0*ResidualA + landa1;
|
||||
|
||||
G4double resmu1 = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0*resmu1;
|
||||
mu = mm0*resmu1;
|
||||
nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
|
||||
q = landa - nu/(Ec*Ec) - 2*p*Ec;
|
||||
r = mu + 2*nu/Ec + p*(Ec*Ec);
|
||||
@@ -189,7 +189,7 @@ G4double G4PreCompoundHe3::GetOpt34(const G4double K)
|
||||
G4double p2 = -1487.;
|
||||
G4double landa0 = 0.00459;
|
||||
G4double landa1 = -8.93;
|
||||
G4double mu0 = 611.2;
|
||||
G4double mm0 = 611.2;
|
||||
G4double mu1 = 0.35;
|
||||
G4double nu0 = 473.8;
|
||||
G4double nu1 = -468.2;
|
||||
@@ -204,7 +204,7 @@ G4double G4PreCompoundHe3::GetOpt34(const G4double K)
|
||||
p = p0 + p1/ec + p2/ecsq;
|
||||
landa = landa0*ResidualA + landa1;
|
||||
a = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0 * a;
|
||||
mu = mm0 * a;
|
||||
nu = a* (nu0+nu1*ec+nu2*ecsq);
|
||||
xnulam = nu / landa;
|
||||
if (xnulam > spill) { xnulam=0.; }
|
||||
|
||||
+2
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundIon.cc,v 1.17 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundIon.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
|
||||
G4PreCompoundIon::
|
||||
G4PreCompoundIon(const G4ParticleDefinition* part,
|
||||
|
||||
+35
-12
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundModel.cc,v 1.30 2010-11-24 11:55:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -43,8 +42,12 @@
|
||||
// - emission and transition classes created at initialisation
|
||||
// - options are set at initialisation
|
||||
// - do not use copy-constructors for G4Fragment
|
||||
// 03.01.2012 V.Ivanchenko Added pointer to G4ExcitationHandler to the
|
||||
// constructor
|
||||
|
||||
#include "G4PreCompoundModel.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4PreCompoundEmission.hh"
|
||||
#include "G4PreCompoundTransitions.hh"
|
||||
#include "G4GNASHTransitions.hh"
|
||||
@@ -60,12 +63,13 @@
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler * const value)
|
||||
: G4VPreCompoundModel(value), useHETCEmission(false), useGNASHTransition(false),
|
||||
OPTxs(3), useSICB(false), useNGB(false), useSCO(false), useCEMtr(true),
|
||||
maxZ(3), maxA(5)
|
||||
G4PreCompoundModel::G4PreCompoundModel(G4ExcitationHandler* ptr)
|
||||
: G4VPreCompoundModel(ptr,"PRECO"), useHETCEmission(false),
|
||||
useGNASHTransition(false), OPTxs(3), useSICB(false),
|
||||
useNGB(false), useSCO(false), useCEMtr(true), maxZ(3), maxA(5)
|
||||
//maxZ(9), maxA(17)
|
||||
{
|
||||
if(!ptr) { SetExcitationHandler(new G4ExcitationHandler()); }
|
||||
theParameters = G4PreCompoundParameters::GetAddress();
|
||||
|
||||
theEmission = new G4PreCompoundEmission();
|
||||
@@ -87,8 +91,31 @@ G4PreCompoundModel::~G4PreCompoundModel()
|
||||
{
|
||||
delete theEmission;
|
||||
delete theTransition;
|
||||
delete GetExcitationHandler();
|
||||
}
|
||||
|
||||
void G4PreCompoundModel::ModelDescription(std::ostream& outFile) const
|
||||
{
|
||||
outFile << "The GEANT4 precompound model is considered as an extension of the\n"
|
||||
<< "hadron kinetic model. It gives a possibility to extend the low energy range\n"
|
||||
<< "of the hadron kinetic model for nucleon-nucleus inelastic collision and it \n"
|
||||
<< "provides a ”smooth” transition from kinetic stage of reaction described by the\n"
|
||||
<< "hadron kinetic model to the equilibrium stage of reaction described by the\n"
|
||||
<< "equilibrium deexcitation models.\n"
|
||||
<< "The initial information for calculation of pre-compound nuclear stage\n"
|
||||
<< "consists of the atomic mass number A, charge Z of residual nucleus, its\n"
|
||||
<< "four momentum P0 , excitation energy U and number of excitons n, which equals\n"
|
||||
<< "the sum of the number of particles p (from them p_Z are charged) and the number of\n"
|
||||
<< "holes h.\n"
|
||||
<< "At the preequilibrium stage of reaction, we follow the exciton model approach in ref. [1],\n"
|
||||
<< "taking into account the competition among all possible nuclear transitions\n"
|
||||
<< "with ∆n = +2, −2, 0 (which are defined by their associated transition probabilities) and\n"
|
||||
<< "the emission of neutrons, protons, deutrons, thritium and helium nuclei (also defined by\n"
|
||||
<< "their associated emission probabilities according to exciton model)\n"
|
||||
<< "\n"
|
||||
<< "[1] K.K. Gudima, S.G. Mashnik, V.D. Toneev, Nucl. Phys. A401 329 (1983)\n"
|
||||
<< std::endl;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
G4HadFinalState* G4PreCompoundModel::ApplyYourself(const G4HadProjectile & thePrimary,
|
||||
@@ -183,10 +210,10 @@ G4ReactionProductVector* G4PreCompoundModel::DeExcite(G4Fragment& aFragment)
|
||||
|
||||
theEmission->Initialize(aFragment);
|
||||
|
||||
G4double g = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity();
|
||||
G4double gg = (6.0/pi2)*aFragment.GetA_asInt()*theParameters->GetLevelDensity();
|
||||
|
||||
G4int EquilibriumExcitonNumber =
|
||||
static_cast<G4int>(std::sqrt(2.0*g*aFragment.GetExcitationEnergy())+ 0.5);
|
||||
G4lrint(std::sqrt(2*gg*aFragment.GetExcitationEnergy()));
|
||||
//
|
||||
// G4cout<<"Neq="<<EquilibriumExcitonNumber<<G4endl;
|
||||
//
|
||||
@@ -343,7 +370,3 @@ void G4PreCompoundModel::UseCEMtr()
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+8
-8
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNeutron.cc,v 1.7 2010-11-17 11:06:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -43,6 +42,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundNeutron.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Neutron.hh"
|
||||
|
||||
G4PreCompoundNeutron::G4PreCompoundNeutron()
|
||||
@@ -120,17 +120,17 @@ G4double G4PreCompoundNeutron::GetOpt12(G4double K)
|
||||
// JMQ xsec is set constat above limit of validity
|
||||
if (K > 50*MeV) { Kc = 50*MeV; }
|
||||
|
||||
G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2,xs;
|
||||
G4double landa, landa0, landa1, mu, mm0, mu1,nu, nu0, nu1, nu2,xs;
|
||||
|
||||
landa0 = 18.57;
|
||||
landa1 = -22.93;
|
||||
mu0 = 381.7;
|
||||
mm0 = 381.7;
|
||||
mu1 = 24.31;
|
||||
nu0 = 0.172;
|
||||
nu1 = -15.39;
|
||||
nu2 = 804.8;
|
||||
landa = landa0/ResidualAthrd + landa1;
|
||||
mu = mu0*ResidualAthrd + mu1*ResidualAthrd*ResidualAthrd;
|
||||
mu = mm0*ResidualAthrd + mu1*ResidualAthrd*ResidualAthrd;
|
||||
nu = nu0*ResidualAthrd*ResidualA + nu1*ResidualAthrd*ResidualAthrd + nu2 ;
|
||||
xs=landa*Kc + mu + nu/Kc;
|
||||
if (xs <= 0.0 ){
|
||||
@@ -146,7 +146,7 @@ G4double G4PreCompoundNeutron::GetOpt12(G4double K)
|
||||
// *********** OPT=3,4 : Kalbach's cross sections (from PRECO code)*************
|
||||
G4double G4PreCompoundNeutron::GetOpt34(G4double K)
|
||||
{
|
||||
G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2;
|
||||
G4double landa, landa0, landa1, mu, mm0, mu1,nu, nu0, nu1, nu2;
|
||||
G4double p, p0;
|
||||
G4double flow,ec,ecsq,xnulam,etest(0.),ra(0.),a,signor(1.),sig;
|
||||
G4double b,ecut,cut,ecut2,geom,elab;
|
||||
@@ -157,7 +157,7 @@ G4double G4PreCompoundNeutron::GetOpt34(G4double K)
|
||||
p0 = -312.;
|
||||
landa0 = 12.10;
|
||||
landa1= -11.27;
|
||||
mu0 = 234.1;
|
||||
mm0 = 234.1;
|
||||
mu1 = 38.26;
|
||||
nu0 = 1.55;
|
||||
nu1 = -106.1;
|
||||
@@ -166,7 +166,7 @@ G4double G4PreCompoundNeutron::GetOpt34(G4double K)
|
||||
if (ResidualA < 40) { signor =0.7 + ResidualA*0.0075; }
|
||||
if (ResidualA > 210) { signor = 1. + (ResidualA-210)/250.; }
|
||||
landa = landa0/ResidualAthrd + landa1;
|
||||
mu = mu0*ResidualAthrd + mu1*ResidualAthrd*ResidualAthrd;
|
||||
mu = mm0*ResidualAthrd + mu1*ResidualAthrd*ResidualAthrd;
|
||||
nu = nu0*ResidualAthrd*ResidualA + nu1*ResidualAthrd*ResidualAthrd + nu2;
|
||||
|
||||
// JMQ very low energy behaviour corrected (problem for A (apprx.)>60)
|
||||
|
||||
+3
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundNucleon.cc,v 1.14 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,8 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundNucleon.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
G4PreCompoundNucleon::
|
||||
G4PreCompoundNucleon(const G4ParticleDefinition* part,
|
||||
|
||||
+2
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundParameters.cc,v 1.4 2010-08-18 14:07:24 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
//
|
||||
@@ -32,6 +31,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
G4PreCompoundParameters* G4PreCompoundParameters::theParameters = 0;
|
||||
|
||||
|
||||
+9
-8
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundProton.cc,v 1.8 2010-11-17 11:06:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -44,6 +43,8 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundProton.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Proton.hh"
|
||||
|
||||
G4PreCompoundProton::G4PreCompoundProton()
|
||||
@@ -129,7 +130,7 @@ G4double G4PreCompoundProton::GetOpt1(G4double K)
|
||||
// JMQ xsec is set constat above limit of validity
|
||||
if (K > 50*MeV) { Kc = 50*MeV; }
|
||||
|
||||
G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2,xs;
|
||||
G4double landa, landa0, landa1, mu, mm0, mu1,nu, nu0, nu1, nu2,xs;
|
||||
G4double p, p0, p1, p2,Ec,delta,q,r,ji;
|
||||
|
||||
p0 = 15.72;
|
||||
@@ -137,7 +138,7 @@ G4double G4PreCompoundProton::GetOpt1(G4double K)
|
||||
p2 = -449.0;
|
||||
landa0 = 0.00437;
|
||||
landa1 = -16.58;
|
||||
mu0 = 244.7;
|
||||
mm0 = 244.7;
|
||||
mu1 = 0.503;
|
||||
nu0 = 273.1;
|
||||
nu1 = -182.4;
|
||||
@@ -149,7 +150,7 @@ G4double G4PreCompoundProton::GetOpt1(G4double K)
|
||||
landa = landa0*ResidualA + landa1;
|
||||
|
||||
G4double resmu1 = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0*resmu1;
|
||||
mu = mm0*resmu1;
|
||||
nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
|
||||
q = landa - nu/(Ec*Ec) - 2*p*Ec;
|
||||
r = mu + 2*nu/Ec + p*(Ec*Ec);
|
||||
@@ -212,14 +213,14 @@ G4double G4PreCompoundProton::GetOpt3(const G4double K)
|
||||
// ** p from becchetti and greenlees (but modified with sub-barrier
|
||||
// ** correction function and xp2 changed from -449)
|
||||
|
||||
G4double landa, landa0, landa1, mu, mu0, mu1,nu, nu0, nu1, nu2;
|
||||
G4double landa, landa0, landa1, mu, mm0, mu1,nu, nu0, nu1, nu2;
|
||||
G4double p, p0, p1, p2;
|
||||
p0 = 15.72;
|
||||
p1 = 9.65;
|
||||
p2 = -300.;
|
||||
landa0 = 0.00437;
|
||||
landa1 = -16.58;
|
||||
mu0 = 244.7;
|
||||
mm0 = 244.7;
|
||||
mu1 = 0.503;
|
||||
nu0 = 273.1;
|
||||
nu1 = -182.4;
|
||||
@@ -248,7 +249,7 @@ G4double G4PreCompoundProton::GetOpt3(const G4double K)
|
||||
p = p0 + p1/ec + p2/ecsq;
|
||||
landa = landa0*ResidualA + landa1;
|
||||
a = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0 * a;
|
||||
mu = mm0 * a;
|
||||
nu = a* (nu0+nu1*ec+nu2*ecsq);
|
||||
|
||||
c =std::min(3.15,ec*0.5);
|
||||
|
||||
+5
-4
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTransitions.cc,v 1.27 2010-10-20 00:47:46 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -47,11 +46,13 @@
|
||||
// 30.08.2011 M.Kelsey - Skip CalculateProbability if no excitons
|
||||
|
||||
#include "G4PreCompoundTransitions.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4Pow.hh"
|
||||
#include "G4HadronicException.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4Pow.hh"
|
||||
|
||||
G4PreCompoundTransitions::G4PreCompoundTransitions()
|
||||
{
|
||||
|
||||
+6
-6
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PreCompoundTriton.cc,v 1.8 2010-11-02 11:27:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +41,7 @@
|
||||
//
|
||||
|
||||
#include "G4PreCompoundTriton.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4Triton.hh"
|
||||
|
||||
G4PreCompoundTriton::G4PreCompoundTriton()
|
||||
@@ -142,7 +142,7 @@ G4double G4PreCompoundTriton::GetOpt12(G4double K)
|
||||
G4double p2 = -2147.;
|
||||
G4double landa0 = -0.0426;
|
||||
G4double landa1 = -10.33;
|
||||
G4double mu0 = 601.9;
|
||||
G4double mm0 = 601.9;
|
||||
G4double mu1 = 0.37;
|
||||
G4double nu0 = 583.0;
|
||||
G4double nu1 = -546.2;
|
||||
@@ -154,7 +154,7 @@ G4double G4PreCompoundTriton::GetOpt12(G4double K)
|
||||
landa = landa0*ResidualA + landa1;
|
||||
|
||||
G4double resmu1 = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0*resmu1;
|
||||
mu = mm0*resmu1;
|
||||
nu = resmu1*(nu0 + nu1*Ec + nu2*(Ec*Ec));
|
||||
q = landa - nu/(Ec*Ec) - 2*p*Ec;
|
||||
r = mu + 2*nu/Ec + p*(Ec*Ec);
|
||||
@@ -184,7 +184,7 @@ G4double G4PreCompoundTriton::GetOpt34(G4double K)
|
||||
G4double p2 = -1608.;
|
||||
G4double landa0 = 0.0186;
|
||||
G4double landa1 = -8.90;
|
||||
G4double mu0 = 686.3;
|
||||
G4double mm0 = 686.3;
|
||||
G4double mu1 = 0.325;
|
||||
G4double nu0 = 368.9;
|
||||
G4double nu1 = -522.2;
|
||||
@@ -199,7 +199,7 @@ G4double G4PreCompoundTriton::GetOpt34(G4double K)
|
||||
p = p0 + p1/ec + p2/ecsq;
|
||||
landa = landa0*ResidualA + landa1;
|
||||
a = g4pow->powZ(ResidualA,mu1);
|
||||
mu = mu0 * a;
|
||||
mu = mm0 * a;
|
||||
nu = a* (nu0+nu1*ec+nu2*ecsq);
|
||||
xnulam = nu / landa;
|
||||
if (xnulam > spill) { xnulam=0.; }
|
||||
|
||||
+1
-2
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundEmissionFactory.cc,v 1.5 2010-08-28 15:16:55 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// by V. Lara
|
||||
|
||||
|
||||
+4
-3
@@ -23,8 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundFragment.cc,v 1.15 2010-11-02 17:33:28 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// J. M. Quesada (August 2008). Based on previous work by V. Lara
|
||||
//
|
||||
@@ -33,6 +32,7 @@
|
||||
// use int Z and A and cleanup
|
||||
|
||||
#include "G4VPreCompoundFragment.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4PreCompoundParameters.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
|
||||
@@ -78,7 +78,6 @@ G4VPreCompoundFragment::Initialize(const G4Fragment & aFragment)
|
||||
{
|
||||
theRestNucleusA = aFragment.GetA_asInt() - theA;
|
||||
theRestNucleusZ = aFragment.GetZ_asInt() - theZ;
|
||||
theRestNucleusA13 = g4pow->Z13(theRestNucleusA);
|
||||
|
||||
if ((theRestNucleusA < theRestNucleusZ) ||
|
||||
(theRestNucleusA < theA) ||
|
||||
@@ -88,6 +87,8 @@ G4VPreCompoundFragment::Initialize(const G4Fragment & aFragment)
|
||||
theMaximalKineticEnergy = 0.0;
|
||||
return;
|
||||
}
|
||||
|
||||
theRestNucleusA13 = g4pow->Z13(theRestNucleusA);
|
||||
|
||||
// Calculate Coulomb barrier
|
||||
theCoulombBarrier = theCoulombBarrierPtr->
|
||||
|
||||
+3
-2
@@ -23,13 +23,14 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPreCompoundTransitions.cc,v 1.1 2010-08-20 07:42:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: not supported by cvs2svn $
|
||||
// $Id$
|
||||
//
|
||||
// V.Ivanchenko 20.08.2010
|
||||
//
|
||||
|
||||
#include "G4VPreCompoundTransitions.hh"
|
||||
#include "G4PhysicalConstants.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
|
||||
G4VPreCompoundTransitions::G4VPreCompoundTransitions()
|
||||
:useNGB(false),useCEMtr(false),
|
||||
|
||||
Reference in New Issue
Block a user