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,120 @@
// 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: G4AntiLambda.cc,v 2.2 1998/09/24 09:23:57 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiLambda.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiLambda ###
// ######################################################################
G4AntiLambda::G4AntiLambda(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[2];
// anti_lambda -> anti_proton + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_lambda",0.639,2,"anti_proton","pi+");
// anti_lambda -> anti_neutron + pi0
mode[1] = new G4PhaseSpaceDecayChannel("anti_lambda",0.358,2,"anti_neutron","pi0");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiLambda G4AntiLambda::theAntiLambda(
"anti_lambda", 1.115684*GeV, 0.0*MeV, 0.0,
1, +1, 0,
0, 0, 0,
"baryon", 0, -1, -3122,
false, 0.2632*ns, NULL
);
G4AntiLambda* G4AntiLambda::AntiLambdaDefinition(){return &theAntiLambda;}
// initialization for static cut values
G4double G4AntiLambda::theAntiLambdaLengthCut = -1.0;
G4double* G4AntiLambda::theAntiLambdaKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiLambda::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiLambdaLengthCut = theCutInMaxInteractionLength;
theAntiLambdaKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,76 @@
// 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: G4AntiLambdacPlus.cc,v 2.1 1998/08/04 11:14:46 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiLambdacPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiLambdacPlus ###
// ######################################################################
G4AntiLambdacPlus::G4AntiLambdacPlus(
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 )
: G4VBarion( 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
G4AntiLambdacPlus G4AntiLambdacPlus::theAntiLambdacPlus(
"anti_lambda_c+", 2.2849*GeV, 0.0*MeV, -1.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, +1, -4122,
false, 0.206e-3*ns, NULL
);
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlusDefinition(){return &theAntiLambdacPlus;}
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlus(){return &theAntiLambdacPlus;}
// initialization for static cut values
G4double G4AntiLambdacPlus::theAntiLambdacPlusLengthCut = -1.0;
G4double* G4AntiLambdacPlus::theAntiLambdacPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,105 @@
// 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: G4AntiNeutron.cc,v 2.3 1998/09/24 09:24: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
// H.Kurashige 7 July 1996
// **********************************************************************
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiNeutron.hh"
// ######################################################################
// ### ANTI NEUTRON ###
// ######################################################################
G4AntiNeutron::G4AntiNeutron(
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 )
: G4VBarion( 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
//
G4AntiNeutron G4AntiNeutron::theAntiNeutron(
"anti_neutron", 0.93956563*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, +1, 0,
"baryon", 0, -1, -2112,
true, -1.0, NULL
);
G4AntiNeutron* G4AntiNeutron::AntiNeutronDefinition(){return &theAntiNeutron;}
// initialization for static cut values
G4double G4AntiNeutron::theAntiNeutronLengthCut = -1.0;
G4double* G4AntiNeutron::theAntiNeutronKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiNeutron::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiNeutronLengthCut = theCutInMaxInteractionLength;
theAntiNeutronKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,91 @@
// 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: G4AntiOmegaMinus.cc,v 2.2 1998/09/24 09:24:01 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiOmegaMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiOmegaMinus ###
// ######################################################################
G4AntiOmegaMinus::G4AntiOmegaMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[3];
// anti_omega- -> anti_lambda + kaon+
mode[0] = new G4PhaseSpaceDecayChannel("anti_omega-",0.678,2,"anti_lambda","kaon+");
// anti_omega- -> anti_xi0 + pi+
mode[1] = new G4PhaseSpaceDecayChannel("anti_omega-",0.236,2,"anti_xi0","pi+");
// anti_omega- -> anti_xi- + pi0
mode[2] = new G4PhaseSpaceDecayChannel("anti_omega-",0.086,2,"anti_xi-","pi0");
for (G4int index=0; index <3; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiOmegaMinus G4AntiOmegaMinus::theAntiOmegaMinus(
"anti_omega-", 1.67245*GeV, 0.0*MeV, eplus,
3, +1, 0,
0, 0, 0,
"baryon", 0, -1, -3334,
false, 0.0822*ns, NULL
);
G4AntiOmegaMinus* G4AntiOmegaMinus::AntiOmegaMinusDefinition(){return &theAntiOmegaMinus;}
// initialization for static cut values
G4double G4AntiOmegaMinus::theAntiOmegaMinusLengthCut = -1.0;
G4double* G4AntiOmegaMinus::theAntiOmegaMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,105 @@
// 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: G4AntiOmegacZero.cc,v 2.1 1998/08/04 11:14:48 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiOmegacZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiOmegacZero ###
// ######################################################################
G4AntiOmegacZero::G4AntiOmegacZero(
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 )
: G4VBarion( 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
G4AntiOmegacZero G4AntiOmegacZero::theAntiOmegacZero(
"anti_omega_c0", 2.704*GeV, 0.0*MeV, 0.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, -1, -4332,
false, 0.064e-3*ns, NULL
);
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZeroDefinition(){return &theAntiOmegacZero;}
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZero(){return &theAntiOmegacZero;}
// initialization for static cut values
G4double G4AntiOmegacZero::theAntiOmegacZeroLengthCut = -1.0;
G4double* G4AntiOmegacZero::theAntiOmegacZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiOmegacZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiOmegacZeroLengthCut = theCutInMaxInteractionLength;
theAntiOmegacZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,73 @@
// 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: G4AntiProton.cc,v 2.2 1998/09/24 09:24:02 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
// H.Kurashige 7 July 1996
// **********************************************************************
// ----------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiProton.hh"
// ######################################################################
// ### ANTIPROTON ###
// ######################################################################
G4AntiProton::G4AntiProton(
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 )
: G4VBarion( 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
//
G4AntiProton G4AntiProton::theAntiProton(
"anti_proton", 0.9382723*GeV, 0.0*MeV, -1.0*eplus,
1, +1, 0,
1, -1, 0,
"baryon", 0, -1, -2212,
true, -1.0, NULL
);
G4AntiProton* G4AntiProton::AntiProtonDefinition(){return &theAntiProton;}
// initialization for static cut values
G4double G4AntiProton::theAntiProtonLengthCut = -1.0;
G4double* G4AntiProton::theAntiProtonKineticEnergyCuts = NULL;
@@ -0,0 +1,92 @@
// 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: G4AntiSigmaMinus.cc,v 2.2 1998/09/24 09:24:03 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmaMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmaMinus ###
// ######################################################################
G4AntiSigmaMinus::G4AntiSigmaMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_sigma- -> anti_neutron + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma-",1.00,2,"anti_neutron","pi+");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmaMinus G4AntiSigmaMinus::theAntiSigmaMinus(
"anti_sigma-", 1.19744*GeV, 0.0*MeV, eplus,
1, +1, 0,
2, +2, 0,
"baryon", 0, -1, -3112,
false, 0.1479*ns, NULL
);
G4AntiSigmaMinus* G4AntiSigmaMinus::AntiSigmaMinusDefinition()
{
return &theAntiSigmaMinus;
}
// initialization for static cut values
G4double G4AntiSigmaMinus::theAntiSigmaMinusLengthCut = -1.0;
G4double* G4AntiSigmaMinus::theAntiSigmaMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,96 @@
// 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: G4AntiSigmaPlus.cc,v 2.2 1998/09/24 09:24: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
// 4th April 1996, G.Cosmo
// **********************************************************************
// Added particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmaPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmaPlus #######
// ######################################################################
G4AntiSigmaPlus::G4AntiSigmaPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[2];
// anti_sigma+ -> anti_proton + pi0
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.516,2,"anti_proton","pi0");
// anti_sigma+ -> anti_neutron + pi+
mode[1] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.483,2,"anti_neutron","pi-");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmaPlus G4AntiSigmaPlus::theAntiSigmaPlus(
"anti_sigma+", 1.18937*GeV, 0.0*MeV, -1.*eplus,
1, +1, 0,
2, -2, 0,
"baryon", 0, -1, -3222,
false, 0.0799*ns, NULL
);
G4AntiSigmaPlus* G4AntiSigmaPlus::AntiSigmaPlusDefinition()
{
return &theAntiSigmaPlus;
}
// initialization for static cut values
G4double G4AntiSigmaPlus::theAntiSigmaPlusLengthCut = -1.0;
G4double* G4AntiSigmaPlus::theAntiSigmaPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,118 @@
// 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: G4AntiSigmaZero.cc,v 2.2 1998/09/24 09:24:05 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 particle definitions, H.Kurashige, 14 Feb 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmaZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmaZero ###
// ######################################################################
G4AntiSigmaZero::G4AntiSigmaZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
// anti_sigma0 -> anti_lambda + gamma
G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("anti_sigma0",1.000,2,"anti_lambda","gamma");
table->Insert(mode);
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmaZero G4AntiSigmaZero::theAntiSigmaZero(
"anti_sigma0", 1.19255*GeV, 0.0*MeV, 0.0,
1, +1, 0,
2, 0, 0,
"baryon", 0, -1, -3212,
false, 7.4e-11*ns, NULL
);
G4AntiSigmaZero* G4AntiSigmaZero::AntiSigmaZeroDefinition()
{
return &theAntiSigmaZero;
}
// initialization for static cut values
G4double G4AntiSigmaZero::theAntiSigmaZeroLengthCut = -1.0;
G4double* G4AntiSigmaZero::theAntiSigmaZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiSigmaZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiSigmaZeroLengthCut = theCutInMaxInteractionLength;
theAntiSigmaZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,90 @@
// 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: G4AntiSigmacPlus.cc,v 2.1 1998/08/04 11:14:51 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmacPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmacPlus ###
// ######################################################################
G4AntiSigmacPlus::G4AntiSigmacPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_sigmac+ -> anti_lambda_c + pi0
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma_c+",1.000,2,"anti_lambda_c+","pi0");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmacPlus G4AntiSigmacPlus::theAntiSigmacPlus(
"anti_sigma_c+", 2.4535*GeV, 0.0*MeV, -1.0*eplus,
1, +1, 0,
2, -1, 0,
"baryon", 0, -1, -4212,
false, 0.0*ns, NULL
);
G4AntiSigmacPlus* G4AntiSigmacPlus::AntiSigmacPlusDefinition(){return &theAntiSigmacPlus;}
G4AntiSigmacPlus* G4AntiSigmacPlus::AntiSigmacPlus(){return &theAntiSigmacPlus;}
// initialization for static cut values
G4double G4AntiSigmacPlus::theAntiSigmacPlusLengthCut = -1.0;
G4double* G4AntiSigmacPlus::theAntiSigmacPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,94 @@
// 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: G4AntiSigmacPlusPlus.cc,v 2.1 1998/08/04 11:14:52 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmacPlusPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmacPlusPlus ###
// ######################################################################
G4AntiSigmacPlusPlus::G4AntiSigmacPlusPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_sigma_c++ -> anti_lambda_c+ + pi-
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma_c++",1.000,2,"anti_lambda_c+","pi-");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmacPlusPlus G4AntiSigmacPlusPlus::theAntiSigmacPlusPlus(
"anti_sigma_c++", 2.4529*GeV, 0.0*MeV, -2.0*eplus,
1, +1, 0,
2, -2, 0,
"baryon", 0, -1, -4222,
false, 0.0*ns, NULL
);
G4AntiSigmacPlusPlus* G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition(){return &theAntiSigmacPlusPlus;}
G4AntiSigmacPlusPlus* G4AntiSigmacPlusPlus::AntiSigmacPlusPlus(){return &theAntiSigmacPlusPlus;}
// initialization for static cut values
G4double G4AntiSigmacPlusPlus::theAntiSigmacPlusPlusLengthCut = -1.0;
G4double* G4AntiSigmacPlusPlus::theAntiSigmacPlusPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,122 @@
// 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: G4AntiSigmacZero.cc,v 2.1 1998/08/04 11:14: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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiSigmacZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmacZero ###
// ######################################################################
G4AntiSigmacZero::G4AntiSigmacZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_sigmac0 -> anti_lambda_c+ + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma_c0",1.000,2,"anti_lambda_c+","pi+");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiSigmacZero G4AntiSigmacZero::theAntiSigmacZero(
"anti_sigma_c0", 2.4521*GeV, 0.0*MeV, +0.0*eplus,
1, +1, 0,
2, 0, 0,
"baryon", 0, -1, -4112,
false, 0.0*ns, NULL
);
G4AntiSigmacZero* G4AntiSigmacZero::AntiSigmacZeroDefinition(){return &theAntiSigmacZero;}
G4AntiSigmacZero* G4AntiSigmacZero::AntiSigmacZero(){return &theAntiSigmacZero;}
// initialization for static cut values
G4double G4AntiSigmacZero::theAntiSigmacZeroLengthCut = -1.0;
G4double* G4AntiSigmacZero::theAntiSigmacZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiSigmacZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiSigmacZeroLengthCut = theCutInMaxInteractionLength;
theAntiSigmacZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,91 @@
// 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: G4AntiXiMinus.cc,v 2.2 1998/09/24 09:24:06 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiXiMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiXiMinus ###
// ######################################################################
G4AntiXiMinus::G4AntiXiMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_xi- -> anti_lambda + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_xi-",1.000,2,"anti_lambda","pi+");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiXiMinus G4AntiXiMinus::theAntiXiMinus(
"anti_xi-", 1.32132*GeV, 0.0*MeV, eplus,
1, +1, 0,
1, +1, 0,
"baryon", 0, -1, -3312,
false, 0.1639*ns, NULL
);
G4AntiXiMinus* G4AntiXiMinus::AntiXiMinusDefinition()
{
return &theAntiXiMinus;
}
// initialization for static cut values
G4double G4AntiXiMinus::theAntiXiMinusLengthCut = -1.0;
G4double* G4AntiXiMinus::theAntiXiMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,116 @@
// 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: G4AntiXiZero.cc,v 2.2 1998/09/24 09:24:07 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiXiZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiXiZero ###
// ######################################################################
G4AntiXiZero::G4AntiXiZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// anti_xi0 -> anti_lambda + pi0
mode[0] = new G4PhaseSpaceDecayChannel("anti_xi0",1.000,2,"anti_lambda","pi0");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4AntiXiZero G4AntiXiZero::theAntiXiZero(
"anti_xi0", 1.3149*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, -1, 0,
"baryon", 0, -1, -3322,
false, 0.290*ns, NULL
);
G4AntiXiZero* G4AntiXiZero::AntiXiZeroDefinition(){return &theAntiXiZero;}
// initialization for static cut values
G4double G4AntiXiZero::theAntiXiZeroLengthCut = -1.0;
G4double* G4AntiXiZero::theAntiXiZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiXiZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiXiZeroLengthCut = theCutInMaxInteractionLength;
theAntiXiZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,76 @@
// 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: G4AntiXicPlus.cc,v 2.2 1998/09/24 09:24:08 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// Modified PDG encoding H.Kurashige 24 Sep. 98
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiXicPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiXicPlus ###
// ######################################################################
G4AntiXicPlus::G4AntiXicPlus(
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 )
: G4VBarion( 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
G4AntiXicPlus G4AntiXicPlus::theAntiXicPlus(
"anti_xi_c+", 2.4656*GeV, 0.0*MeV, -1.*eplus,
1, +1, 0,
1, -1, 0,
"baryon", 0, -1, -4232,
false, 0.35e-3*ns, NULL
);
G4AntiXicPlus* G4AntiXicPlus::AntiXicPlusDefinition(){return &theAntiXicPlus;}
G4AntiXicPlus* G4AntiXicPlus::AntiXicPlus(){return &theAntiXicPlus;}
// initialization for static cut values
G4double G4AntiXicPlus::theAntiXicPlusLengthCut = -1.0;
G4double* G4AntiXicPlus::theAntiXicPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,105 @@
// 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: G4AntiXicZero.cc,v 2.2 1998/09/24 09:24:09 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// Modified PDG encoding H.Kurashige 24 Sep. 98
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4AntiXicZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiXicZero ###
// ######################################################################
G4AntiXicZero::G4AntiXicZero(
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 )
: G4VBarion( 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
G4AntiXicZero G4AntiXicZero::theAntiXicZero(
"anti_xi_c0", 2.4703*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, +1, 0,
"baryon", 0, -1, -4132,
false, 0.098e-3*ns, NULL
);
G4AntiXicZero* G4AntiXicZero::AntiXicZeroDefinition(){return &theAntiXicZero;}
G4AntiXicZero* G4AntiXicZero::AntiXicZero(){return &theAntiXicZero;}
// initialization for static cut values
G4double G4AntiXicZero::theAntiXicZeroLengthCut = -1.0;
G4double* G4AntiXicZero::theAntiXicZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4AntiXicZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theAntiXicZeroLengthCut = theCutInMaxInteractionLength;
theAntiXicZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,119 @@
// 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: G4BarionConstructor.cc,v 2.0 1998/07/02 17:22:18 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file
//
#include "G4BarionConstructor.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
// Barions
#include "G4Proton.hh"
#include "G4AntiProton.hh"
#include "G4Neutron.hh"
#include "G4AntiNeutron.hh"
#include "G4Lambda.hh"
#include "G4SigmaPlus.hh"
#include "G4SigmaZero.hh"
#include "G4SigmaMinus.hh"
#include "G4XiMinus.hh"
#include "G4XiZero.hh"
#include "G4OmegaMinus.hh"
#include "G4AntiLambda.hh"
#include "G4AntiSigmaPlus.hh"
#include "G4AntiSigmaZero.hh"
#include "G4AntiSigmaMinus.hh"
#include "G4AntiXiMinus.hh"
#include "G4AntiXiZero.hh"
#include "G4AntiOmegaMinus.hh"
#include "G4LambdacPlus.hh"
#include "G4SigmacPlusPlus.hh"
#include "G4SigmacPlus.hh"
#include "G4SigmacZero.hh"
#include "G4XicPlus.hh"
#include "G4XicZero.hh"
#include "G4OmegacZero.hh"
#include "G4AntiLambdacPlus.hh"
#include "G4AntiSigmacPlusPlus.hh"
#include "G4AntiSigmacPlus.hh"
#include "G4AntiSigmacZero.hh"
#include "G4AntiXicPlus.hh"
#include "G4AntiXicZero.hh"
#include "G4AntiOmegacZero.hh"
G4BarionConstructor::G4BarionConstructor()
{
}
G4BarionConstructor::~G4BarionConstructor()
{
}
void G4BarionConstructor::ConstructParticle()
{
ConstructNucleons();
ConstructStrangeBarions();
ConstructCharmBarions();
ConstructBottomBarions();
}
void G4BarionConstructor::ConstructNucleons()
{
G4Proton::ProtonDefinition();
G4AntiProton::AntiProtonDefinition();
G4Neutron::NeutronDefinition();
G4AntiNeutron::AntiNeutronDefinition();
}
void G4BarionConstructor::ConstructStrangeBarions()
{
G4Lambda::LambdaDefinition();
G4AntiLambda::AntiLambdaDefinition();
G4SigmaZero::SigmaZeroDefinition();
G4AntiSigmaZero::AntiSigmaZeroDefinition();
G4SigmaPlus::SigmaPlusDefinition();
G4AntiSigmaPlus::AntiSigmaPlusDefinition();
G4SigmaMinus::SigmaMinusDefinition();
G4AntiSigmaMinus::AntiSigmaMinusDefinition();
G4XiZero::XiZeroDefinition();
G4AntiXiZero::AntiXiZeroDefinition();
G4XiMinus::XiMinusDefinition();
G4AntiXiMinus::AntiXiMinusDefinition();
G4OmegaMinus::OmegaMinusDefinition();
G4AntiOmegaMinus::AntiOmegaMinusDefinition();
}
void G4BarionConstructor::ConstructCharmBarions()
{
G4LambdacPlus::LambdacPlusDefinition();
G4SigmacPlusPlus::SigmacPlusPlusDefinition();
G4SigmacPlus::SigmacPlusDefinition();
G4SigmacZero::SigmacZeroDefinition();
G4XicPlus::XicPlusDefinition();
G4XicZero::XicZeroDefinition();
G4OmegacZero::OmegacZeroDefinition();
G4AntiLambdacPlus::AntiLambdacPlusDefinition();
G4AntiSigmacPlusPlus::AntiSigmacPlusPlusDefinition();
G4AntiSigmacPlus::AntiSigmacPlusDefinition();
G4AntiSigmacZero::AntiSigmacZeroDefinition();
G4AntiXicPlus::AntiXicPlusDefinition();
G4AntiXicZero::AntiXicZeroDefinition();
G4AntiOmegacZero::AntiOmegacZeroDefinition();
}
void G4BarionConstructor::ConstructBottomBarions()
{
}
@@ -0,0 +1,118 @@
// 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: G4Lambda.cc,v 2.2 1998/09/24 09:24:10 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4Lambda.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### Lambda ###
// ######################################################################
G4Lambda::G4Lambda(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[2];
// lambda -> proton + pi-
mode[0] = new G4PhaseSpaceDecayChannel("lambda",0.639,2,"proton","pi-");
// lambda -> neutron + pi0
mode[1] = new G4PhaseSpaceDecayChannel("lambda",0.358,2,"neutron","pi0");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4Lambda G4Lambda::theLambda(
"lambda", 1.115684*GeV, 0.0*MeV, 0.0,
1, +1, 0,
0, 0, 0,
"baryon", 0, +1, 3122,
false, 0.2632*ns, NULL
);
G4Lambda* G4Lambda::LambdaDefinition(){return &theLambda;}
// initialization for static cut values
G4double G4Lambda::theLambdaLengthCut = -1.0;
G4double* G4Lambda::theLambdaKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4Lambda::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theLambdaLengthCut = theCutInMaxInteractionLength;
theLambdaKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,76 @@
// 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: G4LambdacPlus.cc,v 2.1 1998/08/04 11:14: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 particle definitions, H.Kurashige, 12 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4LambdacPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### LambdacPlus ###
// ######################################################################
G4LambdacPlus::G4LambdacPlus(
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 )
: G4VBarion( 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
G4LambdacPlus G4LambdacPlus::theLambdacPlus(
"lambda_c+", 2.2849*GeV, 0.0*MeV, +1.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, +1, 4122,
false, 0.206e-3*ns, NULL
);
G4LambdacPlus* G4LambdacPlus::LambdacPlusDefinition(){return &theLambdacPlus;}
G4LambdacPlus* G4LambdacPlus::LambdacPlus(){return &theLambdacPlus;}
// initialization for static cut values
G4double G4LambdacPlus::theLambdacPlusLengthCut = -1.0;
G4double* G4LambdacPlus::theLambdacPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,103 @@
// 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: G4Neutron.cc,v 2.3 1998/09/24 09:24:11 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
// H.Kurashige 7 July 1996
// **********************************************************************
#include <fstream.h>
#include <iomanip.h>
#include "G4Neutron.hh"
// ######################################################################
// ### NEUTRON ###
// ######################################################################
G4Neutron::G4Neutron(
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 )
: G4VBarion( 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
G4Neutron G4Neutron::theNeutron(
"neutron", 0.93956563*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, -1, 0,
"baryon", 0, +1, 2112,
true, -1.0, NULL
);
G4Neutron* G4Neutron::NeutronDefinition(){return &theNeutron;}
// initialization for static cut values
G4double G4Neutron::theNeutronLengthCut = -1.0;
G4double* G4Neutron::theNeutronKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4Neutron::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theNeutronLengthCut = theCutInMaxInteractionLength;
theNeutronKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,91 @@
// 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: G4OmegaMinus.cc,v 2.2 1998/09/24 09:24:12 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4OmegaMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### OmegaMinus ###
// ######################################################################
G4OmegaMinus::G4OmegaMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[3];
// omega- -> lambda + kaon-
mode[0] = new G4PhaseSpaceDecayChannel("omega-",0.678,2,"lambda","kaon-");
// omega- -> xi0 + pi-
mode[1] = new G4PhaseSpaceDecayChannel("omega-",0.236,2,"xi0","pi-");
// omega- -> xi- + pi0
mode[2] = new G4PhaseSpaceDecayChannel("omega-",0.086,2,"xi-","pi0");
for (G4int index=0; index <3; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4OmegaMinus G4OmegaMinus::theOmegaMinus(
"omega-", 1.67245*GeV, 0.0*MeV, -1*eplus,
3, +1, 0,
0, 0, 0,
"baryon", 0, +1, 3334,
false, 0.0822*ns, NULL
);
G4OmegaMinus* G4OmegaMinus::OmegaMinusDefinition(){return &theOmegaMinus;}
// initialization for static cut values
G4double G4OmegaMinus::theOmegaMinusLengthCut = -1.0;
G4double* G4OmegaMinus::theOmegaMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,105 @@
// 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: G4OmegacZero.cc,v 2.1 1998/08/04 11:14: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
// 4th April 1996, G.Cosmo
// **********************************************************************
// Added particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4OmegacZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### OmegacZero ###
// ######################################################################
G4OmegacZero::G4OmegacZero(
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 )
: G4VBarion( 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
G4OmegacZero G4OmegacZero::theOmegacZero(
"omega_c0", 2.704*GeV, 0.0*MeV, 0.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, +1, 4332,
false, 0.064e-3*ns, NULL
);
G4OmegacZero* G4OmegacZero::OmegacZeroDefinition(){return &theOmegacZero;}
G4OmegacZero* G4OmegacZero::OmegacZero(){return &theOmegacZero;}
// initialization for static cut values
G4double G4OmegacZero::theOmegacZeroLengthCut = -1.0;
G4double* G4OmegacZero::theOmegacZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4OmegacZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theOmegacZeroLengthCut = theCutInMaxInteractionLength;
theOmegacZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -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: G4Proton.cc,v 2.2 1998/09/24 09:24:13 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 particle definitions, H.Kurashige, 19 April 1996
// Code uses operators (+=, *=, ++, -> etc.) correctly, P. Urban, 26/6/96
// Add ProtonDefinition(), H.Kurashige 4 July 1996
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4Proton.hh"
// ######################################################################
// ### PROTON ###
// ######################################################################
G4Proton::G4Proton(
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 )
: G4VBarion( 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
G4Proton G4Proton::theProton(
"proton", 0.9382723*GeV, 0.0*MeV, eplus,
1, +1, 0,
1, +1, 0,
"baryon", 0, +1, 2212,
true, -1.0, NULL
);
G4Proton* G4Proton::ProtonDefinition(){return &theProton;}
// initialization for static cut values
G4double G4Proton::theProtonLengthCut = -1.0;
G4double* G4Proton::theProtonKineticEnergyCuts = NULL;
@@ -0,0 +1,87 @@
// 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: G4SigmaMinus.cc,v 2.2 1998/09/24 09:24:14 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmaMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmaMinus ###
// ######################################################################
G4SigmaMinus::G4SigmaMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// sigma- -> neutron + pi-
mode[0] = new G4PhaseSpaceDecayChannel("sigma-",1.00,2,"neutron","pi-");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmaMinus G4SigmaMinus::theSigmaMinus(
"sigma-", 1.19744*GeV, 0.0*MeV, -1*eplus,
1, +1, 0,
2, -2, 0,
"baryon", 0, +1, 3112,
false, 0.1479*ns, NULL
);
G4SigmaMinus* G4SigmaMinus::SigmaMinusDefinition(){return &theSigmaMinus;}
// initialization for static cut values
G4double G4SigmaMinus::theSigmaMinusLengthCut = -1.0;
G4double* G4SigmaMinus::theSigmaMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,89 @@
// 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: G4SigmaPlus.cc,v 2.2 1998/09/24 09:24:15 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmaPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmaPlus ###
// ######################################################################
G4SigmaPlus::G4SigmaPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[2];
// sigma+ -> proton + pi0
mode[0] = new G4PhaseSpaceDecayChannel("sigma+",0.516,2,"proton","pi0");
// sigma+ -> neutron + pi+
mode[1] = new G4PhaseSpaceDecayChannel("sigma+",0.483,2,"neutron","pi+");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmaPlus G4SigmaPlus::theSigmaPlus(
"sigma+", 1.18937*GeV, 0.0*MeV, eplus,
1, +1, 0,
2, +2, 0,
"baryon", 0, +1, 3222,
false, 0.0799*ns, NULL
);
G4SigmaPlus* G4SigmaPlus::SigmaPlusDefinition(){return &theSigmaPlus;}
// initialization for static cut values
G4double G4SigmaPlus::theSigmaPlusLengthCut = -1.0;
G4double* G4SigmaPlus::theSigmaPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,121 @@
// 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: G4SigmaZero.cc,v 2.2 1998/09/24 09:24:16 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmaZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmaZero ###
// ######################################################################
G4SigmaZero::G4SigmaZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
// sigma0 -> lambda + gamma
G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("sigma0",1.000,2,"lambda","gamma");
table->Insert(mode);
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmaZero G4SigmaZero::theSigmaZero(
"sigma0", 1.19255*GeV, 0.0*MeV, 0.0,
1, +1, 0,
2, 0, 0,
"baryon", 0, +1, 3212,
false, 7.4e-11*ns, NULL
);
G4SigmaZero* G4SigmaZero::SigmaZeroDefinition(){return &theSigmaZero;}
// initialization for static cut values
G4double G4SigmaZero::theSigmaZeroLengthCut = -1.0;
G4double* G4SigmaZero::theSigmaZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4SigmaZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theSigmaZeroLengthCut = theCutInMaxInteractionLength;
theSigmaZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,89 @@
// 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: G4SigmacPlus.cc,v 2.1 1998/08/04 11:15:01 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmacPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmacPlus ###
// ######################################################################
G4SigmacPlus::G4SigmacPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// sigmac+ -> lambda_c + pi0
mode[0] = new G4PhaseSpaceDecayChannel("sigma_c+",1.000,2,"lambda_c+","pi0");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmacPlus G4SigmacPlus::theSigmacPlus(
"sigma_c+", 2.4535*GeV, 0.0*MeV, +1.0*eplus,
1, +1, 0,
2, +1, 0,
"baryon", 0, +1, 4212,
false, 0.0*ns, NULL
);
G4SigmacPlus* G4SigmacPlus::SigmacPlusDefinition(){return &theSigmacPlus;}
G4SigmacPlus* G4SigmacPlus::SigmacPlus(){return &theSigmacPlus;}
// initialization for static cut values
G4double G4SigmacPlus::theSigmacPlusLengthCut = -1.0;
G4double* G4SigmacPlus::theSigmacPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,89 @@
// 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: G4SigmacPlusPlus.cc,v 2.1 1998/08/04 11:15:01 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmacPlusPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmacPlusPlus ###
// ######################################################################
G4SigmacPlusPlus::G4SigmacPlusPlus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// sigma_c++ -> lambda_c+ + pi+
mode[0] = new G4PhaseSpaceDecayChannel("sigma_c++",1.000,2,"lambda_c+","pi+");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmacPlusPlus G4SigmacPlusPlus::theSigmacPlusPlus(
"sigma_c++", 2.4529*GeV, 0.0*MeV, +2.0*eplus,
1, +1, 0,
2, +2, 0,
"baryon", 0, +1, 4222,
false, 0.0*ns, NULL
);
G4SigmacPlusPlus* G4SigmacPlusPlus::SigmacPlusPlusDefinition(){return &theSigmacPlusPlus;}
G4SigmacPlusPlus* G4SigmacPlusPlus::SigmacPlusPlus(){return &theSigmacPlusPlus;}
// initialization for static cut values
G4double G4SigmacPlusPlus::theSigmacPlusPlusLengthCut = -1.0;
G4double* G4SigmacPlusPlus::theSigmacPlusPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,122 @@
// 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: G4SigmacZero.cc,v 2.1 1998/08/04 11:15:02 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4SigmacZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### SigmacZero ###
// ######################################################################
G4SigmacZero::G4SigmacZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// sigmac0 -> lambda_c+ + pi-
mode[0] = new G4PhaseSpaceDecayChannel("sigma_c0",1.000,2,"lambda_c+","pi-");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4SigmacZero G4SigmacZero::theSigmacZero(
"sigma_c0", 2.4521*GeV, 0.0*MeV, +0.0*eplus,
1, +1, 0,
2, 0, 0,
"baryon", 0, +1, 4112,
false, 0.0*ns, NULL
);
G4SigmacZero* G4SigmacZero::SigmacZeroDefinition(){return &theSigmacZero;}
G4SigmacZero* G4SigmacZero::SigmacZero(){return &theSigmacZero;}
// initialization for static cut values
G4double G4SigmacZero::theSigmacZeroLengthCut = -1.0;
G4double* G4SigmacZero::theSigmacZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4SigmacZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theSigmacZeroLengthCut = theCutInMaxInteractionLength;
theSigmacZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -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: G4VBarion.cc,v 2.0 1998/07/02 17:22:37 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 "G4VBarion.hh"
const G4VBarion & G4VBarion::operator=(const G4VBarion &right)
{
if (this != &right) {
} return right;
}
@@ -0,0 +1,87 @@
// 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: G4XiMinus.cc,v 2.2 1998/09/24 09:24:17 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4XiMinus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### XiMinus ###
// ######################################################################
G4XiMinus::G4XiMinus(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// xi- -> lambda + pi-
mode[0] = new G4PhaseSpaceDecayChannel("xi-",1.000,2,"lambda","pi-");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4XiMinus G4XiMinus::theXiMinus(
"xi-", 1.32132*GeV, 0.0*MeV, -1*eplus,
1, +1, 0,
1, -1, 0,
"baryon", 0, +1, 3312,
false, 0.1639*ns, NULL
);
G4XiMinus* G4XiMinus::XiMinusDefinition(){return &theXiMinus;}
// initialization for static cut values
G4double G4XiMinus::theXiMinusLengthCut = -1.0;
G4double* G4XiMinus::theXiMinusKineticEnergyCuts = NULL;
@@ -0,0 +1,116 @@
// 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: G4XiZero.cc,v 2.2 1998/09/24 09:24:18 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 particle definitions, H.Kurashige, 14 Feb 1997
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4XiZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### XiZero ###
// ######################################################################
G4XiZero::G4XiZero(
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 )
: G4VBarion( aName,mass,width,charge,iSpin,iParity,
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable )
{
//create Decay Table
G4DecayTable* table = GetDecayTable();
if (table!=NULL) delete table;
table = new G4DecayTable();
// create decay channels
G4VDecayChannel** mode = new G4VDecayChannel*[1];
// xi0 -> lambda + pi0
mode[0] = new G4PhaseSpaceDecayChannel("xi0",1.000,2,"lambda","pi0");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
SetDecayTable(table);
}
// ......................................................................
// ... 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
G4XiZero G4XiZero::theXiZero(
"xi0", 1.3149*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, +1, 0,
"baryon", 0, +1, 3322,
false, 0.290*ns, NULL
);
G4XiZero* G4XiZero::XiZeroDefinition(){return &theXiZero;}
// initialization for static cut values
G4double G4XiZero::theXiZeroLengthCut = -1.0;
G4double* G4XiZero::theXiZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4XiZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theXiZeroLengthCut = theCutInMaxInteractionLength;
theXiZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}
@@ -0,0 +1,76 @@
// 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: G4XicPlus.cc,v 2.2 1998/09/24 09:24:19 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// Modified PDG encoding H.Kurashige 24 Sep. 98
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4XicPlus.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### XicPlus ###
// ######################################################################
G4XicPlus::G4XicPlus(
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 )
: G4VBarion( 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
G4XicPlus G4XicPlus::theXicPlus(
"xi_c+", 2.4656*GeV, 0.0*MeV, +1.*eplus,
1, +1, 0,
1, +1, 0,
"baryon", 0, +1, 4232,
false, 0.35e-3*ns, NULL
);
G4XicPlus* G4XicPlus::XicPlusDefinition(){return &theXicPlus;}
G4XicPlus* G4XicPlus::XicPlus(){return &theXicPlus;}
// initialization for static cut values
G4double G4XicPlus::theXicPlusLengthCut = -1.0;
G4double* G4XicPlus::theXicPlusKineticEnergyCuts = NULL;
@@ -0,0 +1,105 @@
// 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: G4XicZero.cc,v 2.2 1998/09/24 09:24:20 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 particle definitions, H.Kurashige, 14 June 1997
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
// Modified PDG encoding H.Kurashige 24 Sep. 98
// ----------------------------------------------------------------------
#include <fstream.h>
#include <iomanip.h>
#include "G4XicZero.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### XicZero ###
// ######################################################################
G4XicZero::G4XicZero(
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 )
: G4VBarion( 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
G4XicZero G4XicZero::theXicZero(
"xi_c0", 2.4703*GeV, 0.0*MeV, 0.0,
1, +1, 0,
1, -1, 0,
"baryon", 0, +1, 4132,
false, 0.098e-3*ns, NULL
);
G4XicZero* G4XicZero::XicZeroDefinition(){return &theXicZero;}
G4XicZero* G4XicZero::XicZero(){return &theXicZero;}
// initialization for static cut values
G4double G4XicZero::theXicZeroLengthCut = -1.0;
G4double* G4XicZero::theXicZeroKineticEnergyCuts = NULL;
// **********************************************************************
// **************************** SetCuts *********************************
// **********************************************************************
// In this version Input Cut Value is meaning less
// theKineticEnergyCuts for all materials are set to LowestEnergy
void G4XicZero::SetCuts(G4double aCut)
{
theCutInMaxInteractionLength = aCut;
const G4MaterialTable* materialTable = G4Material::GetMaterialTable();
// Create the vector of cuts in energy
// corresponding to the stopping range cut
if(theKineticEnergyCuts) delete [] theKineticEnergyCuts;
theKineticEnergyCuts = new G4double [materialTable->length()];
// Build range vector for every material, convert cut into energy-cut,
// fill theKineticEnergyCuts and delete the range vector
for (G4int J=0; J<materialTable->length(); J++)
{
G4Material* aMaterial = (*materialTable)[J];
theKineticEnergyCuts[J] = LowestEnergy;
}
theXicZeroLengthCut = theCutInMaxInteractionLength;
theXicZeroKineticEnergyCuts = theKineticEnergyCuts;
// Rebuild the physics tables for every process for this particle type
}