Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4ExcitedString.hh,v 1.5 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ExcitedString.hh,v 1.5.8.2 2001/06/28 20:20:01 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4ExcitedString_h
@@ -15,8 +31,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4ExcitedString ----------------
// by Gunter Folger, June 1998.
// class for an excited string used by Parton String Models
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4ExcitedStringVector.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ExcitedStringVector.hh,v 1.3.8.2 2001/06/28 20:20:01 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4ExcitedStringVector_h
#define G4ExcitedStringPartonVector_h 1
@@ -14,8 +30,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4ExcitedStringVector ----------------
// by Gunter Folger, June 1998.
// ------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Fancy3DNucleus.hh,v 1.6 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Fancy3DNucleus.hh,v 1.6.8.2 2001/06/28 20:20:01 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4Fancy3DNucleus_h
#define G4Fancy3DNucleus_h 1
@@ -14,8 +30,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Fancy3DNucleus ----------------
// by Gunter Folger, May 1998.
// class for a 3D nucleus, arranging nucleons in space and momentum.
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4FermiMomentum.hh,v 1.2 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4FermiMomentum.hh,v 1.3.2.1 2001/06/28 19:13:47 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4FermiMomentum_h
#define G4FermiMomentum_h 1
@@ -40,7 +56,11 @@ class G4FermiMomentum
} while ( p.mag() > 1. );
return p*GetFermiMomentum(density);
}
private:
G4double cbrt(G4double x) { return pow(x,1./3.); }
private:
G4double theA;
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Fragment.hh,v 1.7 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Fragment.hh,v 1.8.2.1 2001/06/28 19:13:47 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (May 1998)
@@ -33,11 +49,16 @@
class G4ParticleDefinition;
class G4Fragment; // Forward deckaration
typedef G4RWTPtrOrderedVector<G4Fragment> G4FragmentVector;
//typedef G4RWTPtrOrderedVector<G4Fragment> G4FragmentVector;
typedef G4std::vector<G4Fragment*> G4FragmentVector;
class G4Fragment
{
public:
// ============= CONSTRUCTORS ==================
// Default constructor
G4Fragment();
@@ -55,16 +76,7 @@ public:
// 4-momentum and pointer to G4particleDefinition (for gammas)
G4Fragment(const G4LorentzVector aMomentum, G4ParticleDefinition * aParticleDefinition);
// G4Fragment(const G4int A, const G4int Z, const G4double anExEnergy, const G4LorentzVector aMomentum,
// const G4ThreeVector anAngularMomentum, const G4int aNumberOfExcitons, const G4int aNumberOfHoles,
// const G4int aNumberOfCharged);
// G4Fragment(const G4int A, const G4int Z, const G4double anExEnergy,
// const G4LorentzVector aMomentum,
// const G4ThreeVector anAngularMomentum, const G4int aNumberOfExcitons,
// const G4int aNumberOfHoles, const G4int aNumberOfCharged,
// G4ParticleDefinition * aParticleDefinition);
// ============= OPERATORS ==================
const G4Fragment & operator=(const G4Fragment &right);
G4bool operator==(const G4Fragment &right) const;
@@ -73,6 +85,7 @@ public:
friend G4std::ostream& operator<<(G4std::ostream&, const G4Fragment*);
friend G4std::ostream& operator<<(G4std::ostream&, const G4Fragment&);
// ============= METHODS ==================
inline G4double GetA(void) const;
void SetA(const G4double value);
@@ -90,7 +103,7 @@ public:
void SetAngularMomentum(const G4ThreeVector value);
G4int GetNumberOfExcitons(void) const;
void SetNumberOfExcitons(const G4int value);
// void SetNumberOfExcitons(const G4int value);
G4int GetNumberOfHoles(void) const;
void SetNumberOfHoles(const G4int value);
@@ -99,7 +112,7 @@ public:
void SetNumberOfCharged(const G4int value);
G4int GetNumberOfParticles(void) const;
void SetNumberOfParticles(const G4int value);
inline G4ParticleDefinition * GetParticleDefinition(void) const;
void SetParticleDefinition(G4ParticleDefinition * aParticleDefinition);
@@ -110,9 +123,9 @@ public:
// Some utility methods
inline G4double GetGroundStateMass(void) const;
inline G4double GetBindingEnergy(void) const;
inline G4double GetGroundStateMass(void) const;
inline G4double GetBindingEnergy(void) const;
private:
@@ -121,6 +134,8 @@ private:
G4ThreeVector IsotropicRandom3Vector(const G4double Magnitude = 1.0) const;
// ============= DATA MEMBERS ==================
G4double theA;
G4double theZ;
@@ -131,7 +146,7 @@ private:
G4ThreeVector theAngularMomentum;
G4int numberOfExcitons;
G4int numberOfParticles;
G4int numberOfHoles;
@@ -206,12 +221,12 @@ inline void G4Fragment::SetAngularMomentum(const G4ThreeVector value)
inline G4int G4Fragment::GetNumberOfExcitons() const
{
return numberOfExcitons;
return numberOfParticles + numberOfHoles;
}
inline void G4Fragment::SetNumberOfExcitons(const G4int value)
inline void G4Fragment::SetNumberOfParticles(const G4int value)
{
numberOfExcitons = value;
numberOfParticles = value;
}
inline G4int G4Fragment::GetNumberOfHoles() const
@@ -231,12 +246,13 @@ inline G4int G4Fragment::GetNumberOfCharged() const
inline void G4Fragment::SetNumberOfCharged(const G4int value)
{
numberOfCharged = value;
if (value <= numberOfParticles) numberOfCharged = value;
else G4Exception("G4Fragment::SetNumberOfCharged: Number of charged particles can't be greater than number of particles");
}
inline G4int G4Fragment::GetNumberOfParticles() const
{
return numberOfExcitons - numberOfHoles;
return numberOfParticles;
}
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4FragmentVector.hh,v 1.2 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4FragmentVector.hh,v 1.2.8.1 2001/06/28 19:13:47 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (May 1998)
@@ -1,19 +1,33 @@
// 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.
// ********************************************************************
// * 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: G4GeneralPhaseSpaceDecay.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4GeneralPhaseSpaceDecay.hh,v 1.3.8.2 2001/06/28 20:20:01 gunter Exp $
// GEANT4 tag $Name: $
//
//$Id: G4GeneralPhaseSpaceDecay.hh,v 1.1 1997/05/21
// ----------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, A. Feliciello, 20th May 1998
//
// Note: this class is a generalization of the
@@ -1,19 +1,33 @@
// 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.
// ********************************************************************
// * 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: G4KineticTrack.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4KineticTrack.hh,v 1.3.8.2 2001/06/28 20:20:01 gunter Exp $
// GEANT4 tag $Name: $
//
// $Id: G4KineticTrack.hh,v 1.0 1998/05/20
// -----------------------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, A. Feliciello, 20th May 1998
// -----------------------------------------------------------------------------
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4KineticTrackVector.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4KineticTrackVector.hh,v 1.3.8.1 2001/06/28 19:13:47 gunter Exp $
// GEANT4 tag $Name: $
// Modified at 8-Oct-1998 by Maxim Komogorov. Methods BoostBeam,Boost,Shift
// were added.
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4NuclearFermiDensity.hh,v 1.3 2000/05/23 13:41:41 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4NuclearFermiDensity.hh,v 1.3.8.1 2001/06/28 19:13:48 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4NuclearFermiDensity_h
#define G4NuclearFermiDensity_h 1
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4NuclearShellModelDensity.hh,v 1.3 2000/05/23 13:41:41 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4NuclearShellModelDensity.hh,v 1.3.8.1 2001/06/28 19:13:48 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4NuclearShellModelDensity_h
#define G4NuclearShellModelDensity_h 1
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Nucleon.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Nucleon.hh,v 1.3.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4Nucleon_h
#define G4Nucleon_h 1
@@ -14,8 +30,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Nucleon ----------------
// by Gunter Folger, May 1998.
// class for a nucleon (inside a 3D Nucleus)
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Parton.hh,v 1.9 2000/08/02 08:15:31 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Parton.hh,v 1.9.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4Parton_h
@@ -15,8 +31,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Parton ----------------
// by Gunter Folger, June 1998.
// class for Parton (inside a string) used by Parton String Models
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PartonVector.hh,v 1.3 1999/12/15 14:52:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PartonVector.hh,v 1.3.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
#ifndef G4PartonVector_h
#define G4PartonVector_h 1
@@ -14,8 +30,6 @@
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4PartonVector ----------------
// by Gunter Folger, May 1998.
// ------------------------------------------------------------
@@ -1,19 +1,33 @@
// 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.
// ********************************************************************
// * 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: G4ExcitedString.cc,v 1.3 1999/12/15 14:52:51 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ExcitedString.cc,v 1.3.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4ExcitedString ----------------
// by Gunter Folger, June 1998.
// class for an excited string used by Parton String Models
@@ -1,18 +1,32 @@
// 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.
// ********************************************************************
// * 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: G4Fancy3DNucleus.cc,v 1.8 2000/08/11 08:22:15 hweber Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Fancy3DNucleus.cc,v 1.8.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Fancy3DNucleus ----------------
// by Gunter Folger, May 1998.
// class for a 3D nucleus, arranging nucleons in space and momentum.
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4FermiMomentum.cc,v 1.2 1999/12/15 14:52:51 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4FermiMomentum.cc,v 1.2.8.1 2001/06/28 19:13:48 gunter Exp $
// GEANT4 tag $Name: $
//
#include "G4FermiMomentum.hh"
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4Fragment.cc,v 1.8.2.1 2000/11/23 08:31:22 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Fragment.cc,v 1.9.2.1 2001/06/28 19:13:48 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (May 1998)
@@ -21,7 +37,7 @@ G4Fragment::G4Fragment() :
theExcitationEnergy(0.0),
theMomentum(0),
theAngularMomentum(0),
numberOfExcitons(0),
numberOfParticles(0),
numberOfHoles(0),
numberOfCharged(0),
theParticleDefinition(0),
@@ -38,7 +54,7 @@ G4Fragment::G4Fragment(const G4Fragment &right)
theExcitationEnergy = right.theExcitationEnergy;
theMomentum = right.theMomentum;
theAngularMomentum = right.theAngularMomentum;
numberOfExcitons = right.numberOfExcitons;
numberOfParticles = right.numberOfParticles;
numberOfHoles = right.numberOfHoles;
numberOfCharged = right.numberOfCharged;
theParticleDefinition = right.theParticleDefinition;
@@ -55,7 +71,7 @@ G4Fragment::G4Fragment(const G4int A, const G4int Z, const G4LorentzVector aMome
theA(A),
theZ(Z),
theMomentum(aMomentum),
numberOfExcitons(0),
numberOfParticles(0),
numberOfHoles(0),
numberOfCharged(0),
theParticleDefinition(0),
@@ -79,7 +95,7 @@ G4Fragment::G4Fragment(const G4LorentzVector aMomentum, G4ParticleDefinition * a
theA(0),
theZ(0),
theMomentum(aMomentum),
numberOfExcitons(0),
numberOfParticles(0),
numberOfHoles(0),
numberOfCharged(0),
theParticleDefinition(aParticleDefinition),
@@ -92,40 +108,6 @@ G4Fragment::G4Fragment(const G4LorentzVector aMomentum, G4ParticleDefinition * a
// G4Fragment::G4Fragment(const G4int A, const G4int Z, const G4double anExEnergy,
// const G4LorentzVector aMomentum,
// const G4ThreeVector anAngularMomentum, const G4int aNumberOfExcitons,
// const G4int aNumberOfHoles, const G4int aNumberOfCharged) :
// theA(A),
// theZ(Z),
// theExcitationEnergy(anExEnergy),
// theMomentum(aMomentum),
// theAngularMomentum(anAngularMomentum),
// numberOfExcitons(aNumberOfExcitons),
// numberOfHoles(aNumberOfHoles),
// numberOfCharged(aNumberOfCharged),
// theParticleDefinition(0)
// {}
// G4Fragment::G4Fragment(const G4int A, const G4int Z, const G4double anExEnergy,
// const G4LorentzVector aMomentum,
// const G4ThreeVector anAngularMomentum, const G4int aNumberOfExcitons,
// const G4int aNumberOfHoles, const G4int aNumberOfCharged,
// G4ParticleDefinition * aParticleDefinition) :
// theA(A),
// theZ(Z),
// theExcitationEnergy(anExEnergy),
// theMomentum(aMomentum),
// theAngularMomentum(anAngularMomentum),
// numberOfExcitons(aNumberOfExcitons),
// numberOfHoles(aNumberOfHoles),
// numberOfCharged(aNumberOfCharged),
// theParticleDefinition(aParticleDefinition)
// {}
const G4Fragment & G4Fragment::operator=(const G4Fragment &right)
{
if (this != &right) {
@@ -134,7 +116,7 @@ const G4Fragment & G4Fragment::operator=(const G4Fragment &right)
theExcitationEnergy = right.theExcitationEnergy;
theMomentum = right.theMomentum;
theAngularMomentum = right.theAngularMomentum;
numberOfExcitons = right.numberOfExcitons;
numberOfParticles = right.numberOfParticles;
numberOfHoles = right.numberOfHoles;
numberOfCharged = right.numberOfCharged;
theParticleDefinition = right.theParticleDefinition;
@@ -175,10 +157,10 @@ G4std::ostream& operator << (G4std::ostream &out, const G4Fragment *theFragment)
// What about Angular momentum???
if (theFragment->numberOfExcitons != 0) {
if (theFragment->GetNumberOfExcitons() != 0) {
out << G4endl;
out << " "
<< "#Excitons = " << theFragment->numberOfExcitons
<< "#Particles = " << theFragment->numberOfParticles
<< ", #Holes = " << theFragment->numberOfHoles
<< ", #Charged = " << theFragment->numberOfCharged;
}
@@ -1,19 +1,33 @@
// 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.
// ********************************************************************
// * 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: G4GeneralPhaseSpaceDecay.cc,v 1.2 1999/12/15 14:52:51 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4GeneralPhaseSpaceDecay.cc,v 1.2.8.2 2001/06/28 20:20:02 gunter Exp $
// GEANT4 tag $Name: $
//
// $Id: G4GeneralSpaceDecay.cc,v 1.0 1998/05/21
// ----------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, A. Feliciello, 21st May 1998
//
// Note: this class is a generalization of the
@@ -1,19 +1,33 @@
// 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.
// ********************************************************************
// * 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: G4KineticTrack.cc,v 1.10 2000/12/07 14:38:21 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4KineticTrack.cc,v 1.10.6.2 2001/06/28 20:20:03 gunter Exp $
// GEANT4 tag $Name: $
//
// $Id: G4KineticTrack.cc,v 1.0 1998/05/20
// -----------------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, A. Feliciello, 20th May 1998
// -----------------------------------------------------------------------------
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
#include "G4KineticTrackVector.hh"
G4KineticTrackVector::G4KineticTrackVector()
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4NuclearFermiDensity.cc,v 1.6 2000/05/23 13:41:42 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4NuclearFermiDensity.cc,v 1.6.8.1 2001/06/28 19:13:49 gunter Exp $
// GEANT4 tag $Name: $
//
#include "G4NuclearFermiDensity.hh"
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4NuclearShellModelDensity.cc,v 1.4 2000/05/23 13:41:42 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4NuclearShellModelDensity.cc,v 1.4.8.1 2001/06/28 19:13:49 gunter Exp $
// GEANT4 tag $Name: $
//
#include "G4NuclearShellModelDensity.hh"
@@ -1,20 +1,34 @@
// 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.
// ********************************************************************
// * 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: G4Nucleon.cc,v 1.3 1999/12/15 14:52:51 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Nucleon.cc,v 1.3.8.2 2001/06/28 20:20:03 gunter Exp $
// GEANT4 tag $Name: $
//
#include "G4Nucleon.hh"
// ------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Nucleon ----------------
// by Gunter Folger, May 1998.
// class for a nucleon (inside a 3D Nucleus)
@@ -1,18 +1,32 @@
// 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.
// ********************************************************************
// * 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: G4Parton.cc,v 1.7 2000/08/02 08:15:47 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4Parton.cc,v 1.7.8.2 2001/06/28 20:20:03 gunter Exp $
// GEANT4 tag $Name: $
//
// ------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// ---------------- G4Parton ----------------
// by Gunter Folger, June 1998.
// class for Parton (inside a string) used by Parton String Models