Geant4
11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4PreCompoundEmissionInt.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
// GEANT4 Class header file
27
//
28
// File name: G4PreCompoundEmissionInt
29
//
30
// Author: V.Ivantchenko, 25 January 2025
31
//
32
// Class Description:
33
// Model implementation for pre-equilibrium emission of a light fragment
34
// from an excited nucleus. It is an alternative to the default model.
35
//
36
37
#ifndef G4PreCompoundEmissionInt_h
38
#define G4PreCompoundEmissionInt_h 1
39
40
#include "
G4VPreCompoundFragment.hh
"
41
#include "
G4ReactionProduct.hh
"
42
#include "
G4Fragment.hh
"
43
#include "
G4PreCompoundFragmentVector.hh
"
44
45
class
G4VPreCompoundEmissionFactory
;
46
class
G4Pow
;
47
class
G4NuclearLevelData
;
48
49
class
G4PreCompoundEmissionInt
50
{
51
public
:
52
53
explicit
G4PreCompoundEmissionInt
(
G4int
verb);
54
55
~G4PreCompoundEmissionInt
();
56
57
void
SetDefaultModel
();
58
59
void
SetHETCModel
();
60
61
G4ReactionProduct
*
PerformEmission
(
G4Fragment
& aFragment);
62
63
inline
G4double
GetTotalProbability
(
const
G4Fragment
& aFragment);
64
65
inline
void
SetOPTxs
(
G4int
);
66
67
inline
void
UseSICB
(
G4bool
);
68
69
G4PreCompoundEmissionInt
(
const
G4PreCompoundEmissionInt
& right) =
delete
;
70
const
G4PreCompoundEmissionInt
&
operator
=
71
(
const
G4PreCompoundEmissionInt
& right) =
delete
;
72
G4bool
operator==
(
const
G4PreCompoundEmissionInt
& right)
const
=
delete
;
73
G4bool
operator!=
(
const
G4PreCompoundEmissionInt
& right)
const
=
delete
;
74
75
private
:
76
77
void
AngularDistribution(
G4VPreCompoundFragment
* theFragment,
78
const
G4Fragment
& aFragment,
79
G4double
kineticEnergy);
80
81
G4double
rho(
G4int
p,
G4int
h,
G4double
gg,
82
G4double
E,
G4double
Ef)
const
;
83
84
G4Pow
* g4calc;
85
G4NuclearLevelData
* fNuclData;
86
87
G4PreCompoundFragmentVector
* theFragmentsVector{
nullptr
};
88
G4VPreCompoundEmissionFactory
* theFragmentsFactory{
nullptr
};
89
90
// Momentum of emitted fragment
91
G4ThreeVector
theFinalMomentum;
92
G4double
fFermiEnergy;
93
94
G4bool
fUseAngularGenerator;
95
96
G4int
fModelID;
97
G4int
fVerbose;
98
};
99
100
inline
G4double
101
G4PreCompoundEmissionInt::GetTotalProbability
(
const
G4Fragment
& aFragment)
102
{
103
return
theFragmentsVector->CalculateProbabilities(aFragment);
104
}
105
106
inline
void
G4PreCompoundEmissionInt::SetOPTxs
(
G4int
opt)
107
{
108
theFragmentsVector->SetOPTxs(opt);
109
}
110
111
inline
void
G4PreCompoundEmissionInt::UseSICB
(
G4bool
use)
112
{
113
theFragmentsVector->UseSICB(use);
114
}
115
116
#endif
G4Fragment.hh
G4PreCompoundFragmentVector.hh
G4ReactionProduct.hh
G4ThreeVector
CLHEP::Hep3Vector G4ThreeVector
Definition
G4ThreeVector.hh:36
G4double
double G4double
Definition
G4Types.hh:83
G4bool
bool G4bool
Definition
G4Types.hh:86
G4int
int G4int
Definition
G4Types.hh:85
G4VPreCompoundFragment.hh
G4Fragment
Definition
G4Fragment.hh:68
G4NuclearLevelData
Definition
G4NuclearLevelData.hh:60
G4Pow
Definition
G4Pow.hh:49
G4PreCompoundEmissionInt::operator==
G4bool operator==(const G4PreCompoundEmissionInt &right) const =delete
G4PreCompoundEmissionInt::G4PreCompoundEmissionInt
G4PreCompoundEmissionInt(const G4PreCompoundEmissionInt &right)=delete
G4PreCompoundEmissionInt::SetHETCModel
void SetHETCModel()
Definition
G4PreCompoundEmissionInt.cc:80
G4PreCompoundEmissionInt::GetTotalProbability
G4double GetTotalProbability(const G4Fragment &aFragment)
Definition
G4PreCompoundEmissionInt.hh:101
G4PreCompoundEmissionInt::G4PreCompoundEmissionInt
G4PreCompoundEmissionInt(G4int verb)
Definition
G4PreCompoundEmissionInt.cc:48
G4PreCompoundEmissionInt::operator!=
G4bool operator!=(const G4PreCompoundEmissionInt &right) const =delete
G4PreCompoundEmissionInt::UseSICB
void UseSICB(G4bool)
Definition
G4PreCompoundEmissionInt.hh:111
G4PreCompoundEmissionInt::SetDefaultModel
void SetDefaultModel()
Definition
G4PreCompoundEmissionInt.cc:68
G4PreCompoundEmissionInt::SetOPTxs
void SetOPTxs(G4int)
Definition
G4PreCompoundEmissionInt.hh:106
G4PreCompoundEmissionInt::PerformEmission
G4ReactionProduct * PerformEmission(G4Fragment &aFragment)
Definition
G4PreCompoundEmissionInt.cc:93
G4PreCompoundEmissionInt::~G4PreCompoundEmissionInt
~G4PreCompoundEmissionInt()
Definition
G4PreCompoundEmissionInt.cc:62
G4PreCompoundFragmentVector
Definition
G4PreCompoundFragmentVector.hh:52
G4ReactionProduct
Definition
G4ReactionProduct.hh:54
G4VPreCompoundEmissionFactory
Definition
G4VPreCompoundEmissionFactory.hh:37
G4VPreCompoundFragment
Definition
G4VPreCompoundFragment.hh:58
geant4-v11.4.0
source
processes
hadronic
models
pre_equilibrium
exciton_model
include
G4PreCompoundEmissionInt.hh
Generated by
1.16.1