Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -30,8 +30,6 @@
// Sylvie Leray, CEA
// Joseph Cugnon, University of Liege
//
// INCL++ revision: v5.1.8
//
#define INCLXX_IN_GEANT4_MODE 1
#include "globals.hh"
@@ -57,8 +55,16 @@
#include "G4ExcitationHandler.hh"
// Binary cascade
#include "G4BinaryCascade.hh"
#include "G4BinaryLightIonReaction.hh"
// PreCompound
#include "G4VPreCompoundModel.hh"
#include "G4PreCompoundModel.hh"
// G4IonTable
#include "G4IonTable.hh"
#include <fstream>
#include <iostream>
@@ -66,7 +72,7 @@ using namespace std;
class G4INCLXXInterfaceStore;
/** \brief INCL++ intra-nuclear cascade with G4ExcitationHandler for de-excitation
/** \brief INCL++ intra-nuclear cascade
*
* Interface for INCL++. This interface handles basic hadron bullet particles
* (protons, neutrons, pions), as well as light ions.
@@ -77,8 +83,8 @@ class G4INCLXXInterfaceStore;
* inclModel -> SetMinEnergy(0.0 * MeV); // Set the energy limits
* inclModel -> SetMaxEnergy(3.0 * GeV);
*
* G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess();
* G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection();
* G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess();
* G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection();
*
* protonInelasticProcess -> RegisterMe(inclModel);
* protonInelasticProcess -> AddDataSet(protonInelasticCrossSection);
@@ -92,7 +98,7 @@ class G4INCLXXInterfaceStore;
*/
class G4INCLXXInterface : public G4VIntraNuclearTransportModel {
public:
G4INCLXXInterface(const G4String& name = "INCL++ cascade with G4ExcitationHandler");
G4INCLXXInterface(G4VPreCompoundModel * const aPreCompound = 0);
~G4INCLXXInterface(); // Destructor
G4int operator==(G4INCLXXInterface& right) {
@@ -111,7 +117,9 @@ public:
* @param theNucleus target nucleus
* @return the output of the INCL physics model
*/
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus);
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus);
using G4VIntraNuclearTransportModel::SetDeExcitation;
void DeleteModel() {
delete theINCLModel;
@@ -148,16 +156,22 @@ private:
G4double px, G4double py, G4double pz) const;
G4INCL::INCL *theINCLModel;
G4VPreCompoundModel *thePreCompoundModel;
G4HadFinalState theResult;
G4ExcitationHandler *theExcitationHandler;
G4HadronicInteraction *theBackupModel;
G4HadronicInteraction *theBackupModelNucleon;
G4INCLXXInterfaceStore * const theInterfaceStore;
G4bool complainedAboutBackupModel;
G4bool complainedAboutPreCompound;
G4IonTable * const theIonTable;
G4bool dumpRemnantInfo;
};
#endif