Import Geant4 5.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:57:27 +02:00
parent 330b82b769
commit 37fff30d2e
5733 changed files with 263867 additions and 74574 deletions
@@ -14,15 +14,15 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4EnergyRangeManager.hh,v 1.4 2001/08/01 17:03:23 hpw Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: G4EnergyRangeManager.hh,v 1.5 2002/12/12 19:16:52 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// Hadronic Process: Energy Range Manager
// original by H.P. Wellisch
@@ -0,0 +1,41 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadLeadBias.hh,v 1.3 2002/12/13 09:06:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// --------------------------------------------------------------------
#ifndef G4HadLeadBias_h
#define G4HadLeadBias_h
#include "G4VLeadingParticleBiasing.hh"
#include "g4std/vector"
#include "G4VParticleChange.hh"
class G4HadLeadBias : public G4VLeadingParticleBiasing
{
public:
virtual G4VParticleChange * Bias(G4VParticleChange * result);
virtual ~G4HadLeadBias() {};
};
#endif
@@ -14,7 +14,7 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
@@ -82,7 +82,7 @@
G4VParticleChange *PostStepDoIt(
const G4Track &aTrack, const G4Step &aStep )
{
if(0==theLastCrossSection)
if(0==theLastCrossSection&&!getenv("DebugNeutronHP"))
{
G4cerr << "G4HadronInelasticProcess: called for final state, while cross-section was zero"<<G4endl;
G4cerr << " Returning empty particle change...."<<G4endl;
@@ -14,15 +14,15 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4HadronicInteraction.hh,v 1.8 2001/11/26 16:28:18 hpw Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: G4HadronicInteraction.hh,v 1.10 2002/12/12 19:16:52 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// Hadronic Interaction abstract base class
// This class is the base class for the model classes.
@@ -67,7 +67,9 @@
}
virtual ~G4HadronicInteraction()
{ }
{
G4HadronicInteractionRegistry::RemoveMe(this);
}
private:
@@ -14,7 +14,7 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
@@ -34,7 +34,7 @@ class G4HadronicInteractionRegistry
~G4HadronicInteractionRegistry();
static void RegisterMe(G4HadronicInteraction * aModel);
static void RemoveMe(G4HadronicInteraction * aModel){};
static void RemoveMe(G4HadronicInteraction * aModel);
protected:
@@ -14,7 +14,7 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
@@ -51,6 +51,7 @@
#include "g4std/vector"
#include "G4VIsotopeProduction.hh"
#include "G4IsoParticleChange.hh"
#include "G4HadLeadBias.hh"
class G4HadronicProcess : public G4VDiscreteProcess
{
@@ -58,10 +59,16 @@
G4HadronicProcess( const G4String &processName = "Hadronic" ) :
G4VDiscreteProcess( processName )
{ isoIsOnAnyway = 0; }
{
isoIsOnAnyway = 0;
theBias = new G4HadLeadBias();
}
virtual ~G4HadronicProcess()
{ unsigned int i; for(i=0; i<theProductionModels.size(); i++) delete theProductionModels[i]; }
{
unsigned int i; for(i=0; i<theProductionModels.size(); i++) delete theProductionModels[i];
delete theBias;
}
inline void RegisterMe( G4HadronicInteraction *a )
{ GetManagerPointer()->RegisterMe( a ); }
@@ -155,6 +162,8 @@
G4IsoParticleChange theIsoPC;
G4std::vector<G4VIsotopeProduction *> theProductionModels;
G4VLeadingParticleBiasing * theBias;
static G4IsoParticleChange * theIsoResult;
static G4IsoParticleChange * theOldIsoResult;
@@ -14,15 +14,15 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4InelasticInteraction.hh,v 1.6 2001/12/07 11:18:38 hpw Exp $
// GEANT4 tag $Name: geant4-04-01 $
// $Id: G4InelasticInteraction.hh,v 1.7 2002/12/12 19:16:53 gunter Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// Hadronic Process: Inelastic Interaction
// This class is an abstract base class, since the pure virtual
@@ -14,7 +14,7 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
@@ -14,7 +14,7 @@
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * authors in the GEANT4 collaboration. *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
@@ -0,0 +1,39 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * 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. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VLeadingParticleBiasing.hh,v 1.3 2002/12/13 09:06:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-05-00 $
//
// --------------------------------------------------------------------
#ifndef G4VLeadingParticleBiasing_h
#define G4VLeadingParticleBiasing_h
class G4VParticleChange;
class G4VLeadingParticleBiasing
{
public:
virtual G4VParticleChange * Bias(G4VParticleChange * result) = 0;
};
#endif