Import Geant4 3.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:55:53 +02:00
parent e7d7193284
commit cfcb558cfe
3050 changed files with 91703 additions and 48310 deletions
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiKaonZeroInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiKaonZeroInelastic.hh,v 1.4 2000/12/14 09:02:41 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiKaonZeroInelastic_h
#define G4HEAntiKaonZeroInelastic_h 1
// Class Description
// Final state production model for AntiKaonZero inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiKaonZeroInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiLambdaInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiLambdaInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiLambdaInelastic_h
#define G4HEAntiLambdaInelastic_h 1
// Class Description
// Final state production model for AntiLambda inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiLambdaInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiNeutronInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiNeutronInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiNeutronInelastic_h
#define G4HEAntiNeutronInelastic_h 1
// Class Description
// Final state production model for AntiNeutron inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiNeutronInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiOmegaMinusInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiOmegaMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiOmegaMinusInelastic_h
#define G4HEAntiOmegaMinusInelastic_h 1
// Class Description
// Final state production model for AntiOmegaMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiOmegaMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiProtonInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiProtonInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiProtonInelastic_h
#define G4HEAntiProtonInelastic_h 1
// Class Description
// Final state production model for AntiProton inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiProtonInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiSigmaMinusInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiSigmaMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiSigmaMinusInelastic_h
#define G4HEAntiSigmaMinusInelastic_h 1
// Class Description
// Final state production model for AntiSigmaMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiSigmaMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiSigmaPlusInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiSigmaPlusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiSigmaPlusInelastic_h
#define G4HEAntiSigmaPlusInelastic_h 1
// Class Description
// Final state production model for AntiSigmaPlus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiSigmaPlusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiSigmaZeroInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiSigmaZeroInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiSigmaZeroInelastic_h
#define G4HEAntiSigmaZeroInelastic_h 1
// Class Description
// Final state production model for AntiSigmaZero inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEAntiLambdaInelastic.hh"
class G4HEAntiSigmaZeroInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiXiMinusInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiXiMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiXiMinusInelastic_h
#define G4HEAntiXiMinusInelastic_h 1
// Class Description
// Final state production model for AntiXiMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiXiMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEAntiXiZeroInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEAntiXiZeroInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEAntiXiZeroInelastic_h
#define G4HEAntiXiZeroInelastic_h 1
// Class Description
// Final state production model for AntiXiZero inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEAntiXiZeroInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEInelastic.hh,v 1.4 2000/07/09 09:48:10 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy (GHE) model class -- header file
@@ -43,6 +43,7 @@ class G4HEInelastic : public G4HadronicInteraction
MAXPART = 512;
verboseLevel = 0;
SetParticles();
conserveEnergy = false;
};
~G4HEInelastic(){ };
@@ -54,6 +55,11 @@ class G4HEInelastic : public G4HadronicInteraction
G4int verboseLevel;
G4int MAXPART;
G4bool conserveEnergy;
void ForceEnergyConservation(G4bool energyConservation)
{ conserveEnergy = energyConservation;}
G4bool EnergyConservation(void)
{ return conserveEnergy;}
void FillParticleChange(G4HEVector pv[], G4int aVecLength);
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEKaonMinusInelastic.hh,v 1.3 1999/12/15 14:52:52 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEKaonMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEKaonMinusInelastic_h
#define G4HEKaonMinusInelastic_h 1
// Class Description
// Final state production model for KaonMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEKaonMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEKaonPlusInelastic.hh,v 1.3 1999/12/15 14:52:53 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEKaonPlusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEKaonPlusInelastic_h
#define G4HEKaonPlusInelastic_h 1
// Class Description
// Final state production model for KaonPlus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEKaonPlusInelastic : public G4HEInelastic
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonZeroInelastic.hh,v 1.3 1999/12/15 14:52:53 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEKaonZeroLongInelastic.hh,v 1.3 1999/12/15 14:52:53 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEKaonZeroLongInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEKaonZeroLongInelastic_h
#define G4HEKaonZeroLongInelastic_h 1
// Class Description
// Final state production model for KaonZeroLong inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEAntiKaonZeroInelastic.hh"
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEKaonZeroShortInelastic.hh,v 1.3 1999/12/15 14:52:53 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEKaonZeroShortInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEKaonZeroShortInelastic_h
#define G4HEKaonZeroShortInelastic_h 1
// Class Description
// Final state production model for KaonZeroShor inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEKaonZeroInelastic.hh"
#include "G4HEAntiKaonZeroInelastic.hh"
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HELambdaInelastic.hh,v 1.3 1999/12/15 14:52:53 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HELambdaInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HELambdaInelastic_h
#define G4HELambdaInelastic_h 1
// Class Description
// Final state production model for Lambda inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HELambdaInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HENeutronInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HENeutronInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HENeutronInelastic_h
#define G4HENeutronInelastic_h 1
// Class Description
// Final state production model for Neutron inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HENeutronInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEOmegaMinusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEOmegaMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEOmegaMinusInelastic_h
#define G4HEOmegaMinusInelastic_h 1
// Class Description
// Final state production model for OmegaMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEOmegaMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEPionMinusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEPionMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEPionMinusInelastic_h
#define G4HEPionMinusInelastic_h 1
// Class Description
// Final state production model for PionMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEPionMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEPionPlusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEPionPlusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEPionPlusInelastic_h
#define G4HEPionPlusInelastic_h 1
// Class Description
// Final state production model for PionPlus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEPionPlusInelastic : public G4HEInelastic
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEPlot.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha friend class G4HEPlot -- header file
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEProtonInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEProtonInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEProtonInelastic_h
#define G4HEProtonInelastic_h 1
// Class Description
// Final state production model for Proton inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEProtonInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HESigmaMinusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HESigmaMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HESigmaMinusInelastic_h
#define G4HESigmaMinusInelastic_h 1
// Class Description
// Final state production model for SigmaMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HESigmaMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HESigmaPlusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HESigmaPlusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HESigmaPlusInelastic_h
#define G4HESigmaPlusInelastic_h 1
// Class Description
// Final state production model for SigmaPlus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HESigmaPlusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HESigmaZeroInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HESigmaZeroInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HESigmaZeroInelastic_h
#define G4HESigmaZeroInelastic_h 1
// Class Description
// Final state production model for SigmaZero inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HELambdaInelastic.hh"
class G4HESigmaZeroInelastic : public G4HEInelastic
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEVector.hh,v 1.4 1999/12/15 16:42:00 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha friend class G4KinematicParticle -- header file
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEXiMinusInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEXiMinusInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEXiMinusInelastic_h
#define G4HEXiMinusInelastic_h 1
// Class Description
// Final state production model for XiMinus inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEXiMinusInelastic : public G4HEInelastic
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEXiZeroInelastic.hh,v 1.3 1999/12/15 14:52:54 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEXiZeroInelastic.hh,v 1.4 2000/12/14 09:02:42 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
// G4 Gheisha High Energy model class -- header file
@@ -18,6 +18,13 @@
#ifndef G4HEXiZeroInelastic_h
#define G4HEXiZeroInelastic_h 1
// Class Description
// Final state production model for XiZero inelastic scattering above 20 GeV;
// To be used in your physics list in case you need this physics.
// In this case you want to register an object of this class with
// the corresponding process.
// Class Description - End
#include "G4HEInelastic.hh"
class G4HEXiZeroInelastic : public G4HEInelastic
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiKaonZeroInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiLambdaInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiNeutronInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiOmegaMinusInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiProtonInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiSigmaMinusInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiSigmaPlusInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiSigmaZeroInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiXiMinusInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEAntiXiZeroInelastic.cc,v 1.3 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEInelastic.cc,v 1.4 1999/12/15 14:52:55 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEInelastic.cc,v 1.5 2000/07/09 09:48:35 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -23,7 +23,7 @@
// Last modified: 29-July-1998
// HPW, fixed bug in getting pdgencoding for nuclei
// Hisaya, fixed HighEnergyCascading
// Fesefeldt, fixed bug in TuningOfHighEnergyCascading, 23 June 2000
#include "G4HEInelastic.hh"
#include "G4HEVector.hh"
#include "G4ParticleDefinition.hh"
@@ -1885,7 +1885,7 @@ G4HEInelastic::TuningOfHighEnergyCascading( G4HEVector pv[],
pvmx[4].Print(4);
}
G4int ledpar = 0;
G4int ledpar = -1;
G4double redpar = 0.;
G4double gespar = 0.;
G4int incidentS = incidentParticle.getQuarkContent( 3 )
@@ -1974,27 +1974,48 @@ G4HEInelastic::TuningOfHighEnergyCascading( G4HEVector pv[],
pvmx[8].Add3(pvmx[8], pv[i] );
}
if (ledpar > 0)
if (ledpar >= 0)
{
if(verboseLevel > 1)
{
if(verboseLevel > 1)
{
G4cout << " Leading Particle found : " << ledpar << G4endl;
pv[ledpar].Print(ledpar);
}
pvmx[4].Sub3(pvmx[8], pvmx[9] );
G4double ptled = pv[ledpar].Length() * sqrt(1. - sqr(pvmx[9].CosAng( pv[ledpar] )));
pv[ledpar].Sub3( pv[ledpar], pvmx[4] );
pvmx[5].Smul( pvmx[9], pv[ledpar].Length()*pvmx[9].CosAng(pv[ledpar])/pvmx[9].Length());
pvmx[6].Cross( pvmx[9], pv[ledpar]);
pvmx[6].Cross( pvmx[6], pvmx[9]);
pvmx[6].Smul( pvmx[6], ptled/pvmx[6].Length());
pv[ledpar].Add3( pvmx[5], pvmx[6] );
pv[ledpar].setMassAndUpdate( pv[ledpar].getMass());
pvmx[8].Print(-2);
incidentParticle.Print(-1);
}
pvmx[4].Sub3(incidentParticle,pvmx[8]);
pvmx[5].Smul(incidentParticle, incidentParticle.CosAng(pvmx[4])
*pvmx[4].Length()/incidentParticle.Length());
pv[ledpar].Add3(pv[ledpar],pvmx[5]);
pv[ledpar].SmulAndUpdate( pv[ledpar], 1.);
if(verboseLevel > 1)
{
{
pv[ledpar].Print(ledpar);
}
}
}
if(conserveEnergy)
{
G4double ekinhf = 0.;
for(i=0; i<vecLen; i++)
{
ekinhf += pv[i].getKineticEnergy();
if(pv[i].getMass() < 0.7) ekinhf += pv[i].getMass();
}
if(incidentParticle.getMass() < 0.7) ekinhf -= incidentParticle.getMass();
if(ledpar < 0)
{
ekinhf = incidentParticle.getKineticEnergy()/ekinhf;
for(i=0; i<vecLen; i++) pv[i].setKineticEnergyAndUpdate(ekinhf*pv[i].getKineticEnergy());
}
else
{
ekinhf = incidentParticle.getKineticEnergy() - ekinhf;
ekinhf += pv[ledpar].getKineticEnergy();
if(ekinhf < 0.) ekinhf = 0.;
pv[ledpar].setKineticEnergyAndUpdate(ekinhf);
}
}
delete [] reddec;
delete [] pvmx;
return;
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonMinusInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonPlusInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonZeroInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonZeroLongInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEKaonZeroShortInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HELambdaInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HENeutronInelastic.cc,v 1.3 1999/12/15 14:52:56 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEOmegaMinusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEPionMinusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEPionPlusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEPlot.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEProtonInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HESigmaMinusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HESigmaPlusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HESigmaZeroInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HEVector.cc,v 1.4 1999/12/15 16:42:01 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G4HEVector.cc,v 1.5 2000/08/09 07:24:21 hpw Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -558,7 +558,11 @@ G4HEVector::CosAng( const G4HEVector & p )
if( a != 0.0 )
{
a = (px*p.px + py*p.py + pz*p.pz)/a;
if( fabs(a) > 1.0 ) a<0.0 ? a=-1.0 : a=1.0;
if( fabs(a) > 1.0 )
{
if(a<0.0) a=-1.0;
else a=1.0;
}
}
return a;
}
@@ -570,7 +574,11 @@ G4HEVector::Ang(const G4HEVector & p )
if( a != 0.0 )
{
a = (px*p.px + py*p.py + pz*p.pz)/a;
if( fabs(a) > 1.0 ) a<0.0 ? a=-1.0 : a=1.0;
if( fabs(a) > 1.0 )
{
if(a<0.0) a=-1.0;
else a=1.0;
}
}
return acos(a);
}
@@ -692,14 +700,15 @@ G4HEVector::Exch( G4HEVector & p1)
void
G4HEVector::Defs1( const G4HEVector & p1, const G4HEVector & p2)
{
G4double pt2 = p1.px*p1.px + p1.py*p1.py;
G4double pt2 = p2.px*p2.px + p2.py*p2.py;
if (pt2 > 0.0)
{
G4double ph, qx, qy, qz;
G4double a = sqrt(p2.px*p2.px + p2.py*p2.py + p2.pz*p2.pz);
G4double cost = p2.pz/a;
G4double sint = 0.5 * (sqrt(fabs((1.-cost)*(1.+cost))) + sqrt(pt2)/a);
(p2.py < 0.) ? ph = 1.5*M_PI : ph = 0.5*M_PI;
if(p2.py < 0.) ph = 1.5*M_PI;
else ph = 0.5*M_PI;
if( p2.px != 0.0)
ph = atan2(p2.py,p2.px);
qx = cost*cos(ph)*p1.px - sin(ph)*p1.py
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEXiMinusInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G4HEXiZeroInelastic.cc,v 1.3 1999/12/15 14:52:57 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
//