Import Geant4 11.4.0 source tree
This commit is contained in:
@@ -34,10 +34,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include <cmath>
|
||||
#include <vector>
|
||||
|
||||
|
||||
constexpr const G4int nrows = 180;
|
||||
constexpr const G4int zcols = 122;
|
||||
|
||||
@@ -51,219 +51,232 @@ constexpr const G4int indexpart = 300;
|
||||
|
||||
// Data structures needed by ABLA evaporation code
|
||||
|
||||
class G4Mexp {
|
||||
class G4Mexp
|
||||
{
|
||||
public:
|
||||
G4Mexp() {};
|
||||
|
||||
public:
|
||||
G4Mexp(){};
|
||||
~G4Mexp() = default;
|
||||
|
||||
virtual ~G4Mexp() = default;
|
||||
|
||||
G4double massexp[lprows][lpcols] = {{0.}};
|
||||
G4double bind[lprows][lpcols] = {{0.}};
|
||||
G4int mexpiop[lprows][lpcols] = {{0}};
|
||||
G4double massexp[lprows][lpcols] = {{0.}};
|
||||
G4double bind[lprows][lpcols] = {{0.}};
|
||||
G4int mexpiop[lprows][lpcols] = {{0}};
|
||||
};
|
||||
|
||||
class G4Ec2sub {
|
||||
public:
|
||||
G4Ec2sub(){};
|
||||
class G4Ec2sub
|
||||
{
|
||||
public:
|
||||
G4Ec2sub() {};
|
||||
|
||||
virtual ~G4Ec2sub() = default;
|
||||
~G4Ec2sub() = default;
|
||||
|
||||
G4double ecnz[nrows][zcols] = {{0.}};
|
||||
G4double ecnz[nrows][zcols] = {{0.}};
|
||||
};
|
||||
|
||||
class G4Ald {
|
||||
public:
|
||||
G4Ald() : av(0.0), as(0.0), ak(0.0), optafan(0.0){};
|
||||
class G4Ald
|
||||
{
|
||||
public:
|
||||
G4Ald() : av(0.0), as(0.0), ak(0.0), optafan(0.0) {};
|
||||
|
||||
virtual ~G4Ald() = default;
|
||||
~G4Ald() = default;
|
||||
|
||||
G4double av, as, ak, optafan = 0.;
|
||||
G4double av, as, ak, optafan = 0.;
|
||||
};
|
||||
|
||||
/**
|
||||
* Shell corrections and deformations.
|
||||
**/
|
||||
|
||||
class G4Ecld {
|
||||
class G4Ecld
|
||||
{
|
||||
public:
|
||||
G4Ecld() {};
|
||||
~G4Ecld() = default;
|
||||
|
||||
public:
|
||||
G4Ecld(){};
|
||||
virtual ~G4Ecld() = default;
|
||||
/**
|
||||
* Ground state shell correction frldm for a spherical ground state.
|
||||
*/
|
||||
G4double ecgnz[nrows][zcols] = {{0.}};
|
||||
|
||||
/**
|
||||
* Ground state shell correction frldm for a spherical ground state.
|
||||
*/
|
||||
G4double ecgnz[nrows][zcols] = {{0.}};
|
||||
/**
|
||||
* Shell correction for the saddle point (now: == 0).
|
||||
*/
|
||||
G4double ecfnz[nrows][zcols] = {{0.}};
|
||||
|
||||
/**
|
||||
* Shell correction for the saddle point (now: == 0).
|
||||
*/
|
||||
G4double ecfnz[nrows][zcols] = {{0.}};
|
||||
/**
|
||||
* Difference between deformed ground state and ldm value.
|
||||
*/
|
||||
G4double vgsld[nrows][zcols] = {{0.}};
|
||||
|
||||
/**
|
||||
* Difference between deformed ground state and ldm value.
|
||||
*/
|
||||
G4double vgsld[nrows][zcols] = {{0.}};
|
||||
/**
|
||||
* Alpha ground state deformation (this is not beta2!)
|
||||
* beta2 = std::sqrt(5/(4pi)) * alpha
|
||||
*/
|
||||
G4double alpha[nrows][zcols] = {{0.}};
|
||||
|
||||
/**
|
||||
* Alpha ground state deformation (this is not beta2!)
|
||||
* beta2 = std::sqrt(5/(4pi)) * alpha
|
||||
*/
|
||||
G4double alpha[nrows][zcols] = {{0.}};
|
||||
/**
|
||||
* RMS function for lcp emission barriers
|
||||
*/
|
||||
G4double rms[nrows][zcols] = {{0.}};
|
||||
|
||||
/**
|
||||
* RMS function for lcp emission barriers
|
||||
*/
|
||||
G4double rms[nrows][zcols] = {{0.}};
|
||||
/**
|
||||
* Beta2 deformations
|
||||
*/
|
||||
G4double beta2[nrowsbeta][zcolsbeta] = {{0.}};
|
||||
|
||||
/**
|
||||
* Beta2 deformations
|
||||
*/
|
||||
G4double beta2[nrowsbeta][zcolsbeta] = {{0.}};
|
||||
|
||||
/**
|
||||
* Beta4 deformations
|
||||
*/
|
||||
G4double beta4[nrowsbeta][zcolsbeta] = {{0.}};
|
||||
/**
|
||||
* Beta4 deformations
|
||||
*/
|
||||
G4double beta4[nrowsbeta][zcolsbeta] = {{0.}};
|
||||
};
|
||||
|
||||
class G4Fiss {
|
||||
/**
|
||||
* Options and parameters for fission channel.
|
||||
*/
|
||||
class G4Fiss
|
||||
{
|
||||
/**
|
||||
* Options and parameters for fission channel.
|
||||
*/
|
||||
|
||||
public:
|
||||
G4Fiss()
|
||||
: bet(0.0), bethyp(0.0), ifis(0.0), ucr(0.0), dcr(0.0), optshp(0), optxfis(0),
|
||||
optct(0), optcol(0), at(0), zt(0){};
|
||||
public:
|
||||
G4Fiss()
|
||||
: bet(0.0),
|
||||
bethyp(0.0),
|
||||
ifis(0.0),
|
||||
ucr(0.0),
|
||||
dcr(0.0),
|
||||
optshp(0),
|
||||
optxfis(0),
|
||||
optct(0),
|
||||
optcol(0),
|
||||
at(0),
|
||||
zt(0) {};
|
||||
|
||||
virtual ~G4Fiss() = default;
|
||||
~G4Fiss() = default;
|
||||
|
||||
G4double bet, bethyp, ifis, ucr, dcr;
|
||||
G4int optshp, optxfis, optct, optcol, at, zt;
|
||||
G4double bet, bethyp, ifis, ucr, dcr;
|
||||
G4int optshp, optxfis, optct, optcol, at, zt;
|
||||
};
|
||||
|
||||
/**
|
||||
* Fission barriers.
|
||||
*/
|
||||
|
||||
class G4Fb {
|
||||
class G4Fb
|
||||
{
|
||||
public:
|
||||
G4Fb() {};
|
||||
~G4Fb() = default;
|
||||
|
||||
public:
|
||||
G4Fb(){};
|
||||
virtual ~G4Fb() = default;
|
||||
|
||||
G4double efa[nrows][zcols] = {{0.}};
|
||||
G4double efa[nrows][zcols] = {{0.}};
|
||||
};
|
||||
|
||||
/**
|
||||
* Options
|
||||
*/
|
||||
|
||||
class G4Opt {
|
||||
class G4Opt
|
||||
{
|
||||
public:
|
||||
G4Opt() : optemd(0), optcha(0), optshpimf(0), optimfallowed(0), nblan0(0) {};
|
||||
|
||||
public:
|
||||
G4Opt() : optemd(0), optcha(0), optshpimf(0), optimfallowed(0), nblan0(0){};
|
||||
|
||||
virtual ~G4Opt() = default;
|
||||
~G4Opt() = default;
|
||||
|
||||
G4int optemd, optcha, optshpimf, optimfallowed, nblan0;
|
||||
G4int optemd, optcha, optshpimf, optimfallowed, nblan0;
|
||||
};
|
||||
|
||||
class G4VarNtp {
|
||||
public:
|
||||
G4VarNtp() { clear(); };
|
||||
class G4VarNtp
|
||||
{
|
||||
public:
|
||||
G4VarNtp() { clear(); };
|
||||
|
||||
virtual ~G4VarNtp() = default;
|
||||
~G4VarNtp() = default;
|
||||
|
||||
void clear() {
|
||||
ntrack = 0;
|
||||
kfis = 0;
|
||||
itypcasc.clear();
|
||||
avv.clear();
|
||||
zvv.clear();
|
||||
svv.clear();
|
||||
enerj.clear();
|
||||
pxlab.clear();
|
||||
pylab.clear();
|
||||
pzlab.clear();
|
||||
}
|
||||
void clear()
|
||||
{
|
||||
ntrack = 0;
|
||||
kfis = 0;
|
||||
itypcasc.clear();
|
||||
avv.clear();
|
||||
zvv.clear();
|
||||
svv.clear();
|
||||
enerj.clear();
|
||||
pxlab.clear();
|
||||
pylab.clear();
|
||||
pzlab.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fission 1/0=Y/N.
|
||||
*/
|
||||
G4int kfis;
|
||||
/**
|
||||
* Fission 1/0=Y/N.
|
||||
*/
|
||||
G4int kfis;
|
||||
|
||||
/**
|
||||
* Excit energy at fis.
|
||||
*/
|
||||
G4double estfis = 0.;
|
||||
/**
|
||||
* Excit energy at fis.
|
||||
*/
|
||||
G4double estfis = 0.;
|
||||
|
||||
/**
|
||||
* Z of fiss nucleus.
|
||||
*/
|
||||
G4int izfis = 0;
|
||||
/**
|
||||
* Z of fiss nucleus.
|
||||
*/
|
||||
G4int izfis = 0;
|
||||
|
||||
/**
|
||||
* A of fiss nucleus.
|
||||
*/
|
||||
G4int iafis = 0;
|
||||
/**
|
||||
* A of fiss nucleus.
|
||||
*/
|
||||
G4int iafis = 0;
|
||||
|
||||
/**
|
||||
* Number of particles.
|
||||
*/
|
||||
G4int ntrack;
|
||||
/**
|
||||
* Number of particles.
|
||||
*/
|
||||
G4int ntrack;
|
||||
|
||||
/**
|
||||
* Does this nucleus require Fermi break-up treatment? Only
|
||||
* applicable when used together with Geant4.
|
||||
* true = do fermi break-up (and skip ABLA part)
|
||||
* false = use ABLA
|
||||
*/
|
||||
G4bool needsFermiBreakup = false;
|
||||
/**
|
||||
* Does this nucleus require Fermi break-up treatment? Only
|
||||
* applicable when used together with Geant4.
|
||||
* true = do fermi break-up (and skip ABLA part)
|
||||
* false = use ABLA
|
||||
*/
|
||||
G4bool needsFermiBreakup = false;
|
||||
|
||||
/**
|
||||
* emitted in cascade (0) or evaporation (1).
|
||||
*/
|
||||
std::vector<G4int> itypcasc;
|
||||
/**
|
||||
* emitted in cascade (0) or evaporation (1).
|
||||
*/
|
||||
std::vector<G4int> itypcasc;
|
||||
|
||||
/**
|
||||
* A (-1 for pions).
|
||||
*/
|
||||
std::vector<G4int> avv;
|
||||
/**
|
||||
* A (-1 for pions).
|
||||
*/
|
||||
std::vector<G4int> avv;
|
||||
|
||||
/**
|
||||
* Z
|
||||
*/
|
||||
std::vector<G4int> zvv;
|
||||
/**
|
||||
* Z
|
||||
*/
|
||||
std::vector<G4int> zvv;
|
||||
|
||||
/**
|
||||
* S (-1 for lambda_0).
|
||||
*/
|
||||
std::vector<G4int> svv;
|
||||
/**
|
||||
* S (-1 for lambda_0).
|
||||
*/
|
||||
std::vector<G4int> svv;
|
||||
|
||||
/**
|
||||
* Kinetic energy.
|
||||
*/
|
||||
std::vector<G4double> enerj;
|
||||
/**
|
||||
* Kinetic energy.
|
||||
*/
|
||||
std::vector<G4double> enerj;
|
||||
|
||||
/**
|
||||
* Momentum.
|
||||
*/
|
||||
std::vector<G4double> plab;
|
||||
std::vector<G4double> pxlab;
|
||||
std::vector<G4double> pylab;
|
||||
std::vector<G4double> pzlab;
|
||||
/**
|
||||
* Momentum.
|
||||
*/
|
||||
std::vector<G4double> plab;
|
||||
std::vector<G4double> pxlab;
|
||||
std::vector<G4double> pylab;
|
||||
std::vector<G4double> pzlab;
|
||||
|
||||
/**
|
||||
* Theta angle.
|
||||
*/
|
||||
std::vector<G4double> tetlab;
|
||||
|
||||
/**
|
||||
* Phi angle.
|
||||
*/
|
||||
std::vector<G4double> philab;
|
||||
/**
|
||||
* Theta angle.
|
||||
*/
|
||||
std::vector<G4double> tetlab;
|
||||
|
||||
/**
|
||||
* Phi angle.
|
||||
*/
|
||||
std::vector<G4double> philab;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user