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
+20
View File
@@ -0,0 +1,20 @@
# $Id: GNUmakefile,v 2.0 1998/07/02 17:23:06 gunter Exp $
# --------------------------------------------------------------
# GNUmakefile for ions library. Gabriele Cosmo, 18/9/96.
# --------------------------------------------------------------
name := G4ions
ifndef G4INSTALL
G4INSTALL = ../../../..
endif
include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += -I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPGeometry/include \
-I$(G4BASE)/materials/include \
-I$(G4BASE)/particles/management/include
include $(G4INSTALL)/config/common.gmk
@@ -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
@@ -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: G4Alpha.cc,v 2.2 1998/09/24 11:24:53 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// Added by J.L.Chuma, TRIUMF, 27 June 1996
// Added G4Alpha::AlphaDefinition() by H.Kurashige 27 June 1996
// Fixed parameters by H.Kurashige, 25 Apr 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4Alpha.hh"
// ######################################################################
// ### ALPHA ###
// ######################################################################
G4Alpha::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 )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4Alpha G4Alpha::theAlpha(
"alpha", 3.727417*GeV, 0.0*MeV, +2.0*eplus,
0, +1, 0,
0, 0, 0,
"nucleus", 0, +4, 0,
true, -1.0, NULL
);
G4Alpha* G4Alpha::AlphaDefinition(){return &theAlpha;}
// initialization for static cut values
G4double G4Alpha::theAlphaLengthCut;
G4double* G4Alpha::theAlphaKineticEnergyCuts;
@@ -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: G4Deuteron.cc,v 2.2 1998/09/24 11:24:56 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// Added by J.L.Chuma, TRIUMF, 27 June 1996
// Added G4Deuteron::DeuteronDefinition() by H.Kurashige, 27 June 1996
// Fixed parameters H. Kurashige, 25 Apr 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4Deuteron.hh"
// ######################################################################
// ### DEUTERON ###
// ######################################################################
G4Deuteron::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 )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4Deuteron G4Deuteron::theDeuteron(
"deuteron", 1.875613*GeV, 0.0*MeV, +1.0*eplus,
2, +1, 0,
0, 0, 0,
"nucleus", 0, +2, 0,
true, -1.0, NULL
);
G4Deuteron* G4Deuteron::DeuteronDefinition(){return &theDeuteron;}
// initialization for static cut values
G4double G4Deuteron::theDeuteronLengthCut;
G4double* G4Deuteron::theDeuteronKineticEnergyCuts;
@@ -0,0 +1,71 @@
// 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.cc,v 2.1 1998/12/05 07:54:04 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, based on object model of
// 4 Dec. 98 by H.Kurashige
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4GenericIon.hh"
// ######################################################################
// ### GenericIon ###
// ######################################################################
G4GenericIon::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 )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
//!!!!
//!!!! this particle is not used for tracking
//!!!! all properties except name and type are meaningless
//!!!!
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4GenericIon G4GenericIon::theGenericIon(
"GenericIon", 0.9382723*GeV, 0.0*MeV, eplus,
1, +1, 0,
1, +1, 0,
"nucleus", 0, +1, 0,
true, -1.0, NULL
);
G4GenericIon* G4GenericIon::GenericIonDefinition(){return &theGenericIon;}
// initialization for static cut values
G4double G4GenericIon::theGenericIonLengthCut;
G4double* G4GenericIon::theGenericIonKineticEnergyCuts;
@@ -0,0 +1,68 @@
// 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.cc,v 2.2 1998/09/24 11:24:58 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, based on object model of
// 24th April 1998, H.Kurashige
// **********************************************************************
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4He3.hh"
// ######################################################################
// ### He3 ###
// ######################################################################
G4He3::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 )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4He3 G4He3::theHe3(
"He3", 2.80923*GeV, 0.0*MeV, +2.0*eplus,
1, +1, 0,
0, 0, 0,
"nucleus", 0, +3, 0,
true, -1.0, NULL
);
G4He3* G4He3::He3Definition(){return &theHe3;}
// initialization for static cut values
G4double G4He3::theHe3LengthCut;
G4double* G4He3::theHe3KineticEnergyCuts;
@@ -0,0 +1,51 @@
// 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.cc,v 2.1 1998/12/05 07:54:05 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file
//
#include "G4IonConstructor.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
// Nuclei
#include "G4Alpha.hh"
#include "G4Deuteron.hh"
#include "G4Triton.hh"
#include "G4He3.hh"
#include "G4GenericIon.hh"
G4IonConstructor::G4IonConstructor()
{
}
G4IonConstructor::~G4IonConstructor()
{
}
void G4IonConstructor::ConstructParticle()
{
ConstructLightIons();
}
void G4IonConstructor::ConstructLightIons()
{
// nuclei
G4Alpha::AlphaDefinition();
G4Deuteron::DeuteronDefinition();
G4Triton::TritonDefinition();
G4He3::He3Definition();
// generic ion
G4GenericIon::GenericIonDefinition();
}
@@ -0,0 +1,71 @@
// 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.cc,v 2.2 1998/09/24 11:25:00 kurasige Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// For information related to this code contact:
// CERN, CN Division, ASD Group
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// Added by J.L.Chuma, TRIUMF, 27 June 1996
// Add G4Triton::TritonDefinition() by H.Kurashige 27 June 1996
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4Triton.hh"
// ######################################################################
// ### TRITON ###
// ######################################################################
G4Triton::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 )
: G4VIon( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
}
// ......................................................................
// ... static member definitions ...
// ......................................................................
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
G4Triton G4Triton::theTriton(
"triton", 2.80925*GeV, 0.0*MeV, +1.0*eplus,
1, +1, 0,
0, 0, 0,
"nucleus", 0, +3, 0,
true, -1.0, NULL
);
G4Triton* G4Triton::TritonDefinition(){return &theTriton;}
// initialization for static cut values
G4double G4Triton::theTritonLengthCut;
G4double* G4Triton::theTritonKineticEnergyCuts;
@@ -0,0 +1,27 @@
// 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.cc,v 2.0 1998/07/02 17:23:04 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation 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
// --------------------------------------------------------------
#include "G4VIon.hh"
const G4VIon & G4VIon::operator=(const G4VIon &right)
{
if (this != &right) {
} return right;
}