Import Geant4 2.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:42:07 +02:00
parent 103bda00c8
commit e7d7193284
3106 changed files with 171117 additions and 90550 deletions
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AntiNeutronAnnihilationAtRest.hh,v 1.1.10.1 1999/12/07 20:52:32 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4AntiNeutronAnnihilationAtRest.hh,v 1.2 1999/12/15 14:53:35 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AntiProtonAnnihilationAtRest.hh,v 1.1.10.1 1999/12/07 20:52:32 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4AntiProtonAnnihilationAtRest.hh,v 1.2 1999/12/15 14:53:35 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4DistributionGenerator.hh,v 1.1.8.1.2.1 1999/12/07 20:52:32 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4DistributionGenerator.hh,v 1.3 1999/12/15 14:53:35 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4KaonMinusAbsorption.hh,v 1.1.10.1 1999/12/07 20:52:33 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4KaonMinusAbsorption.hh,v 1.2 1999/12/15 14:53:35 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4KaonMinusAbsorptionAtRest.hh,v 1.1.8.1.2.1 1999/12/07 20:52:33 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4KaonMinusAbsorptionAtRest.hh,v 1.3 1999/12/15 14:53:35 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1997
@@ -0,0 +1,85 @@
// 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.
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file --- Copyright CERN 1998
// CERN Geneva Switzerland
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 2nd December 1995, G.Cosmo
// ------------ G4MuMinusCaptureCascade physics process --------
// by Vladimir Ivanchenko
// E-mail: Vladimir.Ivantchenko@cern.ch
// April 2000
// **************************************************************
//-----------------------------------------------------------------------------
#ifndef G4MuMinusCaptureCascade_h
#define G4MuMinusCaptureCascade_h 1
#include "g4std/iomanip"
#include "globals.hh"
#include "Randomize.hh"
#include "G4ThreeVector.hh"
#include "G4LorentzVector.hh"
#include "G4MuonMinus.hh"
#include "G4Electron.hh"
#include "G4Gamma.hh"
#include "G4VParticleChange.hh"
#include "G4ParticleDefinition.hh"
#include "G4GHEKinematicsVector.hh"
#include "G4ParticleTypes.hh"
#include "G4DynamicParticle.hh"
class G4MuMinusCaptureCascade
{
private:
// hide assignment operator as private
G4MuMinusCaptureCascade& operator=(const G4MuMinusCaptureCascade &right);
G4MuMinusCaptureCascade(const G4MuMinusCaptureCascade& );
public:
G4MuMinusCaptureCascade();
~G4MuMinusCaptureCascade();
G4int DoCascade(const G4double Z, const G4double massA,
G4GHEKinematicsVector* Cascade);
void DoBoundMuonMinusDecay(G4double Z, G4double massA,
G4int* nCascade, G4GHEKinematicsVector* Cascade);
private:
G4double GetKShellEnergy(G4double Z);
G4double GetLinApprox(const size_t N, const G4double X[], const G4double Y[],
G4double Xuser);
G4ThreeVector GetRandomVec();
void AddNewParticle(G4ParticleDefinition* aParticle,
G4ThreeVector Momentum,
G4double mass,
G4int* nParticle,
G4GHEKinematicsVector* Cascade);
G4double Emass, MuMass;
G4ParticleDefinition* theElectron;
G4ParticleDefinition* theGamma;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4MuonMinusCaptureAtRest.hh,v 1.1.10.1 1999/12/07 20:52:33 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4MuonMinusCaptureAtRest.hh,v 1.3 2000/04/07 16:06:47 vnivanch Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -34,6 +34,8 @@
#include "G4VParticleChange.hh"
#include "G4ParticleDefinition.hh"
#include "G4GHEKinematicsVector.hh"
#include "G4StopElementSelector.hh"
#include "G4MuMinusCaptureCascade.hh"
class G4MuonMinusCaptureAtRest : public G4VRestProcess
@@ -115,8 +117,10 @@ class G4MuonMinusCaptureAtRest : public G4VRestProcess
G4GHEKinematicsVector* Secondaries;
G4GHEKinematicsVector* Evaporates;
G4GHEKinematicsVector* Gkin;
G4GHEKinematicsVector* Cascade;
G4int nGkine;
G4int nCascade;
G4int nSecPart;
G4int nallFragm;
@@ -176,7 +180,15 @@ class G4MuonMinusCaptureAtRest : public G4VRestProcess
G4ParticleDefinition* pdefNeutron;
G4ParticleDefinition* pdefFragm[6];
G4StopElementSelector* pSelector;
G4MuMinusCaptureCascade* pEMCascade;
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NeutronCaptureAtRest.hh,v 1.1.10.1 1999/12/07 20:52:33 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4NeutronCaptureAtRest.hh,v 1.2 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusAbsorptionAtRest.hh,v 1.1.10.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusAbsorptionAtRest.hh,v 1.2 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopAbsorption.hh,v 1.2.6.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopAbsorption.hh,v 1.4 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopAl.hh,v 1.1.8.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopAl.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopC.hh,v 1.1.8.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopC.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopCo.hh,v 1.1.8.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopCo.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopCu.hh,v 1.1.8.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopCu.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopLi.hh,v 1.1.8.1.2.1 1999/12/07 20:52:34 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopLi.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,7 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopMaterial.hh,v 1.1.8.1.2.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopMaterial.hh,v 1.4 2000/04/18 17:18:35 pia Exp $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -74,7 +73,7 @@ protected:
G4RWTPtrOrderedVector<G4LorentzVector>* _momenta;
G4DistributionGenerator* _distributionE;
G4DistributionGenerator* _distributionAngle;
G4double _R;
G4double theR;
G4double GenerateAngle(G4double range);
G4LorentzVector MakeP4(G4double p, G4double theta,
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopN.hh,v 1.1.8.1.2.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopN.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopO.hh,v 1.1.8.1.2.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopO.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopPb.hh,v 1.1.8.1.2.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopPb.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PiMinusStopTa.hh,v 1.1.8.1.2.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PiMinusStopTa.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PionMinusAbsorptionAtRest.hh,v 1.1.10.1 1999/12/07 20:52:35 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4PionMinusAbsorptionAtRest.hh,v 1.2 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ------------------------------------------------------------
// GEANT 4 class header file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StopDeexcitation.hh,v 1.2.8.1 1999/12/07 20:52:36 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4StopDeexcitation.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StopDeexcitationAlgorithm.hh,v 1.2.8.1 1999/12/07 20:52:36 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4StopDeexcitationAlgorithm.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StopDummyDeexcitation.hh,v 1.2.8.1 1999/12/07 20:52:36 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4StopDummyDeexcitation.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998
@@ -0,0 +1,60 @@
// 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.
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file --- Copyright CERN 1998
// CERN Geneva Switzerland
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 2nd December 1995, G.Cosmo
// ------------ G4MuonMinusCaptureAtRest physics process --------
// by Vladimir Ivanchenko
// E-mail: Vladimir.Ivantchenko@cern.ch
// April 2000
// **************************************************************
//-----------------------------------------------------------------------------
#ifndef G4StopElementSelector_h
#define G4StopElementSelector_h 1
#include "globals.hh"
#include "Randomize.hh"
#include "G4ParticleDefinition.hh"
#include "g4std/iomanip"
#include "G4Element.hh"
#include "G4Material.hh"
#include "G4MaterialTable.hh"
#include "G4MuonMinus.hh"
class G4StopElementSelector
{
private:
// hide assignment operator as private
G4StopElementSelector& operator=(const G4StopElementSelector &right);
G4StopElementSelector(const G4StopElementSelector& );
public:
G4StopElementSelector();
~G4StopElementSelector();
G4Element* GetElement(const G4Material* aMaterial);
G4double GetMuonCaptureRate(G4double Z, G4double A);
G4double GetMuonDecayRate(G4double Z, G4double A);
private:
};
#endif
@@ -5,8 +5,8 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StopTheoDeexcitation.hh,v 1.2.8.1 1999/12/07 20:52:36 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4StopTheoDeexcitation.hh,v 1.3 1999/12/15 14:53:36 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// -------------------------------------------------------------------
// GEANT 4 class file --- Copyright CERN 1998