Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -1,121 +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. *
// ********************************************************************
//
//
// Calculation of the total, elastic and inelastic cross-sections
// of hadron (proton, neutron, pi+, pi-, K+, K-, anti_proton, anti_neutron
// interactions with nuclei based on CHIPS model
//
// Created by V. Uzhinsky, 31.05.2011
#ifndef G4ComponentCHIPShadronNuclearXS_h
#define G4ComponentCHIPShadronNuclearXS_h
#include <CLHEP/Units/PhysicalConstants.h> // pi, fermi,..
#include "globals.hh"
#include "G4Proton.hh"
#include "G4AntiProton.hh"
#include "G4Nucleus.hh"
#include "G4VComponentCrossSection.hh"
class G4ParticleDefinition;
class G4VQCrossSection;
class G4ComponentCHIPShadronNuclearXS : public G4VComponentCrossSection
{
public:
G4ComponentCHIPShadronNuclearXS ();
virtual ~G4ComponentCHIPShadronNuclearXS ();
virtual
G4double GetTotalElementCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4double N);
virtual
G4double GetTotalIsotopeCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4int N);
virtual
G4double GetInelasticElementCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4double N);
virtual
G4double GetInelasticIsotopeCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4int N);
virtual
G4double GetElasticElementCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4double N);
virtual
G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition* aParticle,
G4double kinEnergy,
G4int Z, G4int N);
virtual
void BuildPhysicsTable(const G4ParticleDefinition&)
{}
virtual
void DumpPhysicsTable(const G4ParticleDefinition&)
{}
private:
G4ComponentCHIPShadronNuclearXS & operator=(const G4ComponentCHIPShadronNuclearXS &right);
G4ComponentCHIPShadronNuclearXS(const G4ComponentCHIPShadronNuclearXS&);
const G4double fUpperLimit;
const G4double fLowerLimit;
G4VQCrossSection* PxsManagerEl;
G4VQCrossSection* PxsManagerInEl;
G4VQCrossSection* NxsManagerEl;
G4VQCrossSection* NxsManagerInEl;
G4VQCrossSection* PBARxsManagerEl;
G4VQCrossSection* PBARxsManagerInEl;
G4VQCrossSection* PIPxsManagerEl;
G4VQCrossSection* PIPxsManagerInEl;
G4VQCrossSection* PIMxsManagerEl;
G4VQCrossSection* PIMxsManagerInEl;
G4VQCrossSection* KPxsManagerEl;
G4VQCrossSection* KPxsManagerInEl;
G4VQCrossSection* KMxsManagerEl;
G4VQCrossSection* KMxsManagerInEl;
};
#endif
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4DiffractiveExcitation.hh,v 1.4 2009-09-17 18:24:30 vuzhinsk Exp $
// $Id$
#ifndef G4DiffractiveExcitation_h
#define G4DiffractiveExcitation_h 1
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4DiffractiveHHScatterer.hh,v 1.8 2010-06-14 16:26:46 gcosmo Exp $
// $Id$
#ifndef G4DiffractiveHHScatterer_h
#define G4DiffractiveHHScatterer_h 1
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4DiffractiveSplitableHadron.hh,v 1.7 2010/12/07 10:42:40 vuzhinsk Exp $
// $Id$
// GEANT4 tag $Name: $
//
@@ -48,16 +48,19 @@ class G4DiffractiveSplitableHadron : public G4VSplitableHadron
public:
G4DiffractiveSplitableHadron();
G4DiffractiveSplitableHadron(const G4ReactionProduct & aPrimary);
G4DiffractiveSplitableHadron(const G4Nucleon & aNucleon);
G4DiffractiveSplitableHadron(const G4VKineticNucleon * aNucleon);
~G4DiffractiveSplitableHadron();
private:
G4DiffractiveSplitableHadron(const G4DiffractiveSplitableHadron &);
G4DiffractiveSplitableHadron& operator=(const G4DiffractiveSplitableHadron &);
int operator==(const G4DiffractiveSplitableHadron &right) const;
int operator!=(const G4DiffractiveSplitableHadron &right) const;
public:
void SplitUp();
G4Parton * GetNextParton() ;
G4Parton * GetNextAntiParton();
@@ -65,10 +68,7 @@ public:
void SetFirstParton(G4int PDGcode); // Uzhi 24.11.10
void SetSecondParton(G4int PDGcode); // Uzhi 24.11.10
//private: // Uzhi 29.11.2010
G4DiffractiveSplitableHadron();
G4DiffractiveSplitableHadron(const G4DiffractiveSplitableHadron &right);
const G4DiffractiveSplitableHadron & operator=(const G4DiffractiveSplitableHadron &right);
private:
//implementation
G4int Diquark(G4int aquark,G4int bquark,G4int Spin) const; // to splitable hadron
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ElasticHNScattering.hh,v 1.2 2009-08-03 13:14:19 vuzhinsk Exp $
// $Id$
#ifndef G4ElasticHNScattering_h
#define G4ElasticHNScattering_h 1
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4FTFAnnihilation.hh,v 1.1 2010/12/07 10:42:40 vuzhinsk Exp $
// $Id$
#ifndef G4FTFAnnihilation_h
#define G4FTFAnnihilation_h 1
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4FTFModel.hh,v 1.12 2010/12/07 10:42:40 vuzhinsk Exp $
// $Id$
// GEANT4 tag $Name: $
//
// Class Description
@@ -64,20 +64,20 @@ class G4FTFModel : public G4VPartonStringModel
{
public:
G4FTFModel();
G4FTFModel(G4double , G4double , G4double );
G4FTFModel(G4DiffractiveExcitation * anExcitation);
G4FTFModel(const G4FTFModel &right);
G4FTFModel(const G4String& modelName = "FTF");
//G4FTFModel(G4double , G4double , G4double );
//G4FTFModel(G4DiffractiveExcitation * anExcitation);
~G4FTFModel();
private:
G4FTFModel(const G4FTFModel &right);
const G4FTFModel & operator=(const G4FTFModel &right);
int operator==(const G4FTFModel &right) const;
int operator!=(const G4FTFModel &right) const;
public:
void Init(const G4Nucleus & aNucleus, const G4DynamicParticle & aProjectile);
G4ExcitedStringVector * GetStrings();
G4V3DNucleus * GetWoundedNucleus() const;
virtual void ModelDescription(std::ostream&) const;
protected:
@@ -23,15 +23,18 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
#ifndef G4FTFParameters_h
#define G4FTFParameters_h 1
//
// $Id: G4FTFParameters.hh,v 1.10 2010/12/07 10:42:40 vuzhinsk Exp $
// $Id$
// GEANT4 tag $Name: $
//
#ifndef G4FTFParameters_h
#define G4FTFParameters_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4Proton.hh"
#include "G4Neutron.hh"
#include "G4VComponentCrossSection.hh" // 31 May 2011
#include "G4ChipsComponentXS.hh"
class G4FTFParameters
{
@@ -80,6 +83,7 @@ class G4FTFParameters
void SetProbabilityOfTarDiff(const G4double aValue);
void SetAveragePt2(const G4double aValue);
void SetProbLogDistr(const G4double aValue);
// --------- Set parameters of a string kink --------------------------------
void SetPt2Kink(const G4double aValue);
@@ -130,6 +134,7 @@ class G4FTFParameters
G4double GetProbabilityOfTarDiff();
G4double GetAveragePt2();
G4double GetProbLogDistr();
// --------- Get parameters of a string kink --------------------------------
G4double GetPt2Kink();
@@ -156,7 +161,7 @@ class G4FTFParameters
G4double FTFhNcmsEnergy; // Initial hN CMS energy
// ------------ hN cross section manager -----------------------------
G4VComponentCrossSection* FTFxsManager;
G4ChipsComponentXS* FTFxsManager;
// ------------ Geometrical parameteres ------------------------------
G4double FTFXtotal; // Total X in mb
G4double FTFXelastic; // Elastic X in mb
@@ -184,6 +189,7 @@ class G4FTFParameters
G4double ProbabilityOfTarDiff;
G4double AveragePt2;
G4double ProbLogDistr;
// ---------- Parameters of kink -------------------------------------
G4double Pt2kink;
@@ -205,8 +211,8 @@ class G4FTFParameters
};
// --------------------------------------------------------------------
inline void G4FTFParameters::SethNcmsEnergy(const G4double s)
{FTFhNcmsEnergy = s;}
inline void G4FTFParameters::SethNcmsEnergy(const G4double S)
{FTFhNcmsEnergy = S;}
// --------- Set geometrical parameteres ------------------------------
inline void G4FTFParameters::SetTotalCrossSection(const G4double Xtotal)
@@ -256,21 +262,24 @@ inline void G4FTFParameters::SetProbOfSameQuarkExchange(const G4double aValue)
{ProbOfSameQuarkExchange = aValue;}
inline void G4FTFParameters::SetProjMinDiffMass(const G4double aValue)
{ProjMinDiffMass = aValue*GeV;}
{ProjMinDiffMass = aValue*CLHEP::GeV;}
inline void G4FTFParameters::SetProjMinNonDiffMass(const G4double aValue)
{ProjMinNonDiffMass = aValue*GeV;}
{ProjMinNonDiffMass = aValue*CLHEP::GeV;}
inline void G4FTFParameters::SetProbabilityOfProjDiff(const G4double aValue)
{ProbabilityOfProjDiff = aValue;}
inline void G4FTFParameters::SetTarMinDiffMass(const G4double aValue)
{TarMinDiffMass = aValue*GeV;}
{TarMinDiffMass = aValue*CLHEP::GeV;}
inline void G4FTFParameters::SetTarMinNonDiffMass(const G4double aValue)
{TarMinNonDiffMass = aValue*GeV;}
{TarMinNonDiffMass = aValue*CLHEP::GeV;}
inline void G4FTFParameters::SetProbabilityOfTarDiff(const G4double aValue)
{ProbabilityOfTarDiff = aValue;}
inline void G4FTFParameters::SetAveragePt2(const G4double aValue)
{AveragePt2 = aValue*GeV*GeV;}
{AveragePt2 = aValue*CLHEP::GeV*CLHEP::GeV;}
inline void G4FTFParameters::SetProbLogDistr(const G4double aValue)
{ProbLogDistr = aValue;}
// --------- Set parameters of a string kink --------------------------------
inline void G4FTFParameters::SetPt2Kink(const G4double aValue)
@@ -366,6 +375,7 @@ inline G4double G4FTFParameters::GetTarMinNonDiffMass() {return TarMinNonD
inline G4double G4FTFParameters::GetProbabilityOfTarDiff() {return ProbabilityOfTarDiff;}
inline G4double G4FTFParameters::GetAveragePt2() {return AveragePt2;}
inline G4double G4FTFParameters::GetProbLogDistr() {return ProbLogDistr;}
// --------- Get parameters of a string kink --------------------------
inline G4double G4FTFParameters::GetPt2Kink() {return Pt2kink;}
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4FTFParticipants.hh,v 1.7 2010-09-20 15:50:46 vuzhinsk Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4FTFParticipants_h
@@ -53,7 +52,6 @@ class G4FTFParticipants : public G4VParticipants
public:
G4FTFParticipants();
G4FTFParticipants(const G4FTFParticipants &right);
const G4FTFParticipants & operator=(const G4FTFParticipants &right);
~G4FTFParticipants();
@@ -76,6 +74,9 @@ class G4FTFParticipants : public G4VParticipants
G4V3DNucleus *theProjectileNucleus;
private:
//A.R. 25-Jul-2012 Coverity fix : copy constructor becomes private.
G4FTFParticipants(const G4FTFParticipants &right);
// std::vector<G4InteractionContent *> theInteractions;
G4int currentInteraction;