Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BEChargedChannel_h
|
||||
#define G4BEChargedChannel_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4BertiniEvaporationChannel.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
class G4BEChargedChannel : public G4BertiniEvaporationChannel
|
||||
{
|
||||
public:
|
||||
G4BEChargedChannel();
|
||||
virtual ~G4BEChargedChannel();
|
||||
|
||||
virtual void calculateProbability();
|
||||
virtual G4DynamicParticle * emit() = 0;
|
||||
virtual G4double coulombFactor() = 0;
|
||||
G4double coulombFactorForProton();
|
||||
G4double qmFactorForProton();
|
||||
G4double qmFactorForAlpha();
|
||||
G4double sampleKineticEnergy();
|
||||
|
||||
protected:
|
||||
G4double A;
|
||||
G4double spin;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BEDeuteronChannel_h
|
||||
#define G4BEDeuteronChannel_h 1
|
||||
|
||||
#include "G4BEChargedChannel.hh"
|
||||
|
||||
class G4BEDeuteronChannel : public G4BEChargedChannel
|
||||
{
|
||||
public:
|
||||
G4BEDeuteronChannel();
|
||||
virtual ~G4BEDeuteronChannel();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double constant();
|
||||
virtual G4double coulombFactor();
|
||||
virtual G4double qmFactor( );
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BEGammaDeexcitation_h
|
||||
#define G4BEGammaDeexcitation_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class G4BEGammaDeexcitation
|
||||
{
|
||||
public:
|
||||
G4BEGammaDeexcitation();
|
||||
virtual ~G4BEGammaDeexcitation();
|
||||
|
||||
void setVerboseLevel( G4int verbose );
|
||||
|
||||
void setNucleusA( G4int inputA );
|
||||
void setNucleusZ( G4int inputZ );
|
||||
void setExcitationEnergy( G4double inputE );
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
|
||||
private:
|
||||
G4double sampleKineticEnergy();
|
||||
G4int verboseLevel;
|
||||
G4int nucleusA;
|
||||
G4int nucleusZ;
|
||||
G4double excitationEnergy;
|
||||
void isotropicCosines( G4double&,
|
||||
G4double&,
|
||||
G4double& );
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BEHe3Channel_h
|
||||
#define G4BEHe3Channel_h 1
|
||||
|
||||
#include "G4BEChargedChannel.hh"
|
||||
|
||||
class G4BEHe3Channel : public G4BEChargedChannel
|
||||
{
|
||||
public:
|
||||
G4BEHe3Channel();
|
||||
virtual ~G4BEHe3Channel();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double constant();
|
||||
virtual G4double coulombFactor();
|
||||
virtual G4double qmFactor( );
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BEHe4Channel_h
|
||||
#define G4BEHe4Channel_h 1
|
||||
|
||||
#include "G4BEChargedChannel.hh"
|
||||
|
||||
class G4BEHe4Channel : public G4BEChargedChannel
|
||||
{
|
||||
public:
|
||||
G4BEHe4Channel();
|
||||
virtual ~G4BEHe4Channel();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double constant();
|
||||
virtual G4double coulombFactor();
|
||||
virtual G4double qmFactor( );
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,50 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BENeutronChannel_h
|
||||
#define G4BENeutronChannel_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4BertiniEvaporationChannel.hh"
|
||||
|
||||
class G4BENeutronChannel : public G4BertiniEvaporationChannel
|
||||
{
|
||||
public:
|
||||
G4BENeutronChannel();
|
||||
virtual ~G4BENeutronChannel();
|
||||
|
||||
virtual void calculateProbability();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double sampleKineticEnergy();
|
||||
|
||||
private:
|
||||
G4double alpha();
|
||||
G4double beta();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, 30-May-2000
|
||||
|
||||
#ifndef G4BEProtonChannel_h
|
||||
#define G4BEProtonChannel_h 1
|
||||
|
||||
#include "G4BEChargedChannel.hh"
|
||||
|
||||
class G4BEProtonChannel : public G4BEChargedChannel
|
||||
{
|
||||
public:
|
||||
G4BEProtonChannel();
|
||||
virtual ~G4BEProtonChannel();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double constant();
|
||||
virtual G4double coulombFactor();
|
||||
virtual G4double qmFactor( );
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BETritonChannel_h
|
||||
#define G4BETritonChannel_h 1
|
||||
|
||||
#include "G4BEChargedChannel.hh"
|
||||
|
||||
class G4BETritonChannel : public G4BEChargedChannel
|
||||
{
|
||||
public:
|
||||
G4BETritonChannel();
|
||||
virtual ~G4BETritonChannel();
|
||||
|
||||
G4DynamicParticle * emit();
|
||||
G4double constant();
|
||||
virtual G4double coulombFactor();
|
||||
virtual G4double qmFactor( );
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BertiniEvaporation_h
|
||||
#define G4BertiniEvaporation_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4LayeredNucleus.hh"
|
||||
#include "G4BertiniEvaporationChannel.hh"
|
||||
#include "G4ParticleChange.hh"
|
||||
#include "G4VEvaporation.hh"
|
||||
|
||||
|
||||
class G4BertiniEvaporation : public G4VEvaporation
|
||||
{
|
||||
|
||||
public:
|
||||
G4BertiniEvaporation();
|
||||
~G4BertiniEvaporation();
|
||||
|
||||
virtual G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
|
||||
{
|
||||
G4LayeredNucleus aNuc( theNucleus.GetA(), theNucleus.GetZ() );
|
||||
aNuc.AddExcitationEnergy(theNucleus.GetExcitationEnergy());
|
||||
return BreakItUp(aNuc);
|
||||
}
|
||||
G4FragmentVector * BreakItUp( G4LayeredNucleus & nucleus);
|
||||
void setVerboseLevel( const G4int verbose );
|
||||
|
||||
private:
|
||||
G4int verboseLevel;
|
||||
G4std::vector< G4BertiniEvaporationChannel * > channelVector;
|
||||
void fillResult( G4std::vector< G4DynamicParticle * > secondaryParticleVector,
|
||||
G4FragmentVector * aResult );
|
||||
void splitBe8( const G4double E,
|
||||
const G4ThreeVector boost,
|
||||
G4std::vector< G4DynamicParticle * > & secondaryParticleVector);
|
||||
void isotropicCosines( G4double & u, G4double & v,G4double & w );
|
||||
};
|
||||
|
||||
#endif
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 *
|
||||
// * authors in 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// Implementation of the HETC88 code into Geant4.
|
||||
// Evaporation and De-excitation parts
|
||||
// T. Lampen, Helsinki Institute of Physics, May-2000
|
||||
|
||||
#ifndef G4BertiniEvaporationChannel_h
|
||||
#define G4BertiniEvaporationChannel_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
|
||||
class G4BertiniEvaporationChannel
|
||||
{
|
||||
public:
|
||||
G4BertiniEvaporationChannel();
|
||||
virtual ~G4BertiniEvaporationChannel();
|
||||
|
||||
void setVerboseLevel( G4int verbose );
|
||||
void setNucleusA( G4int inputA );
|
||||
void setNucleusZ( G4int inputZ );
|
||||
G4int getParticleA();
|
||||
G4int getParticleZ();
|
||||
void setExcitationEnergy( G4double inputE );
|
||||
void setQ( G4double inputQ );
|
||||
void setPairingCorrection( G4int isCorrection );
|
||||
G4double getLevelDensityParameter();
|
||||
G4String getName();
|
||||
|
||||
virtual G4double getProbability() ;
|
||||
virtual void setProbability( G4double newProb ) ;
|
||||
virtual void calculateProbability() = 0 ;
|
||||
virtual G4double qmFactor ();
|
||||
virtual G4double getQ();
|
||||
virtual G4double getCoulomb();
|
||||
virtual G4double getThresh();
|
||||
|
||||
virtual G4DynamicParticle* emit() = 0;
|
||||
|
||||
protected:
|
||||
G4String name;
|
||||
G4int verboseLevel;
|
||||
G4int nucleusA;
|
||||
G4int nucleusZ;
|
||||
G4int particleA;
|
||||
G4int particleZ;
|
||||
G4double exmass;
|
||||
G4double emissionProbability;
|
||||
G4double rho;
|
||||
G4double correction;
|
||||
G4double excitationEnergy;
|
||||
// G4int massInNeutronMasses;
|
||||
G4int spin;
|
||||
G4double Q( G4double a, G4double z );
|
||||
G4double pairingEnergyProtons( G4int A );
|
||||
G4double pairingEnergyNeutrons( G4int N );
|
||||
G4double cameron( G4double a, G4double z );
|
||||
G4double cameronShellCorrectionP( G4int Z );
|
||||
G4double cameronShellCorrectionN( G4int N );
|
||||
void isotropicCosines( G4double&,
|
||||
G4double&,
|
||||
G4double& );
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user