Import Geant4 0.0.0 source tree
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user