Import Geant4 0.0.0 source tree
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
// 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: G4AntiBMesonZero.cc,v 2.1 1998/08/04 11:15:36 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4AntiBMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### AntiBMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4AntiBMesonZero::G4AntiBMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4AntiBMesonZero G4AntiBMesonZero::theAntiBMesonZero(
|
||||
"anti_B0", 5.21792*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
1, +1, 0,
|
||||
"meson", 0, 0, -511,
|
||||
false, 1.56e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4AntiBMesonZero* G4AntiBMesonZero::AntiBMesonZeroDefinition(){return &theAntiBMesonZero;}
|
||||
G4AntiBMesonZero* G4AntiBMesonZero::AntiBMesonZero(){return &theAntiBMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4AntiBMesonZero::theAntiBMesonZeroLengthCut = -1.0;
|
||||
G4double* G4AntiBMesonZero::theAntiBMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
void G4AntiBMesonZero::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;
|
||||
}
|
||||
theAntiBMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theAntiBMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
// 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: G4AntiBsMesonZero.cc,v 2.1 1998/08/04 11:15:37 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4AntiBsMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### AntiBsMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4AntiBsMesonZero::G4AntiBsMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4AntiBsMesonZero G4AntiBsMesonZero::theAntiBsMesonZero(
|
||||
"anti_Bs0", 5.3692*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
0, 0, 0,
|
||||
"meson", 0, 0, -531,
|
||||
false, 1.61e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4AntiBsMesonZero* G4AntiBsMesonZero::AntiBsMesonZeroDefinition(){return &theAntiBsMesonZero;}
|
||||
G4AntiBsMesonZero* G4AntiBsMesonZero::AntiBsMesonZero(){return &theAntiBsMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4AntiBsMesonZero::theAntiBsMesonZeroLengthCut = -1.0;
|
||||
G4double* G4AntiBsMesonZero::theAntiBsMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
void G4AntiBsMesonZero::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;
|
||||
}
|
||||
theAntiBsMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theAntiBsMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
// 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: G4AntiDMesonZero.cc,v 2.1 1998/08/04 11:15:38 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4AntiDMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### AntiDMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4AntiDMesonZero::G4AntiDMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4AntiDMesonZero G4AntiDMesonZero::theAntiDMesonZero(
|
||||
"anti_D0", 1.8645*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
1, +1, 0,
|
||||
"meson", 0, 0, -421,
|
||||
false, 0.415e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4AntiDMesonZero* G4AntiDMesonZero::AntiDMesonZeroDefinition(){return &theAntiDMesonZero;}
|
||||
G4AntiDMesonZero* G4AntiDMesonZero::AntiDMesonZero(){return &theAntiDMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4AntiDMesonZero::theAntiDMesonZeroLengthCut = -1.0;
|
||||
G4double* G4AntiDMesonZero::theAntiDMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
void G4AntiDMesonZero::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;
|
||||
}
|
||||
theAntiDMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theAntiDMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
// 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: G4AntiKaonZero.cc,v 2.2 1998/09/24 06:08: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
|
||||
// H.Kurashige 7 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4AntiKaonZero.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### ANTIKAONZERO ###
|
||||
// ######################################################################
|
||||
|
||||
G4AntiKaonZero::G4AntiKaonZero(
|
||||
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 )
|
||||
: G4VMeson( 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];
|
||||
// kaon0 -> Kaon0L
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("anti_kaon0",0.500,1,"kaon0L");
|
||||
// kaon0 -> Kaon0S
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("anti_kaon0",0.500,1,"kaon0S");
|
||||
|
||||
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
|
||||
|
||||
G4AntiKaonZero G4AntiKaonZero::theAntiKaonZero(
|
||||
"anti_kaon0", 0.497672*GeV, 0.0*MeV, 0.0,
|
||||
0, -1, 0,
|
||||
1, 1, 0,
|
||||
"meson", 0, 0, -311,
|
||||
false, 0.0, NULL
|
||||
);
|
||||
|
||||
G4AntiKaonZero* G4AntiKaonZero::AntiKaonZeroDefinition(){return &theAntiKaonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4AntiKaonZero::theAntiKaonZeroLengthCut = -1.0;
|
||||
G4double* G4AntiKaonZero::theAntiKaonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4AntiKaonZero::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;
|
||||
}
|
||||
theAntiKaonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theAntiKaonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
// 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: G4BMesonMinus.cc,v 2.1 1998/08/04 11:15:40 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4BMesonMinus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### BMesonMinus ###
|
||||
// ######################################################################
|
||||
|
||||
G4BMesonMinus::G4BMesonMinus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4BMesonMinus G4BMesonMinus::theBMesonMinus
|
||||
(
|
||||
"B-", 5.2789*GeV, 0.0*MeV, -1.*eplus,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, -521,
|
||||
false, 1.62e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4BMesonMinus* G4BMesonMinus::BMesonMinusDefinition(){return &theBMesonMinus;}
|
||||
G4BMesonMinus* G4BMesonMinus::BMesonMinus(){return &theBMesonMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4BMesonMinus::theBMesonMinusLengthCut = -1.0;
|
||||
G4double* G4BMesonMinus::theBMesonMinusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
// 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: G4BMesonPlus.cc,v 2.1 1998/08/04 11:15:41 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4BMesonPlus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### BMesonPLUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4BMesonPlus::G4BMesonPlus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4BMesonPlus G4BMesonPlus::theBMesonPlus(
|
||||
"B+", 5.2789*GeV, 0.0*MeV, +1.*eplus,
|
||||
0, -1, 0,
|
||||
1, +1, 0,
|
||||
"meson", 0, 0, 521,
|
||||
false, 1.62e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4BMesonPlus* G4BMesonPlus::BMesonPlusDefinition(){return &theBMesonPlus;}
|
||||
G4BMesonPlus* G4BMesonPlus::BMesonPlus(){return &theBMesonPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4BMesonPlus::theBMesonPlusLengthCut = -1.0;
|
||||
G4double* G4BMesonPlus::theBMesonPlusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
// 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: G4BMesonZero.cc,v 2.1 1998/08/04 11:15:41 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4BMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### BMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4BMesonZero::G4BMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4BMesonZero G4BMesonZero::theBMesonZero(
|
||||
"B0", 5.21792*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, 511,
|
||||
false, 1.56e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4BMesonZero* G4BMesonZero::BMesonZeroDefinition(){return &theBMesonZero;}
|
||||
G4BMesonZero* G4BMesonZero::BMesonZero(){return &theBMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4BMesonZero::theBMesonZeroLengthCut = -1.0;
|
||||
G4double* G4BMesonZero::theBMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4BMesonZero::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;
|
||||
}
|
||||
theBMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theBMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
// 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: G4BsMesonZero.cc,v 2.1 1998/08/04 11:15:42 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4BsMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### BsMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4BsMesonZero::G4BsMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4BsMesonZero G4BsMesonZero::theBsMesonZero(
|
||||
"Bs0", 5.3692*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
0, 0, 0,
|
||||
"meson", 0, 0, 531,
|
||||
false, 1.61e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4BsMesonZero* G4BsMesonZero::BsMesonZeroDefinition(){return &theBsMesonZero;}
|
||||
G4BsMesonZero* G4BsMesonZero::BsMesonZero(){return &theBsMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4BsMesonZero::theBsMesonZeroLengthCut = -1.0;
|
||||
G4double* G4BsMesonZero::theBsMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4BsMesonZero::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;
|
||||
}
|
||||
theBsMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theBsMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
// 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: G4DMesonMinus.cc,v 2.1 1998/08/04 11:15:44 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4DMesonMinus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### DMesonMinus ###
|
||||
// ######################################################################
|
||||
|
||||
G4DMesonMinus::G4DMesonMinus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4DMesonMinus G4DMesonMinus::theDMesonMinus
|
||||
(
|
||||
"D-", 1.8693*GeV, 0.0*MeV, -1.*eplus,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, -411,
|
||||
false, 1.057e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4DMesonMinus* G4DMesonMinus::DMesonMinusDefinition(){return &theDMesonMinus;}
|
||||
G4DMesonMinus* G4DMesonMinus::DMesonMinus(){return &theDMesonMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4DMesonMinus::theDMesonMinusLengthCut = -1.0;
|
||||
G4double* G4DMesonMinus::theDMesonMinusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
// 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: G4DMesonPlus.cc,v 2.1 1998/08/04 11:15:44 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4DMesonPlus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### DMesonPLUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4DMesonPlus::G4DMesonPlus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4DMesonPlus G4DMesonPlus::theDMesonPlus(
|
||||
"D+", 1.8693*GeV, 0.0*MeV, +1.*eplus,
|
||||
0, -1, 0,
|
||||
1, +1, 0,
|
||||
"meson", 0, 0, 411,
|
||||
false, 1.057e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4DMesonPlus* G4DMesonPlus::DMesonPlusDefinition(){return &theDMesonPlus;}
|
||||
G4DMesonPlus* G4DMesonPlus::DMesonPlus(){return &theDMesonPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4DMesonPlus::theDMesonPlusLengthCut = -1.0;
|
||||
G4double* G4DMesonPlus::theDMesonPlusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
// 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: G4DMesonZero.cc,v 2.1 1998/08/04 11:15:45 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4DMesonZero.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### DMesonZero ###
|
||||
// ######################################################################
|
||||
|
||||
G4DMesonZero::G4DMesonZero(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4DMesonZero G4DMesonZero::theDMesonZero(
|
||||
"D0", 1.8645*GeV, 0.0*MeV, 0.,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, 421,
|
||||
false, 0.415e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4DMesonZero* G4DMesonZero::DMesonZeroDefinition(){return &theDMesonZero;}
|
||||
G4DMesonZero* G4DMesonZero::DMesonZero(){return &theDMesonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4DMesonZero::theDMesonZeroLengthCut = -1.0;
|
||||
G4double* G4DMesonZero::theDMesonZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4DMesonZero::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;
|
||||
}
|
||||
theDMesonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theDMesonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
// 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: G4DsMesonMinus.cc,v 2.1 1998/08/04 11:15: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
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4DsMesonMinus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### DsMesonMinus ###
|
||||
// ######################################################################
|
||||
|
||||
G4DsMesonMinus::G4DsMesonMinus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4DsMesonMinus G4DsMesonMinus::theDsMesonMinus(
|
||||
"Ds-", 1.9685*GeV, 0.0*MeV, -1.*eplus,
|
||||
0, -1, 0,
|
||||
0, 0, 0,
|
||||
"meson", 0, 0, -431,
|
||||
false, 0.467e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4DsMesonMinus* G4DsMesonMinus::DsMesonMinusDefinition(){return &theDsMesonMinus;}
|
||||
G4DsMesonMinus* G4DsMesonMinus::DsMesonMinus(){return &theDsMesonMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4DsMesonMinus::theDsMesonMinusLengthCut = -1.0;
|
||||
G4double* G4DsMesonMinus::theDsMesonMinusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
// 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: G4DsMesonPlus.cc,v 2.1 1998/08/04 11:15:47 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4DsMesonPlus.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### DsMesonPLUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4DsMesonPlus::G4DsMesonPlus(
|
||||
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 )
|
||||
: G4VMeson( 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4DsMesonPlus G4DsMesonPlus::theDsMesonPlus(
|
||||
"Ds+", 1.9685*GeV, 0.0*MeV, +1.*eplus,
|
||||
0, -1, 0,
|
||||
0, 0, 0,
|
||||
"meson", 0, 0, 431,
|
||||
false, 0.467e-3*ns, NULL
|
||||
);
|
||||
|
||||
G4DsMesonPlus* G4DsMesonPlus::DsMesonPlusDefinition(){return &theDsMesonPlus;}
|
||||
G4DsMesonPlus* G4DsMesonPlus::DsMesonPlus(){return &theDsMesonPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4DsMesonPlus::theDsMesonPlusLengthCut = -1.0;
|
||||
G4double* G4DsMesonPlus::theDsMesonPlusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
// 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: G4Eta.cc,v 2.2 1998/09/24 06:08: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
|
||||
// H.Kurashige 7 Jul 96
|
||||
// **********************************************************************
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4Eta.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### ETA ###
|
||||
// ######################################################################
|
||||
|
||||
|
||||
G4Eta::G4Eta(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of Eta is Eta itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[4];
|
||||
// eta -> gamma + gamma
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("eta",0.393,2,"gamma","gamma");
|
||||
// eta -> pi0 + pi0 + pi0
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("eta",0.321,3,"pi0","pi0","pi0");
|
||||
// eta -> pi0 + pi+ + pi-
|
||||
mode[2] = new G4PhaseSpaceDecayChannel("eta",0.232,3,"pi0","pi+","pi-");
|
||||
// eta -> gamma + pi+ + pi-
|
||||
mode[3] = new G4PhaseSpaceDecayChannel("eta",0.048,3,"gamma","pi+","pi-");
|
||||
|
||||
for (G4int index=0; index <4; 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
|
||||
|
||||
G4Eta G4Eta::theEta(
|
||||
"eta", 0.54745*GeV, 1.20*keV, 0.0,
|
||||
0, -1, +1,
|
||||
0, 0, +1,
|
||||
"meson", 0, 0, 221,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4Eta* G4Eta::EtaDefinition(){return &theEta;}
|
||||
// initialization for static cut values
|
||||
G4double G4Eta::theEtaLengthCut = -1.0;
|
||||
G4double* G4Eta::theEtaKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
|
||||
void G4Eta::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;
|
||||
}
|
||||
theEtaLengthCut = theCutInMaxInteractionLength;
|
||||
theEtaKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,123 @@
|
||||
// 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: G4EtaPrime.cc,v 2.2 1998/09/24 06:08:59 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, 8 June 1998 Hisaya Kurashige
|
||||
// ****************************************************************
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4EtaPrime.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### EtaPrime ###
|
||||
// ######################################################################
|
||||
|
||||
|
||||
G4EtaPrime::G4EtaPrime(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of EtaPrime is EtaPrime itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
SetPDGStable(false);
|
||||
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[3];
|
||||
// EtaPrime -> eta + pi+ + pi-
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("eta_prime",0.437,3,"eta","pi+","pi-");
|
||||
// EtaPrime -> eta + pi0 + pi0
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("eta_prime",0.208,3,"eta","pi0","pi0");
|
||||
// EtaPrime -> rho0 + gamma
|
||||
mode[2] = new G4PhaseSpaceDecayChannel("eta_prime",0.302,2,"rho0","gamma");
|
||||
|
||||
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
|
||||
|
||||
G4EtaPrime G4EtaPrime::theEtaPrime(
|
||||
"eta_prime", 0.95777*GeV, 0.201*MeV, 0.0,
|
||||
0, -1, +1,
|
||||
0, 0, +1,
|
||||
"meson", 0, 0, 331,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4EtaPrime* G4EtaPrime::EtaPrimeDefinition(){return &theEtaPrime;}
|
||||
// initialization for static cut values
|
||||
G4double G4EtaPrime::theEtaPrimeLengthCut = -1.0;
|
||||
G4double* G4EtaPrime::theEtaPrimeKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
|
||||
void G4EtaPrime::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;
|
||||
}
|
||||
theEtaPrimeLengthCut = theCutInMaxInteractionLength;
|
||||
theEtaPrimeKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
// 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: G4JPsi.cc,v 2.1 1998/08/04 11:15:49 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
// For information related to this code contact:
|
||||
// CERN, CN Division, ASD Group
|
||||
//
|
||||
// Created Hisaya Kurashige, 16 June 1997
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4JPsi.hh"
|
||||
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### JPsi ###
|
||||
// ######################################################################
|
||||
|
||||
G4JPsi::G4JPsi(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of J/Psi is J/Psi itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
|
||||
}
|
||||
|
||||
// ......................................................................
|
||||
// ... 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4JPsi G4JPsi::theJPsi(
|
||||
"J/psi", 3.09688*GeV, 87*MeV, 0.,
|
||||
2, -1, -1,
|
||||
0, 0, -1,
|
||||
"meson", 0, 0, 443,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4JPsi* G4JPsi::JPsiDefinition(){return &theJPsi;}
|
||||
G4JPsi* G4JPsi::JPsi(){return &theJPsi;}
|
||||
// initialization for static cut values
|
||||
G4double G4JPsi::theJPsiLengthCut = -1.0;
|
||||
G4double* G4JPsi::theJPsiKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4JPsi::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;
|
||||
}
|
||||
theJPsiLengthCut = theCutInMaxInteractionLength;
|
||||
theJPsiKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
// 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: G4KaonMinus.cc,v 2.2 1998/09/24 06:09: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 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4KaonMinus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4KL3DecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
// ######################################################################
|
||||
// ### KAONMINUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4KaonMinus::G4KaonMinus(
|
||||
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 )
|
||||
: G4VMeson( 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*[6];
|
||||
// kaon- -> mu- + anti_nu_mu
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("kaon-",0.635,2,"mu-","anti_nu_mu");
|
||||
// kaon- -> pi+ + pi0
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("kaon-",0.212,2,"pi+","pi0");
|
||||
// kaon- -> pi+ + pi+ + pi-
|
||||
mode[2] = new G4PhaseSpaceDecayChannel("kaon-",0.056,3,"pi+","pi+","pi-");
|
||||
// kaon- -> pi+ + pi0 + pi0
|
||||
mode[3] = new G4PhaseSpaceDecayChannel("kaon-",0.017,3,"pi+","pi0","pi0");
|
||||
// kaon- -> pi0 + e- + anti_nu_e (Ke3)
|
||||
mode[4] = new G4KL3DecayChannel("kaon-",0.048,"pi0","e-","anti_nu_e");
|
||||
// kaon- -> pi0 + mu- + anti_nu_mu (Kmu3)
|
||||
mode[5] = new G4KL3DecayChannel("kaon-",0.032,"pi0","mu-","anti_nu_mu");
|
||||
|
||||
|
||||
for (G4int index=0; index <6; 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
|
||||
//
|
||||
G4KaonMinus G4KaonMinus::theKaonMinus(
|
||||
"kaon-", 0.493677*GeV, 0.0*MeV, -1.*eplus,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, -321,
|
||||
false, 12.371*ns, NULL
|
||||
);
|
||||
|
||||
G4KaonMinus* G4KaonMinus::KaonMinusDefinition(){return &theKaonMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4KaonMinus::theKaonMinusLengthCut = -1.0;
|
||||
G4double* G4KaonMinus::theKaonMinusKineticEnergyCuts = NULL;
|
||||
@@ -0,0 +1,104 @@
|
||||
// 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: G4KaonPlus.cc,v 2.2 1998/09/24 06:09: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
|
||||
// H.Kurashige 7 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4KaonPlus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4KL3DecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### KAONPLUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4KaonPlus::G4KaonPlus(
|
||||
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 )
|
||||
: G4VMeson( 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*[6];
|
||||
// kaon+ -> mu+ + nu_mu
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("kaon+",0.635,2,"mu+","nu_mu");
|
||||
// kaon+ -> pi+ + pi0
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("kaon+",0.212,2,"pi+","pi0");
|
||||
// kaon+ -> pi+ + pi+ + pi-
|
||||
mode[2] = new G4PhaseSpaceDecayChannel("kaon+",0.056,3,"pi+","pi+","pi-");
|
||||
// kaon+ -> pi+ + pi0 + pi0
|
||||
mode[3] = new G4PhaseSpaceDecayChannel("kaon+",0.017,3,"pi+","pi0","pi0");
|
||||
// kaon+ -> pi0 + e+ + nu_e (Ke3)
|
||||
mode[4] = new G4KL3DecayChannel("kaon+",0.048,"pi0","e+","nu_e");
|
||||
// kaon+ -> pi0 + mu+ + nu_mu (Kmu3)
|
||||
mode[5] = new G4KL3DecayChannel("kaon+",0.032,"pi0","mu+","nu_mu");
|
||||
|
||||
|
||||
for (G4int index=0; index <6; 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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4KaonPlus G4KaonPlus::theKaonPlus(
|
||||
"kaon+", 0.493677*GeV, 0.0*MeV, +1.*eplus,
|
||||
0, -1, 0,
|
||||
1, +1, 0,
|
||||
"meson", 0, 0, 321,
|
||||
false, 12.371*ns, NULL
|
||||
);
|
||||
|
||||
G4KaonPlus* G4KaonPlus::KaonPlusDefinition(){return &theKaonPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4KaonPlus::theKaonPlusLengthCut = -1.0;
|
||||
G4double* G4KaonPlus::theKaonPlusKineticEnergyCuts = 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: G4KaonZero.cc,v 2.3 1998/09/24 06:09: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 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4KaonZero.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### KAONZERO ###
|
||||
// ######################################################################
|
||||
|
||||
G4KaonZero::G4KaonZero(
|
||||
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 )
|
||||
: G4VMeson( 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];
|
||||
// kaon0 -> Kaon0L
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("kaon0",0.500,1,"kaon0L");
|
||||
// kaon0 -> Kaon0S
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("kaon0",0.500,1,"kaon0S");
|
||||
|
||||
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
|
||||
|
||||
G4KaonZero G4KaonZero::theKaonZero(
|
||||
"kaon0", 0.497672*GeV, 0.0*MeV, 0.0,
|
||||
0, -1, 0,
|
||||
1, -1, 0,
|
||||
"meson", 0, 0, 311,
|
||||
false, 0.0, NULL
|
||||
);
|
||||
|
||||
G4KaonZero* G4KaonZero::KaonZeroDefinition(){return &theKaonZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4KaonZero::theKaonZeroLengthCut = -1.0;
|
||||
G4double* G4KaonZero::theKaonZeroKineticEnergyCuts;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
void G4KaonZero::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;
|
||||
}
|
||||
theKaonZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theKaonZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
// 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: G4KaonZeroLong.cc,v 2.3 1998/09/24 06:09: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
|
||||
// H.Kurashige 7 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4KaonZeroLong.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4KL3DecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
// ######################################################################
|
||||
// ### KAONZEROLONG ###
|
||||
// ######################################################################
|
||||
|
||||
G4KaonZeroLong::G4KaonZeroLong(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of K0Long is K0Long itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[6];
|
||||
// kaon0L -> pi0 + pi0 + pi0
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("kaon0L",0.211,3,"pi0","pi0","pi0");
|
||||
// kaon0L -> pi0 + pi+ + pi-
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("kaon0L",0.126,3,"pi0","pi+","pi-");
|
||||
// kaon0L -> pi- + e+ + nu_e (Ke3)
|
||||
mode[2] = new G4KL3DecayChannel("kaon0L",0.194,"pi-","e+","nu_e");
|
||||
// kaon0L -> pi+ + e- + anti_nu_e (Ke3)
|
||||
mode[3] = new G4KL3DecayChannel("kaon0L",0.194,"pi+","e-","anti_nu_e");
|
||||
// kaon0L -> pi- + mu+ + nu_mu (Kmu3)
|
||||
mode[4] = new G4KL3DecayChannel("kaon0L",0.136,"pi-","mu+","nu_mu");
|
||||
// kaon0L -> pi+ + mu- + anti_nu_mu (Kmu3)
|
||||
mode[5] = new G4KL3DecayChannel("kaon0L",0.136,"pi+","mu-","anti_nu_mu");
|
||||
|
||||
for (G4int index=0; index <6; 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
|
||||
|
||||
G4KaonZeroLong G4KaonZeroLong::theKaonZeroLong(
|
||||
"kaon0L", 0.497672*GeV, 0.0*MeV, 0.0,
|
||||
0, -1, 0,
|
||||
1, 0, 0,
|
||||
"meson", 0, 0, 130,
|
||||
false, 51.7*ns, NULL
|
||||
);
|
||||
|
||||
G4KaonZeroLong* G4KaonZeroLong::KaonZeroLongDefinition(){return &theKaonZeroLong;}
|
||||
// initialization for static cut values
|
||||
G4double G4KaonZeroLong::theKaonZeroLongLengthCut = -1.0;
|
||||
G4double* G4KaonZeroLong::theKaonZeroLongKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4KaonZeroLong::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;
|
||||
}
|
||||
theKaonZeroLongLengthCut = theCutInMaxInteractionLength;
|
||||
theKaonZeroLongKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
@@ -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: G4KaonZeroShort.cc,v 2.3 1998/09/24 06:09: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
|
||||
// H.Kurashige 7 Jul 96
|
||||
// **********************************************************************
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4KaonZeroShort.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### KAONZEROSHORT ###
|
||||
// ######################################################################
|
||||
|
||||
G4KaonZeroShort::G4KaonZeroShort(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of K0Short is K0Short itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[2];
|
||||
// kaon0s -> pi+ + pi-
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("kaon0S",0.686,2,"pi+","pi-");
|
||||
// kaon0s -> pi0 + pi0
|
||||
mode[1] = new G4PhaseSpaceDecayChannel("kaon0S",0.313,2,"pi0","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
|
||||
|
||||
G4KaonZeroShort G4KaonZeroShort::theKaonZeroShort(
|
||||
"kaon0S", 0.497672*GeV, 0.0*MeV, 0.0,
|
||||
0, -1, 0,
|
||||
1, 0, 0,
|
||||
"meson", 0, 0, 310,
|
||||
false, 0.08926*ns, NULL
|
||||
);
|
||||
|
||||
G4KaonZeroShort* G4KaonZeroShort::KaonZeroShortDefinition(){return &theKaonZeroShort;}
|
||||
// initialization for static cut values
|
||||
G4double G4KaonZeroShort::theKaonZeroShortLengthCut = -1.0;
|
||||
G4double* G4KaonZeroShort::theKaonZeroShortKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
|
||||
void G4KaonZeroShort::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;
|
||||
}
|
||||
theKaonZeroShortLengthCut = theCutInMaxInteractionLength;
|
||||
theKaonZeroShortKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
// 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: G4MesonConstructor.cc,v 2.0 1998/07/02 17:24:26 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
//
|
||||
|
||||
#include "G4MesonConstructor.hh"
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
// Mesons
|
||||
#include "G4PionPlus.hh"
|
||||
#include "G4PionMinus.hh"
|
||||
#include "G4PionZero.hh"
|
||||
#include "G4Eta.hh"
|
||||
#include "G4EtaPrime.hh"
|
||||
#include "G4RhoZero.hh"
|
||||
|
||||
#include "G4KaonPlus.hh"
|
||||
#include "G4KaonMinus.hh"
|
||||
#include "G4KaonZero.hh"
|
||||
#include "G4AntiKaonZero.hh"
|
||||
#include "G4KaonZeroLong.hh"
|
||||
#include "G4KaonZeroShort.hh"
|
||||
|
||||
#include "G4DMesonPlus.hh"
|
||||
#include "G4DMesonMinus.hh"
|
||||
#include "G4DMesonZero.hh"
|
||||
#include "G4AntiDMesonZero.hh"
|
||||
#include "G4DsMesonPlus.hh"
|
||||
#include "G4DsMesonMinus.hh"
|
||||
#include "G4JPsi.hh"
|
||||
|
||||
#include "G4BMesonPlus.hh"
|
||||
#include "G4BMesonMinus.hh"
|
||||
#include "G4BMesonZero.hh"
|
||||
#include "G4AntiBMesonZero.hh"
|
||||
#include "G4BsMesonZero.hh"
|
||||
#include "G4AntiBsMesonZero.hh"
|
||||
|
||||
G4MesonConstructor::G4MesonConstructor()
|
||||
{
|
||||
}
|
||||
|
||||
G4MesonConstructor::~G4MesonConstructor()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void G4MesonConstructor::ConstructParticle()
|
||||
{
|
||||
ConstructLightMesons();
|
||||
ConstructCharmMesons();
|
||||
ConstructBottomMesons();
|
||||
}
|
||||
|
||||
void G4MesonConstructor::ConstructLightMesons()
|
||||
{
|
||||
G4PionPlus::PionPlusDefinition();
|
||||
G4PionMinus::PionMinusDefinition();
|
||||
G4PionZero::PionZeroDefinition();
|
||||
G4Eta::EtaDefinition();
|
||||
G4EtaPrime::EtaPrimeDefinition();
|
||||
G4RhoZero::RhoZeroDefinition();
|
||||
G4KaonPlus::KaonPlusDefinition();
|
||||
G4KaonMinus::KaonMinusDefinition();
|
||||
G4KaonZero::KaonZeroDefinition();
|
||||
G4AntiKaonZero::AntiKaonZeroDefinition();
|
||||
G4KaonZeroLong::KaonZeroLongDefinition();
|
||||
G4KaonZeroShort::KaonZeroShortDefinition();
|
||||
}
|
||||
void G4MesonConstructor::ConstructCharmMesons()
|
||||
{
|
||||
G4DMesonPlus::DMesonPlusDefinition();
|
||||
G4DMesonMinus::DMesonMinusDefinition();
|
||||
G4DMesonZero::DMesonZeroDefinition();
|
||||
G4AntiDMesonZero::AntiDMesonZeroDefinition();
|
||||
G4DsMesonPlus::DsMesonPlusDefinition();
|
||||
G4DsMesonMinus::DsMesonMinusDefinition();
|
||||
G4JPsi::JPsiDefinition();
|
||||
}
|
||||
void G4MesonConstructor::ConstructBottomMesons()
|
||||
{
|
||||
G4BMesonPlus::BMesonPlusDefinition();
|
||||
G4BMesonMinus::BMesonMinusDefinition();
|
||||
G4BMesonZero::BMesonZeroDefinition();
|
||||
G4AntiBMesonZero::AntiBMesonZeroDefinition();
|
||||
G4BsMesonZero::BsMesonZeroDefinition();
|
||||
G4AntiBsMesonZero::AntiBsMesonZeroDefinition();
|
||||
}
|
||||
@@ -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: G4PionMinus.cc,v 2.2 1998/09/24 06:09: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, 19 April 1996
|
||||
// Code uses operators (+=, *=, ++, -> etc.) correctly, P. Urban, 26/6/96
|
||||
// Add PionMinusDefinition(), H.Kurashige 4 July 1996
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4PionMinus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### PIONMINUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4PionMinus::G4PionMinus(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create a decay channel
|
||||
// pi- -> mu- + anti_nu_mu
|
||||
G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("pi-",1.00,2,"mu-","anti_nu_mu");
|
||||
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
|
||||
//
|
||||
G4PionMinus G4PionMinus::thePionMinus(
|
||||
"pi-", 0.1395700*GeV, 0.0*MeV, -1.*eplus,
|
||||
0, -1, 0,
|
||||
2, -2, -1,
|
||||
"meson", 0, 0, -211,
|
||||
false, 26.030*ns, NULL
|
||||
);
|
||||
|
||||
G4PionMinus* G4PionMinus::PionMinusDefinition(){return &thePionMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4PionMinus::thePionMinusLengthCut = -1.0;
|
||||
G4double* G4PionMinus::thePionMinusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
// 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: G4PionPlus.cc,v 2.2 1998/09/24 06:09: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, 19 April 1996
|
||||
// Code uses operators (+=, *=, ++, -> etc.) correctly, P. Urban, 26/6/96
|
||||
// Add PionPlusDefinition(), H.Kurashige 4 July 1996
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4PionPlus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### PIONPLUS ###
|
||||
// ######################################################################
|
||||
|
||||
G4PionPlus::G4PionPlus(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create a decay channel
|
||||
// pi+ -> mu+ + nu_mu
|
||||
G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("pi+",1.00,2,"mu+","nu_mu");
|
||||
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
|
||||
|
||||
// In this version, charged pions are set to stable
|
||||
G4PionPlus G4PionPlus::thePionPlus(
|
||||
"pi+", 0.1395700*GeV, 0.0*MeV, +1.*eplus,
|
||||
0, -1, 0,
|
||||
2, +2, -1,
|
||||
"meson", 0, 0, 211,
|
||||
true, 26.030*ns, NULL
|
||||
);
|
||||
|
||||
G4PionPlus* G4PionPlus::PionPlusDefinition(){return &thePionPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4PionPlus::thePionPlusLengthCut = -1.0;
|
||||
G4double* G4PionPlus::thePionPlusKineticEnergyCuts = NULL;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
// 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: G4PionZero.cc,v 2.3 1998/09/24 06:09: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, 19 April 1996
|
||||
// Operators (+=, *=, ++, -> etc.) correctly used, P. Urban, 26/6/96
|
||||
// Add PionZeroDefinition(), H.Kurashige 4 July 1996
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4PionZero.hh"
|
||||
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DalitzDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### PIONZERO ###
|
||||
// ######################################################################
|
||||
|
||||
G4PionZero::G4PionZero(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of Pi0 is pi0 itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
SetPDGStable(false);
|
||||
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create a decay channel
|
||||
G4VDecayChannel* mode;
|
||||
// pi0 -> gamma + gamma
|
||||
mode = new G4PhaseSpaceDecayChannel("pi0",0.988,2,"gamma","gamma");
|
||||
table->Insert(mode);
|
||||
// pi0 -> gamma + e+ + e-
|
||||
mode = new G4DalitzDecayChannel("pi0",0.012,"e-","e+");
|
||||
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
|
||||
|
||||
G4PionZero G4PionZero::thePionZero(
|
||||
"pi0", 0.1349764*GeV, 0.0*MeV, 0.0,
|
||||
0, -1, +1,
|
||||
2, 0, -1,
|
||||
"meson", 0, 0, 111,
|
||||
false, 8.4e-8*ns, NULL
|
||||
);
|
||||
|
||||
G4PionZero* G4PionZero::PionZeroDefinition(){return &thePionZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4PionZero::thePionZeroLengthCut = -1.0;
|
||||
G4double* G4PionZero::thePionZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
// In this version Input Cut Value is meaning less
|
||||
// theKineticEnergyCuts for all materials are set to LowestEnergy
|
||||
void G4PionZero::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;
|
||||
}
|
||||
thePionZeroLengthCut = theCutInMaxInteractionLength;
|
||||
thePionZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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: G4RhoMinus.cc,v 1.1 1998/10/13 05:59: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 Hisaya Kurashige, 8 June 1998
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ------------------------------------------------------------
|
||||
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4RhoMinus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### RhoMinus ###
|
||||
// ######################################################################
|
||||
|
||||
|
||||
G4RhoMinus::G4RhoMinus(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[1];
|
||||
// RhoMinus -> pi+ + pi-
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("rho+",1.000,2,"pi-","pi0");
|
||||
|
||||
table->Insert(mode[0]);
|
||||
|
||||
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
|
||||
|
||||
G4RhoMinus G4RhoMinus::theRhoMinus(
|
||||
"rho0", 0.7685*GeV, 150.7*MeV, -1.0*eplus,
|
||||
2, -1, 0,
|
||||
2, -2, +1,
|
||||
"meson", 0, 0, -213,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4RhoMinus* G4RhoMinus::RhoMinusDefinition(){return &theRhoMinus;}
|
||||
G4RhoMinus* G4RhoMinus::RhoMinus(){return &theRhoMinus;}
|
||||
// initialization for static cut values
|
||||
G4double G4RhoMinus::theRhoMinusLengthCut = -1.0;
|
||||
G4double* G4RhoMinus::theRhoMinusKineticEnergyCuts = 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: G4RhoPlus.cc,v 1.1 1998/10/13 05:59:24 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 Hisaya Kurashige, 8 June 1998
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ------------------------------------------------------------
|
||||
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4RhoPlus.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### RhoPlus ###
|
||||
// ######################################################################
|
||||
|
||||
|
||||
G4RhoPlus::G4RhoPlus(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[1];
|
||||
// RhoPlus -> pi+ + pi-
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("rho+",1.000,2,"pi+","pi0");
|
||||
|
||||
table->Insert(mode[0]);
|
||||
|
||||
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
|
||||
|
||||
G4RhoPlus G4RhoPlus::theRhoPlus(
|
||||
"rho0", 0.7685*GeV, 150.7*MeV, +1.0*eplus,
|
||||
2, -1, 0,
|
||||
2, +2, +1,
|
||||
"meson", 0, 0, 213,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4RhoPlus* G4RhoPlus::RhoPlusDefinition(){return &theRhoPlus;}
|
||||
G4RhoPlus* G4RhoPlus::RhoPlus(){return &theRhoPlus;}
|
||||
// initialization for static cut values
|
||||
G4double G4RhoPlus::theRhoPlusLengthCut = -1.0;
|
||||
G4double* G4RhoPlus::theRhoPlusKineticEnergyCuts = 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: G4RhoZero.cc,v 2.1 1998/08/04 11:15: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 Hisaya Kurashige, 8 June 1998
|
||||
// **********************************************************************
|
||||
// Change both methods to get the pointer into non-inlined H.Kurashige 4 Aug. 1998
|
||||
// ------------------------------------------------------------
|
||||
|
||||
|
||||
#include <fstream.h>
|
||||
#include <iomanip.h>
|
||||
|
||||
#include "G4RhoZero.hh"
|
||||
|
||||
#include "G4PhaseSpaceDecayChannel.hh"
|
||||
#include "G4DecayTable.hh"
|
||||
|
||||
// ######################################################################
|
||||
// ### RhoZero ###
|
||||
// ######################################################################
|
||||
|
||||
|
||||
G4RhoZero::G4RhoZero(
|
||||
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 )
|
||||
: G4VMeson( aName,mass,width,charge,iSpin,iParity,
|
||||
iConjugation,iIsospin,iIsospin3,gParity,pType,
|
||||
lepton,baryon,encoding,stable,lifetime,decaytable )
|
||||
{
|
||||
// Anti-particle of RhoZero is RhoZero itself
|
||||
SetAntiPDGEncoding(encoding);
|
||||
|
||||
SetPDGStable(false);
|
||||
//create Decay Table
|
||||
G4DecayTable* table = GetDecayTable();
|
||||
if (table!=NULL) delete table;
|
||||
table = new G4DecayTable();
|
||||
|
||||
// create decay channels
|
||||
G4VDecayChannel** mode = new G4VDecayChannel*[1];
|
||||
// RhoZero -> pi+ + pi-
|
||||
mode[0] = new G4PhaseSpaceDecayChannel("rho0",1.000,2,"pi+","pi-");
|
||||
|
||||
table->Insert(mode[0]);
|
||||
|
||||
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
|
||||
|
||||
G4RhoZero G4RhoZero::theRhoZero(
|
||||
"rho0", 0.7685*GeV, 150.7*MeV, 0.0,
|
||||
2, -1, -1,
|
||||
2, 0, +1,
|
||||
"meson", 0, 0, 113,
|
||||
false, 0.0*ns, NULL
|
||||
);
|
||||
|
||||
G4RhoZero* G4RhoZero::RhoZeroDefinition(){return &theRhoZero;}
|
||||
G4RhoZero* G4RhoZero::RhoZero(){return &theRhoZero;}
|
||||
// initialization for static cut values
|
||||
G4double G4RhoZero::theRhoZeroLengthCut = -1.0;
|
||||
G4double* G4RhoZero::theRhoZeroKineticEnergyCuts = NULL;
|
||||
|
||||
// **********************************************************************
|
||||
// **************************** SetCuts *********************************
|
||||
// **********************************************************************
|
||||
|
||||
void G4RhoZero::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;
|
||||
}
|
||||
theRhoZeroLengthCut = theCutInMaxInteractionLength;
|
||||
theRhoZeroKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// 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: G4VMeson.cc,v 2.0 1998/07/02 17:24:33 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 "G4VMeson.hh"
|
||||
|
||||
const G4VMeson & G4VMeson::operator=(const G4VMeson &right)
|
||||
{
|
||||
if (this != &right) {
|
||||
} return right;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user