Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DalitzDecayChannel.hh,v 1.3.4.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DalitzDecayChannel.hh,v 1.4 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DecayProducts.hh,v 1.7.2.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DecayProducts.hh,v 1.8 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DecayTable.hh,v 1.6.2.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DecayTable.hh,v 1.7 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DecayTableMessenger.hh,v 1.5.4.1 2001/06/28 19:11:03 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DecayTableMessenger.hh,v 1.6 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DynamicParticle.hh,v 1.10.2.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DynamicParticle.hh,v 1.11 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DynamicParticle.icc,v 1.7.2.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DynamicParticle.icc,v 1.8 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DynamicParticleFastVector.hh,v 1.2.4.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4DynamicParticleFastVector.hh,v 1.3 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ElectronOccupancy.hh,v 1.4.4.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ElectronOccupancy.hh,v 1.5 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4IonTable.hh,v 1.17.4.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4IonTable.hh,v 1.18 2001/07/11 10:01:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Ions.hh,v 1.7.2.2 2001/06/28 20:19:08 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4Ions.hh,v 1.9 2001/10/15 09:58:30 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -53,9 +53,6 @@ class G4Ions : public G4ParticleWithCuts
|
||||
// This class has Excitation Energy in addition to the normal particle
|
||||
//
|
||||
|
||||
private:
|
||||
G4double theIonsLengthCut;
|
||||
G4double* theIonsKineticEnergyCuts;
|
||||
|
||||
public: //With Description
|
||||
G4Ions(
|
||||
@@ -75,13 +72,6 @@ class G4Ions : public G4ParticleWithCuts
|
||||
G4Ions* IonsDefinition();
|
||||
G4Ions* Ions();
|
||||
|
||||
public: //With Description
|
||||
virtual G4double GetCuts() {return theIonsLengthCut;}
|
||||
virtual const G4double* GetCutsInEnergy() {return theIonsKineticEnergyCuts;};
|
||||
|
||||
virtual void SetCuts(G4double aCut);
|
||||
|
||||
|
||||
public: //With Description
|
||||
G4int GetAtomicNumber() const;
|
||||
G4int GetAtomicMass() const;
|
||||
@@ -112,12 +102,4 @@ inline
|
||||
theExcitationEnergy = value;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4Ions::SetCuts(G4double aCut)
|
||||
{
|
||||
CalcEnergyCuts(aCut);
|
||||
theIonsLengthCut = theCutInMaxInteractionLength;
|
||||
theIonsKineticEnergyCuts = theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4IsotopeProperty.hh,v 1.2.10.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4IsotopeProperty.hh,v 1.3 2001/07/11 10:01:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4KL3DecayChannel.hh,v 1.3.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4KL3DecayChannel.hh,v 1.4 2001/07/11 10:01:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonDecayChannel.hh,v 1.4.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4MuonDecayChannel.hh,v 1.5 2001/07/11 10:01:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * 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: G4NeutronBetaDecayChannel.hh,v 1.1 2001/09/18 02:15:10 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// 18 Sep. 2001 H.Kurashige
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4NeutronBetaDecayChannel_h
|
||||
#define G4NeutronBetaDecayChannel_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4VDecayChannel.hh"
|
||||
|
||||
class G4NeutronBetaDecayChannel :public G4VDecayChannel
|
||||
{
|
||||
// Class Decription
|
||||
// This class describes free neutron beta decay kinemtics.
|
||||
// This version neglects neutron/electron polarization
|
||||
// without Coulomb effect
|
||||
|
||||
public: // With Description
|
||||
//Constructors
|
||||
G4NeutronBetaDecayChannel(const G4String& theParentName,
|
||||
G4double theBR);
|
||||
// Destructor
|
||||
virtual ~G4NeutronBetaDecayChannel();
|
||||
|
||||
public: // With Description
|
||||
virtual G4DecayProducts *DecayIt(G4double);
|
||||
|
||||
protected:
|
||||
// e-neutrino angular correlation parameter
|
||||
const G4double aENuCorr;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4NucleiProperties.hh,v 1.10.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4NucleiProperties.hh,v 1.13 2001/10/16 08:16:19 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -80,71 +80,19 @@ private:
|
||||
|
||||
static G4double BindingEnergy(G4double A, G4double Z);
|
||||
|
||||
static G4double MassExcess(G4double A, G4double Z) {return GetAtomicMass(A,Z) - A*amu_c2;}
|
||||
static G4double MassExcess(G4double A, G4double Z);
|
||||
|
||||
|
||||
};
|
||||
|
||||
inline
|
||||
G4double G4NucleiProperties::GetMassExcess(const G4int A, const G4int Z)
|
||||
{
|
||||
if (A < 1 || Z < 0 || Z > A) {
|
||||
G4cout << "G4NucleiProperties::GetMassExccess: Wrong values for A = " << A
|
||||
<< " and Z = " << Z << G4endl;
|
||||
return 0.0;
|
||||
|
||||
} else {
|
||||
|
||||
if (G4NucleiPropertiesTable::IsInTable(Z,A)){
|
||||
return G4NucleiPropertiesTable::GetMassExcess(Z,A);
|
||||
} else if (G4NucleiPropertiesTheoreticalTable::IsInTable(Z,A)){
|
||||
return G4NucleiPropertiesTheoreticalTable::GetMassExcess(Z,A);
|
||||
} else {
|
||||
return MassExcess(A,Z);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4NucleiProperties::GetAtomicMass(const G4double A, const G4double Z)
|
||||
{
|
||||
if (Z < 0 || Z > A) {
|
||||
G4cout << "G4NucleiProperties::GetAtomicMass: Wrong values for A = " << A
|
||||
<< " and Z = " << Z << G4endl; return 0.0;
|
||||
|
||||
} else if (abs(A - G4int(A)) > 1.e-10) {
|
||||
return AtomicMass(A,Z);
|
||||
|
||||
} else {
|
||||
if (G4NucleiPropertiesTable::IsInTable(Z,A)) {
|
||||
return G4NucleiPropertiesTable::GetAtomicMass(Z,A);
|
||||
} else if (G4NucleiPropertiesTheoreticalTable::IsInTable(Z,A)){
|
||||
return G4NucleiPropertiesTheoreticalTable::GetAtomicMass(Z,A);
|
||||
} else {
|
||||
return AtomicMass(A,Z);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4NucleiProperties::GetBindingEnergy(const G4int A, const G4int Z)
|
||||
{
|
||||
if (A < 1 || Z < 0 || Z > A) {
|
||||
G4cout << "G4NucleiProperties::GetMassExccess: Wrong values for A = " << A
|
||||
<< " and Z = " << Z << G4endl;
|
||||
return 0.0;
|
||||
|
||||
} else {
|
||||
if (G4NucleiPropertiesTable::IsInTable(Z,A)) {
|
||||
return G4NucleiPropertiesTable::GetBindingEnergy(Z,A);
|
||||
} else if (G4NucleiPropertiesTheoreticalTable::IsInTable(Z,A)) {
|
||||
return G4NucleiPropertiesTheoreticalTable::GetBindingEnergy(Z,A);
|
||||
}else {
|
||||
return BindingEnergy(A,Z);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4NucleiPropertiesTable.hh,v 1.8.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4NucleiPropertiesTable.hh,v 1.10 2001/10/15 09:58:30 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// GEANT 4 class file --- Copyright CERN 1997
|
||||
@@ -142,52 +142,6 @@ private:
|
||||
|
||||
|
||||
};
|
||||
|
||||
inline G4double G4NucleiPropertiesTable::GetMassExcess(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0) {
|
||||
return MassExcess[i]*keV;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double G4NucleiPropertiesTable::GetBindingEnergy(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0){
|
||||
return (G4double(A-Z)*MassExcess[0] + G4double(Z)*MassExcess[1] - MassExcess[i])*keV;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double G4NucleiPropertiesTable::GetBetaDecayEnergy(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0){
|
||||
return BetaEnergy[i]*keV;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double G4NucleiPropertiesTable::GetAtomicMass(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0){
|
||||
return MassExcess[i]*keV + G4double(A)*amu_c2;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline G4bool G4NucleiPropertiesTable::IsInTable(G4int Z, G4int A)
|
||||
{
|
||||
return (Z <= A && A >= 1 && A <= 273 && Z >= 0 && Z <= 110 && GetIndex(Z, A) >= 0);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.3.2.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.5 2001/10/15 09:58:30 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -105,62 +105,6 @@ private:
|
||||
|
||||
};
|
||||
|
||||
inline G4double G4NucleiPropertiesTheoreticalTable::GetMassExcess(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0) {
|
||||
return AtomicMassExcess[i]*MeV;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double G4NucleiPropertiesTheoreticalTable::GetBindingEnergy(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0){
|
||||
const G4double Mh = 7.289034*MeV; // hydrogen atom mass excess
|
||||
const G4double Mn = 8.071431*MeV; // neutron mass excess
|
||||
return G4double(Z)*Mh + G4double(A-Z)*Mn - AtomicMassExcess[i]*MeV;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline G4double G4NucleiPropertiesTheoreticalTable::GetAtomicMass(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0) {
|
||||
return AtomicMassExcess[i]*MeV + A*amu_c2;
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline G4double G4NucleiPropertiesTheoreticalTable::GetNuclearMass(G4int Z, G4int A)
|
||||
{
|
||||
G4int i=GetIndex(Z, A);
|
||||
if (i >= 0) {
|
||||
return GetAtomicMass(Z,A) - G4double(Z)*electron_mass_c2 + ElectronicBindingEnergy(Z);
|
||||
} else {
|
||||
return 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
inline G4double G4NucleiPropertiesTheoreticalTable::ElectronicBindingEnergy(G4int Z) {
|
||||
const G4double ael = 1.433e-5*MeV; // electronic-binding constant
|
||||
return ael*pow(G4double(Z),2.39);
|
||||
}
|
||||
|
||||
inline G4bool G4NucleiPropertiesTheoreticalTable::IsInTable(G4int Z, G4int A)
|
||||
{
|
||||
return (Z <= A && A >= 16 && A <= 339 && Z <= 136 && Z >= 8 && GetIndex(Z, A) >= 0);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PDGCodeChecker.hh,v 1.5.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PDGCodeChecker.hh,v 1.6 2001/07/11 10:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleDefinition.hh,v 1.10.2.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleDefinition.hh,v 1.12 2001/10/15 09:58:30 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -51,6 +51,7 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "g4std/vector"
|
||||
|
||||
class G4ProcessManager;
|
||||
class G4DecayTable;
|
||||
@@ -101,12 +102,18 @@ class G4ParticleDefinition
|
||||
// to invoke corresponding methods for each particle type.
|
||||
// Actual implementation can be seen in the class
|
||||
// G4ParticleWithCuts
|
||||
virtual void ResetCuts();
|
||||
virtual void SetCuts(G4double );
|
||||
virtual void ReCalcCuts();
|
||||
virtual G4double GetLengthCuts() const;
|
||||
virtual G4double* GetEnergyCuts() const;
|
||||
virtual G4double GetEnergyThreshold(const G4Material* ) const;
|
||||
virtual void SetCuts(G4double );
|
||||
virtual void SetRangeCut(G4double ,const G4Material*);
|
||||
virtual void SetRangeCutVector(G4std::vector<G4double>&);
|
||||
|
||||
virtual G4double* GetEnergyCuts() const;
|
||||
virtual G4double GetEnergyThreshold(const G4Material* ) const;
|
||||
|
||||
virtual G4double* GetLengthCuts() const;
|
||||
virtual G4double GetRangeThreshold(const G4Material* ) const;
|
||||
|
||||
virtual void ResetCuts();
|
||||
virtual void ReCalcCuts();
|
||||
|
||||
// applyCuts flag
|
||||
G4bool GetApplyCutsFlag() const;
|
||||
@@ -116,7 +123,7 @@ class G4ParticleDefinition
|
||||
// This method concerning cut values is supposed to be used by
|
||||
// G4VUserPhysicsList to restore cutvalues witout calculation
|
||||
// Actual implementation can be seen in the class G4ParticleWithCuts
|
||||
virtual void RestoreCuts(G4double cutInLength,
|
||||
virtual void RestoreCuts(const G4double* cutInLength,
|
||||
const G4double* cutInEnergy ){}
|
||||
|
||||
|
||||
@@ -322,111 +329,6 @@ class G4ParticleDefinition
|
||||
G4int verboseLevel;
|
||||
};
|
||||
|
||||
inline
|
||||
G4ParticleTable* G4ParticleDefinition::GetParticleTable()
|
||||
{
|
||||
return theParticleTable;
|
||||
}
|
||||
|
||||
inline
|
||||
G4DecayTable* G4ParticleDefinition::GetDecayTable()
|
||||
{
|
||||
return theDecayTable;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetDecayTable(G4DecayTable* aDecayTable)
|
||||
{
|
||||
theDecayTable = aDecayTable;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetApplyCutsFlag(G4bool flag)
|
||||
{
|
||||
fApplyCutsFlag = flag;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4ParticleDefinition::GetApplyCutsFlag() const
|
||||
{
|
||||
return fApplyCutsFlag;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetVerboseLevel(G4int value)
|
||||
{
|
||||
verboseLevel = value;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetVerboseLevel() const
|
||||
{
|
||||
return verboseLevel;
|
||||
}
|
||||
|
||||
inline
|
||||
G4ProcessManager* G4ParticleDefinition::GetProcessManager() const
|
||||
{
|
||||
return theProcessManager;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetProcessManager(G4ProcessManager *aProcessManager)
|
||||
{
|
||||
theProcessManager = aProcessManager;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetQuarkContent(G4int flavor) const
|
||||
{
|
||||
if ((flavor>0) && (flavor<NumberOfQuarkFlavor)){
|
||||
return theQuarkContent[flavor-1];
|
||||
}else {
|
||||
if (verboseLevel >0) {
|
||||
G4cout << "Invalid Quark Flavor for G4ParticleDefinition::GetQuarkContent";
|
||||
G4cout << ": flavor=" << flavor <<G4endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetAntiQuarkContent(G4int flavor) const
|
||||
{
|
||||
if ((flavor>0) && (flavor<NumberOfQuarkFlavor)){
|
||||
return theAntiQuarkContent[flavor-1];
|
||||
}else {
|
||||
if (verboseLevel >0) {
|
||||
G4cout <<"Invalid Quark Flavor for G4ParticleDefinition::GetAntiQuarkContent";
|
||||
G4cout << ": flavor=" << flavor <<G4endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
inline void G4ParticleDefinition::SetParticleSubType(const G4String& subtype)
|
||||
{
|
||||
theParticleSubType = subtype;
|
||||
}
|
||||
|
||||
inline void G4ParticleDefinition::ResetCuts(){}
|
||||
|
||||
inline void G4ParticleDefinition::SetCuts(G4double ){}
|
||||
|
||||
inline void G4ParticleDefinition::ReCalcCuts(){}
|
||||
|
||||
inline G4double G4ParticleDefinition::GetLengthCuts() const {return -1.0;}
|
||||
|
||||
inline G4double* G4ParticleDefinition::GetEnergyCuts() const {return 0;}
|
||||
|
||||
inline G4double G4ParticleDefinition::GetEnergyThreshold(const G4Material* ) const
|
||||
{
|
||||
return -1.0 * eV;
|
||||
}
|
||||
|
||||
inline void G4ParticleDefinition::SetAntiPDGEncoding(G4int aEncoding)
|
||||
{
|
||||
theAntiPDGEncoding = aEncoding;
|
||||
}
|
||||
#include "G4ParticleDefinition.icc"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * 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: G4ParticleDefinition.icc,v 1.1 2001/10/15 09:58:31 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
|
||||
inline
|
||||
G4ParticleTable* G4ParticleDefinition::GetParticleTable()
|
||||
{
|
||||
return theParticleTable;
|
||||
}
|
||||
|
||||
inline
|
||||
G4DecayTable* G4ParticleDefinition::GetDecayTable()
|
||||
{
|
||||
return theDecayTable;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetDecayTable(G4DecayTable* aDecayTable)
|
||||
{
|
||||
theDecayTable = aDecayTable;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetApplyCutsFlag(G4bool flag)
|
||||
{
|
||||
fApplyCutsFlag = flag;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4ParticleDefinition::GetApplyCutsFlag() const
|
||||
{
|
||||
return fApplyCutsFlag;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetVerboseLevel(G4int value)
|
||||
{
|
||||
verboseLevel = value;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetVerboseLevel() const
|
||||
{
|
||||
return verboseLevel;
|
||||
}
|
||||
|
||||
inline
|
||||
G4ProcessManager* G4ParticleDefinition::GetProcessManager() const
|
||||
{
|
||||
return theProcessManager;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetProcessManager(G4ProcessManager *aProcessManager)
|
||||
{
|
||||
theProcessManager = aProcessManager;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetQuarkContent(G4int flavor) const
|
||||
{
|
||||
if ((flavor>0) && (flavor<NumberOfQuarkFlavor)){
|
||||
return theQuarkContent[flavor-1];
|
||||
}else {
|
||||
if (verboseLevel >0) {
|
||||
G4cout << "Invalid Quark Flavor for G4ParticleDefinition::GetQuarkContent";
|
||||
G4cout << ": flavor=" << flavor <<G4endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetAntiQuarkContent(G4int flavor) const
|
||||
{
|
||||
if ((flavor>0) && (flavor<NumberOfQuarkFlavor)){
|
||||
return theAntiQuarkContent[flavor-1];
|
||||
}else {
|
||||
if (verboseLevel >0) {
|
||||
G4cout <<"Invalid Quark Flavor for G4ParticleDefinition::GetAntiQuarkContent";
|
||||
G4cout << ": flavor=" << flavor <<G4endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetParticleSubType(const G4String& subtype)
|
||||
{
|
||||
theParticleSubType = subtype;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::ResetCuts(){}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetCuts(G4double ){}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetRangeCut(G4double, const G4Material*){}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetRangeCutVector(G4std::vector<G4double>&){}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::ReCalcCuts(){}
|
||||
|
||||
inline
|
||||
G4double* G4ParticleDefinition::GetLengthCuts() const {return 0;}
|
||||
|
||||
inline
|
||||
G4double G4ParticleDefinition::GetRangeThreshold(const G4Material* ) const
|
||||
{
|
||||
return -1.0 * mm;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double* G4ParticleDefinition::GetEnergyCuts() const {return 0;}
|
||||
|
||||
inline
|
||||
G4double G4ParticleDefinition::GetEnergyThreshold(const G4Material* ) const
|
||||
{
|
||||
return -1.0 * eV;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleDefinition::SetAntiPDGEncoding(G4int aEncoding)
|
||||
{
|
||||
theAntiPDGEncoding = aEncoding;
|
||||
}
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleMessenger.hh,v 1.4.4.1 2001/06/28 19:11:05 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleMessenger.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleMomentum.hh,v 1.4.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleMomentum.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticlePropertyMessenger.hh,v 1.4.4.1 2001/06/28 19:11:05 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticlePropertyMessenger.hh,v 1.5 2001/07/11 10:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleTable.hh,v 1.14.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleTable.hh,v 1.15 2001/07/11 10:01:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleTable.icc,v 1.7.4.1 2001/06/28 19:11:06 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleTable.icc,v 1.8 2001/07/11 10:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleTableIterator.hh,v 1.4.4.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleTableIterator.hh,v 1.5 2001/07/11 10:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,25 +21,20 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleWithCuts.hh,v 1.7.2.2 2001/06/28 20:19:09 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleWithCuts.hh,v 1.14 2001/10/30 20:08:46 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, based on object model of
|
||||
// Hisaya Kurashige, 21 Oct 1996
|
||||
// Calculation of Range Table is based on
|
||||
// implementeation for Muon by L.Urban, 10 May 1996
|
||||
// ----------------------------------------------------------------
|
||||
// modified by Hisaya Kurashige, 04 Jan 1997
|
||||
// added verboseLevel by Hisaya Kurashige 13 Nov 1997
|
||||
// added ReCalcCuts() and ResetCuts H.Kurashige 15 Nov.1996
|
||||
// BuildPhysicsTable() becomes dummy H.Kurashige 06 June 1998
|
||||
// added GetEnergyThreshold H.Kurashige 08 June 1998
|
||||
// change Lowest/HighestEnergy as static H.Kurashige 18 June 1998
|
||||
// added RestoreCuts H.Kurashige 09 Mar. 2001
|
||||
// History:
|
||||
// first implementation, based on object model of Hisaya Kurashige,
|
||||
// 21 Oct 1996
|
||||
// calculation of Range Table is based on implementeation for Muon
|
||||
// by L.Urban, 10 May 1996
|
||||
// added RestoreCuts H.Kurashige 09 Mar. 2001
|
||||
// introduced material dependent range cuts 08 Sep. 2001
|
||||
// ----------------------------------------------------------------
|
||||
// Class Description
|
||||
// "theCutInMaxInteractionLength", for charged particles, is
|
||||
@@ -53,25 +48,30 @@
|
||||
// Sets the cuts values relative to this particle type in stopping
|
||||
// range (or absorption length) and converts those cuts into energy cuts
|
||||
// for all the materials defined in the Material table.
|
||||
// [in protected method of CalcEnergyCuts(G4double aCut) ;
|
||||
// It also triggers the recomputation of the physics tables of the
|
||||
// void SetRangeCut(G4double aCut, const G4Material*):
|
||||
// Set a cut value in range for the specified material and converts
|
||||
// it into an energy cut.
|
||||
// void ReCalcCuts():
|
||||
// Re calculate energy cut values with the previous cut value in range
|
||||
// void ResetCuts():
|
||||
// Reset alll cut values in energy, though theCutInMaxInteractionLength
|
||||
// remains unchanged
|
||||
// G4double GetCuts():
|
||||
// Returns value of the cut in interaction length for all the
|
||||
// processes of this particle type.
|
||||
// const G4double* GetCutsInEnergy();
|
||||
// Returns vector of energy cuts (ordered per material)
|
||||
// corresponding to the current stopping range or absorption length
|
||||
// const G4double* GetLengthCuts():
|
||||
// Returns an array of cuts in range (ordered per material)
|
||||
// G4double GetRangeThreshold(const G4Material* ) const:
|
||||
// Returns a range cut for a material
|
||||
// const G4double* GetEnergyCuts():
|
||||
// Returns an array of energy cuts (ordered per material)
|
||||
// G4double GetEnergyThreshold(const G4Material* ) const:
|
||||
// Returns a energy cut for a material
|
||||
//
|
||||
|
||||
#ifndef G4ParticleWithCuts_h
|
||||
#define G4ParticleWithCuts_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "g4std/vector"
|
||||
#include "G4ios.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
|
||||
@@ -106,38 +106,72 @@ class G4ParticleWithCuts : public G4ParticleDefinition
|
||||
|
||||
//--------------for SetCuts-------------------------------------------
|
||||
protected:
|
||||
G4double theCutInMaxInteractionLength;
|
||||
G4double* theKineticEnergyCuts;
|
||||
G4double* theCutInMaxInteractionLength;
|
||||
G4double* theKineticEnergyCuts;
|
||||
|
||||
public: // With Description
|
||||
// G4ParticleWithCuts
|
||||
// virtual methods derived from G4ParticleDefinition
|
||||
virtual void ResetCuts();
|
||||
// Reset alll cut values in energy
|
||||
// but theCutInMaxInteractionLength remain unchanged
|
||||
virtual void ReCalcCuts();
|
||||
// Set cut values in energy derived from theCutInMaxInteractionLength
|
||||
virtual void SetCuts(G4double aCut);
|
||||
// Set cut values in energy derived from the cut range of aCut
|
||||
|
||||
virtual G4double GetLengthCuts() const;
|
||||
virtual G4double* GetEnergyCuts() const;
|
||||
|
||||
virtual G4double GetEnergyThreshold(const G4Material* aMaterial) const;
|
||||
static void SetEnergyRange(G4double, G4double);
|
||||
// Set Cuts methods
|
||||
virtual void SetCuts(G4double aCut);
|
||||
// Set the range of aCut for all materials
|
||||
virtual void SetRangeCut(G4double aCut, const G4Material*);
|
||||
// Set the cut range of aCut for a material
|
||||
virtual void SetRangeCutVector(G4std::vector<G4double>&);
|
||||
// Set the vector of range cuts for all material
|
||||
|
||||
// Get cuts methods
|
||||
virtual G4double* GetLengthCuts() const;
|
||||
// Get an array of range cuts for all materials
|
||||
virtual G4double GetRangeThreshold(const G4Material* ) const;
|
||||
// Get a range cut for a material
|
||||
virtual G4double* GetEnergyCuts() const;
|
||||
// Get an array of energy cuts for all materials
|
||||
virtual G4double GetEnergyThreshold(const G4Material* ) const;
|
||||
// Get a energy cut for a material
|
||||
|
||||
// Other methods related with cuts
|
||||
virtual void ResetCuts();
|
||||
// Reset alll cut values in energy
|
||||
// but theCutInMaxInteractionLength remain unchanged
|
||||
virtual void ReCalcCuts();
|
||||
// Set cut values in energy derived from theCutInMaxInteractionLength
|
||||
|
||||
// set energy range
|
||||
static void SetEnergyRange(G4double lowedge, G4double highedge) ;
|
||||
|
||||
public: // With Description
|
||||
// This method concerning cut values is supposed to be used by
|
||||
// G4VUserPhysicsList to restore cutvalues witout calculation
|
||||
|
||||
virtual void RestoreCuts(G4double cutInLength,
|
||||
virtual void RestoreCuts(const G4double* cutInLength,
|
||||
const G4double* cutInEnergy );
|
||||
|
||||
protected:
|
||||
virtual void CalcEnergyCuts(G4double aCut);
|
||||
void SetCutInMaxInteractionLength(G4double aCut);
|
||||
// Set a value of theCutInMaxInteractionLength for all materials
|
||||
void SetCutInMaxInteractionLength(G4double aCut , G4int matrialIndex);
|
||||
// Set a value of theCutInMaxInteractionLength for a material
|
||||
void SetCutInMaxInteractionLength(G4double aCut ,
|
||||
const G4Material* aMaterial);
|
||||
// Set a value of theCutInMaxInteractionLength for a material
|
||||
void SetEnergyCutValues(G4double energyCuts);
|
||||
// Set a energy cut value for all materials
|
||||
|
||||
virtual void CalcEnergyCuts(const G4Material* material=0);
|
||||
// Calculate energy cut values by using range cuts
|
||||
|
||||
// BuildPhysicsTable is defined as a dummy routine
|
||||
void BuildPhysicsTable() {};
|
||||
|
||||
protected:
|
||||
// cut values for proton is used for all heavy charged particles
|
||||
static G4ParticleDefinition* theProton;
|
||||
G4bool UseProtonCut();
|
||||
|
||||
G4bool CheckEnergyBinSetting() const;
|
||||
|
||||
//-------------- Loss Table ------------------------------------------
|
||||
// theLossTable is a collection of loss vectors for all elements.
|
||||
// Each loss vector has energy loss values (cross section values
|
||||
@@ -158,8 +192,9 @@ class G4ParticleWithCuts : public G4ParticleDefinition
|
||||
virtual G4double ComputeLoss(G4double AtomicNumber,
|
||||
G4double KineticEnergy
|
||||
) const;
|
||||
|
||||
//-------------- Range Table ------------------------------------------
|
||||
protected:
|
||||
protected:
|
||||
typedef G4PhysicsLogVector G4RangeVector;
|
||||
virtual void BuildRangeVector(const G4Material* aMaterial,
|
||||
const G4LossTable* aLossTable,
|
||||
@@ -169,8 +204,9 @@ class G4ParticleWithCuts : public G4ParticleDefinition
|
||||
|
||||
protected:
|
||||
G4double ConvertCutToKineticEnergy(
|
||||
G4RangeVector* theRangeVector
|
||||
) const;
|
||||
G4RangeVector* theRangeVector,
|
||||
size_t materialIndex
|
||||
) const;
|
||||
|
||||
static G4double RangeLinSimpson(
|
||||
const G4ElementVector* elementVector,
|
||||
@@ -188,16 +224,17 @@ class G4ParticleWithCuts : public G4ParticleDefinition
|
||||
G4double ltaulow, G4double ltauhigh,
|
||||
G4int nbin, G4int NumEl
|
||||
);
|
||||
|
||||
};
|
||||
|
||||
inline G4double G4ParticleWithCuts::GetLengthCuts() const
|
||||
inline G4double* G4ParticleWithCuts::GetLengthCuts() const
|
||||
{
|
||||
return theCutInMaxInteractionLength;
|
||||
return theCutInMaxInteractionLength;
|
||||
}
|
||||
|
||||
inline G4double* G4ParticleWithCuts::GetEnergyCuts() const
|
||||
inline G4double* G4ParticleWithCuts::GetEnergyCuts() const
|
||||
{
|
||||
return theKineticEnergyCuts;
|
||||
return theKineticEnergyCuts;
|
||||
}
|
||||
|
||||
inline void G4ParticleWithCuts::ResetCuts()
|
||||
@@ -208,8 +245,8 @@ inline void G4ParticleWithCuts::ResetCuts()
|
||||
|
||||
inline void G4ParticleWithCuts::ReCalcCuts()
|
||||
{
|
||||
if (theCutInMaxInteractionLength>0.0) {
|
||||
CalcEnergyCuts(theCutInMaxInteractionLength);
|
||||
if (theCutInMaxInteractionLength != 0) {
|
||||
CalcEnergyCuts();
|
||||
} else {
|
||||
if (GetVerboseLevel()>0) {
|
||||
G4cout << "G4ParticleWithCuts::ReCalcCuts() :";
|
||||
@@ -218,18 +255,6 @@ inline void G4ParticleWithCuts::ReCalcCuts()
|
||||
}
|
||||
}
|
||||
|
||||
inline void G4ParticleWithCuts::SetCuts(G4double aCut)
|
||||
{
|
||||
CalcEnergyCuts(aCut);
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleWithCuts::SetEnergyRange(G4double lowedge, G4double highedge)
|
||||
{
|
||||
LowestEnergy = lowedge;
|
||||
HighestEnergy = highedge;
|
||||
}
|
||||
|
||||
#include "G4Material.hh"
|
||||
|
||||
inline
|
||||
@@ -237,6 +262,14 @@ inline
|
||||
{
|
||||
return theKineticEnergyCuts[aMaterial->GetIndex()];
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4ParticleWithCuts::GetRangeThreshold(const G4Material* aMaterial) const
|
||||
{
|
||||
return theCutInMaxInteractionLength[aMaterial->GetIndex()];
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PhaseSpaceDecayChannel.hh,v 1.3.4.2 2001/06/28 20:19:10 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PhaseSpaceDecayChannel.hh,v 1.5 2001/10/15 09:58:31 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -69,13 +69,5 @@ class G4PhaseSpaceDecayChannel :public G4VDecayChannel
|
||||
G4DecayProducts *ManyBodyDecayIt();
|
||||
};
|
||||
|
||||
inline
|
||||
G4double G4PhaseSpaceDecayChannel::Pmx(G4double e, G4double p1, G4double p2)
|
||||
{
|
||||
// calcurate momentum of daughter particles in two-body decay
|
||||
G4double ppp = (e+p1+p2)*(e+p1-p2)*(e-p1+p2)*(e-p1-p2)/(4.0*e*e);
|
||||
if (ppp>0) return sqrt(ppp);
|
||||
else return -1.;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ShortLivedTable.hh,v 1.9.4.2 2001/06/28 20:19:10 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ShortLivedTable.hh,v 1.10 2001/07/11 10:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDecayChannel.hh,v 1.8.2.2 2001/06/28 20:19:10 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VDecayChannel.hh,v 1.9 2001/07/11 10:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VIsotopeTable.hh,v 1.4.2.2 2001/06/28 20:19:10 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VIsotopeTable.hh,v 1.5 2001/07/11 10:01:58 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user