ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4CascadeDeexciteBase.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4CascadeDeexciteBase.hh
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
#ifndef G4CASCADE_DEEXCITE_BASE_HH
27
#define G4CASCADE_DEEXCITE_BASE_HH 1
28
//
29
// Semi-concrete base class for de-excitation modules, analogous to
30
// G4CascadeColliderBase.
31
//
32
// 20130628 M.Kelsey -- Add makeFragment() with zero momentum
33
34
#include "
G4VCascadeDeexcitation.hh
"
35
#include "
G4InuclElementaryParticle.hh
"
36
#include "
G4InuclNuclei.hh
"
37
#include "
G4LorentzVector.hh
"
38
#include <vector>
39
40
class
G4CascadeCheckBalance
;
41
class
G4Fragment
;
42
43
44
class
G4CascadeDeexciteBase
:
public
G4VCascadeDeexcitation
{
45
public
:
46
G4CascadeDeexciteBase
(
const
char
*
name
);
47
virtual
~G4CascadeDeexciteBase
();
48
49
virtual
void
setVerboseLevel
(
G4int
verbose=0);
50
51
protected
:
52
// Decide whether to use G4BigBanger or not
53
virtual
G4bool
explosion
(
const
G4Fragment
&
target
)
const
;
54
virtual
G4bool
explosion
(
G4int
A
,
G4int
Z
,
G4double
excitation)
const
;
55
56
protected
:
57
G4CascadeCheckBalance
*
balance
;
// For conservation checking
58
59
// ==> Provide interfaces to G4CascadeCheckBalance
60
virtual
G4bool
validateOutput
(
const
G4Fragment
& target,
61
G4CollisionOutput
& output);
62
63
// This is for use with G4BigBanger
64
virtual
G4bool
validateOutput
(
const
G4Fragment
& target,
65
const
std::vector<G4InuclElementaryParticle>& particles);
66
67
// This is for use with G4Fissioner
68
virtual
G4bool
validateOutput
(
const
G4Fragment
& target,
69
const
std::vector<G4InuclNuclei>& fragments);
70
71
// Interfaces between local content and G4Fragment
72
void
getTargetData
(
const
G4Fragment
& target);
73
G4int
A
;
// Buffers to collect target data for all modules
74
G4int
Z
;
75
G4LorentzVector
PEX
;
// Four momentum of recoil in Bertini units (GeV)
76
G4double
EEXS
;
// Excitation energy in MeV
77
78
// NOTE: Momentum passed by value so that energy/mass can be adjusted
79
const
G4Fragment
&
makeFragment
(
G4LorentzVector
mom
,
G4int
A,
G4int
Z,
80
G4double
EX=0.);
81
const
G4Fragment
&
makeFragment
(
G4int
A,
G4int
Z,
G4double
EX=0.);
82
G4Fragment
aFragment
;
// Reusable buffer to reduce new/delete cycling
83
84
private
:
85
// Copying of modules is forbidden
86
G4CascadeDeexciteBase
(
const
G4CascadeDeexciteBase
&);
87
G4CascadeDeexciteBase
&
operator=
(
const
G4CascadeDeexciteBase
&);
88
};
89
90
#endif
/* G4CASCADE_DEEXCITE_BASE_HH */
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
cascade
cascade
include
G4CascadeDeexciteBase.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:39
using
1.8.2 with
ECCE GitHub integration