Import Geant4 0.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-01 15:25:35 +02:00
parent 54d6b71f95
commit b97f8d0df7
3237 changed files with 807095 additions and 0 deletions
@@ -0,0 +1,75 @@
// This code implementation is the intellectual property of
// the RD44 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: G4Alpha.hh,v 2.3 1998/09/24 11:24:39 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
#ifndef G4Alpha_h
#define G4Alpha_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### ALPHA ###
// ######################################################################
class G4Alpha : public G4VIon
{
private:
static G4Alpha theAlpha;
static G4double theAlphaLengthCut;
static G4double* theAlphaKineticEnergyCuts;
public:
G4Alpha(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
static G4Alpha* AlphaDefinition();
static G4Alpha* Alpha(){return &theAlpha;}
static G4double GetCuts() {return theAlphaLengthCut;}
static G4double* GetCutsInEnergy() {return theAlphaKineticEnergyCuts;};
void SetCuts(G4double aCut);
};
inline void G4Alpha::SetCuts(G4double aCut)
{
CalcEnergyCuts(aCut);
theAlphaLengthCut = theCutInMaxInteractionLength;
theAlphaKineticEnergyCuts = theKineticEnergyCuts;
}
#endif
@@ -0,0 +1,75 @@
// This code implementation is the intellectual property of
// the RD44 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: G4Deuteron.hh,v 2.3 1998/09/24 11:24:42 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
#ifndef G4Deuteron_h
#define G4Deuteron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### DEUTERON ###
// ######################################################################
class G4Deuteron : public G4VIon
{
private:
static G4Deuteron theDeuteron;
static G4double theDeuteronLengthCut;
static G4double* theDeuteronKineticEnergyCuts;
public:
G4Deuteron(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
static G4Deuteron* DeuteronDefinition();
static G4Deuteron* Deuteron(){return &theDeuteron;}
static G4double GetCuts() {return theDeuteronLengthCut;}
static G4double* GetCutsInEnergy() {return theDeuteronKineticEnergyCuts;};
void SetCuts(G4double aCut);
};
inline void G4Deuteron::SetCuts(G4double aCut)
{
CalcEnergyCuts(aCut);
theDeuteronLengthCut = theCutInMaxInteractionLength;
theDeuteronKineticEnergyCuts = theKineticEnergyCuts;
}
#endif
@@ -0,0 +1,72 @@
// This code implementation is the intellectual property of
// the RD44 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: G4GenericIon.hh,v 1.1 1998/12/05 07:54:00 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 4-th Dec 1998, H.Kurashige
// ****************************************************************
// This class is used only by G4IonTable and not for tracking
// G4IonTable creates various ions other than alpha,deuteron,triton,
// and He3. Processes for these ions will be same as ones for
// this "GenericIon". So, user should register processes for ions
// to this class in his/her UserPhysicsList
#ifndef G4GenericIon_h
#define G4GenericIon_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### GenericIon ###
// ######################################################################
class G4GenericIon : public G4VIon
{
private:
static G4GenericIon theGenericIon;
static G4double theGenericIonLengthCut;
static G4double* theGenericIonKineticEnergyCuts;
public:
G4GenericIon(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
static G4GenericIon* GenericIonDefinition();
static G4GenericIon* GenericIon(){return &theGenericIon;}
static G4double GetCuts() {return theGenericIonLengthCut;}
static G4double* GetCutsInEnergy() {return theGenericIonKineticEnergyCuts;};
void SetCuts(G4double aCut);
};
inline void G4GenericIon::SetCuts(G4double aCut)
{
CalcEnergyCuts(aCut);
theGenericIonLengthCut = theCutInMaxInteractionLength;
theGenericIonKineticEnergyCuts = theKineticEnergyCuts;
}
#endif
@@ -0,0 +1,72 @@
// This code implementation is the intellectual property of
// the RD44 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: G4He3.hh,v 2.3 1998/09/24 11:24:44 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 24-th April 1998,H.Kurashige
// ****************************************************************
// ----------------------------------------------------------------------
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
#ifndef G4He3_h
#define G4He3_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### He3 ###
// ######################################################################
class G4He3 : public G4VIon
{
private:
static G4He3 theHe3;
static G4double theHe3LengthCut;
static G4double* theHe3KineticEnergyCuts;
public:
G4He3(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
static G4He3* He3Definition();
static G4He3* He3() {return &theHe3;}
static G4double GetCuts() {return theHe3LengthCut;}
static G4double* GetCutsInEnergy() {return theHe3KineticEnergyCuts;};
void SetCuts(G4double aCut);
};
inline void G4He3::SetCuts(G4double aCut)
{
CalcEnergyCuts(aCut);
theHe3LengthCut = theCutInMaxInteractionLength;
theHe3KineticEnergyCuts = theKineticEnergyCuts;
}
#endif
@@ -0,0 +1,37 @@
// This code implementation is the intellectual property of
// the RD44 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: G4IonConstructor.hh,v 2.1 1998/07/13 17:16:11 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file
//
#ifndef G4IonConstructor_h
#define G4IonConstructor_h 1
#include "globals.hh"
#include "G4ios.hh"
class G4IonConstructor
{
//This class is a utility class for construction
//short lived particles
public:
G4IonConstructor();
~G4IonConstructor();
public:
void ConstructParticle();
protected:
void ConstructLightIons();
};
#endif
@@ -0,0 +1,75 @@
// This code implementation is the intellectual property of
// the RD44 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: G4Triton.hh,v 2.3 1998/09/24 11:24:47 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// For information related to this code contact:
// CERN, CN Division, ASD group
// History: first implementation, based on object model of
// 4-th April 1996, G.Cosmo
// ****************************************************************
// Added particle definitions, H.Kurashige, 19 April 1996
// Revised, G.Cosmo, 6 June 1996
// Added not static GetEnergyCuts() and GetLengthCuts(), G.Cosmo, 11 July 1996
// ----------------------------------------------------------------
// Each class inheriting from G4VIon
// corresponds to a particle type; one and only one
// instance for each class is guaranteed.
#ifndef G4Triton_h
#define G4Triton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4VIon.hh"
// ######################################################################
// ### TRITON ###
// ######################################################################
class G4Triton : public G4VIon
{
private:
static G4Triton theTriton;
static G4double theTritonLengthCut;
static G4double* theTritonKineticEnergyCuts;
public:
G4Triton(
const G4String& aName, G4double mass,
G4double width, G4double charge,
G4int iSpin, G4int iParity,
G4int iConjugation, G4int iIsospin,
G4int iIsospin3, G4int gParity,
const G4String& pType, G4int lepton,
G4int baryon, G4int encoding,
G4bool stable, G4double lifetime,
G4DecayTable *decaytable
);
static G4Triton* TritonDefinition();
static G4Triton* Triton() {return &theTriton;}
static G4double GetCuts() {return theTritonLengthCut;}
static G4double* GetCutsInEnergy() {return theTritonKineticEnergyCuts;};
void SetCuts(G4double aCut);
};
inline void G4Triton::SetCuts(G4double aCut)
{
CalcEnergyCuts(aCut);
theTritonLengthCut = theCutInMaxInteractionLength;
theTritonKineticEnergyCuts = theKineticEnergyCuts;
}
#endif
@@ -0,0 +1,72 @@
// This code implementation is the intellectual property of
// the RD44 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: G4VIon.hh,v 2.2 1998/07/13 17:16:14 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// 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
// ------------------------------------------------------------
// Revised, Hisaya Kurashige, 16 Dec 1996
// Revised, Hisaya Kurashige, 24 Frb 1997
// ----------------------------------------------------------------
#ifndef G4VIon_h
#define G4VIon_h 1
#include "G4ios.hh"
#include "globals.hh"
#include "G4Material.hh"
#include "G4PhysicsLogVector.hh"
#include "G4ParticleWithCuts.hh"
class G4VIon : public G4ParticleWithCuts
{
// A virtual class for Ions particles. It defines
// public methods which describe the behavior of a
// ion.
private:
const G4VIon & operator=(const G4VIon &right);
public:
G4VIon(const G4String& aName,
G4double mass,
G4double width,
G4double charge,
G4int iSpin,
G4int iParity,
G4int iConjugation,
G4int iIsospin,
G4int iIsospinZ,
G4int gParity,
const G4String& pType,
G4int lepton,
G4int baryon,
G4int encoding,
G4bool stable,
G4double lifetime,
G4DecayTable *decaytable)
: G4ParticleWithCuts(aName, mass, width, charge, iSpin, iParity,
iConjugation, iIsospin, iIsospinZ, gParity,
pType, lepton, baryon, encoding, stable,
lifetime, decaytable) {};
virtual ~G4VIon() {};
};
#endif