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
G4WilsonAbrasionModel.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4WilsonAbrasionModel.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
// * *
21
// * Parts of this code which have been developed by QinetiQ Ltd *
22
// * under contract to the European Space Agency (ESA) are the *
23
// * intellectual property of ESA. Rights to use, copy, modify and *
24
// * redistribute this software for general public use are granted *
25
// * in compliance with any licensing, distribution and development *
26
// * policy adopted by the Geant4 Collaboration. This code has been *
27
// * written by QinetiQ Ltd for the European Space Agency, under ESA *
28
// * contract 17191/03/NL/LvH (Aurora Programme). *
29
// * *
30
// * By using, copying, modifying or distributing the software (or *
31
// * any work based on the software) you agree to acknowledge its *
32
// * use in resulting scientific publications, and indicate your *
33
// * acceptance of all terms of the Geant4 Software license. *
34
// ********************************************************************
35
//
36
#ifndef G4WilsonAbrasionModel_h
37
#define G4WilsonAbrasionModel_h
38
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39
//
40
// MODULE: G4WilsonAbrasionModel.hh
41
//
42
// Version: 1.0
43
// Date: 08/12/2009
44
// Author: P R Truscott
45
// Organisation: QinetiQ Ltd, UK
46
// Customer: ESA/ESTEC, NOORDWIJK
47
// Contract: 17191/03/NL/LvH
48
//
49
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50
//
51
// CHANGE HISTORY
52
// --------------
53
//
54
// 6 October 2003, P R Truscott, QinetiQ Ltd, UK
55
// Created.
56
//
57
// 15 March 2004, P R Truscott, QinetiQ Ltd, UK
58
// Beta release
59
//
60
// 08 December 2009, P R Truscott, QinetiQ Ltd, Ltd
61
// ver 1.0
62
// Variable fradius defined. See .cc file for more details.
63
//
64
65
#include "
globals.hh
"
66
67
#include "
G4HadronicInteraction.hh
"
68
#include "
G4WilsonAblationModel.hh
"
69
#include "
G4ExcitationHandler.hh
"
70
#include "
G4HadFinalState.hh
"
71
#include "
G4Track.hh
"
72
#include "
G4Nucleus.hh
"
73
#include "
G4Fragment.hh
"
74
#include "
G4HadProjectile.hh
"
75
76
77
class
G4WilsonAbrasionModel
:
public
G4HadronicInteraction
78
{
79
public
:
80
G4WilsonAbrasionModel
(
G4bool
useAblation1 =
false
);
81
G4WilsonAbrasionModel
(
G4ExcitationHandler
*);
82
~G4WilsonAbrasionModel
();
83
84
G4WilsonAbrasionModel
(
const
G4WilsonAbrasionModel
&
right
);
85
86
const
G4WilsonAbrasionModel
&
operator=
(
G4WilsonAbrasionModel
& right);
87
88
virtual
G4HadFinalState
*
ApplyYourself
(
const
G4HadProjectile
&,
G4Nucleus
&);
89
void
SetVerboseLevel
(
G4int
);
90
void
SetUseAblation
(
G4bool
);
91
G4bool
GetUseAblation
();
92
void
SetConserveMomentum
(
G4bool
);
93
G4bool
GetConserveMomentum
();
94
void
SetExcitationHandler
(
G4ExcitationHandler
*);
95
G4ExcitationHandler
*
GetExcitationHandler
();
96
97
virtual
void
ModelDescription
(std::ostream&)
const
;
98
99
private
:
100
void
PrintWelcomeMessage
();
101
G4Fragment
*
GetAbradedNucleons
(
G4int
,
G4double
,
G4double
,
G4double
);
102
G4double
GetNucleonInducedExcitation
(
G4double
,
G4double
,
G4double
);
103
void
SetConserveEnergy
(
G4bool
);
104
G4bool
GetConserveEnergy
();
105
106
private
:
107
G4double
r0sq
;
108
G4double
npK
;
109
G4bool
useAblation
;
110
G4WilsonAblationModel
*
theAblation
;
111
G4ExcitationHandler
*
theExcitationHandler
;
112
G4bool
conserveEnergy
;
113
G4bool
conserveMomentum
;
114
G4double
B
;
115
G4double
third
;
116
G4double
fradius
;
117
};
118
119
inline
void
120
G4WilsonAbrasionModel::SetExcitationHandler
(
G4ExcitationHandler
* aExcitationHandler)
121
{
theExcitationHandler
= aExcitationHandler;}
122
123
inline
G4ExcitationHandler
*
G4WilsonAbrasionModel::GetExcitationHandler
()
124
{
return
theExcitationHandler
;}
125
126
inline
G4bool
G4WilsonAbrasionModel::GetUseAblation
()
127
{
return
useAblation
;}
128
129
inline
void
G4WilsonAbrasionModel::SetConserveEnergy
(
G4bool
conserveEnergy1)
130
{
conserveEnergy
= conserveEnergy1;}
131
132
inline
G4bool
G4WilsonAbrasionModel::GetConserveEnergy
()
133
{
return
conserveEnergy
;}
134
135
inline
void
G4WilsonAbrasionModel::SetConserveMomentum
(
G4bool
conserveMomentum1)
136
{
conserveMomentum
= conserveMomentum1;}
137
138
inline
G4bool
G4WilsonAbrasionModel::GetConserveMomentum
()
139
{
return
conserveMomentum
;}
140
141
inline
void
G4WilsonAbrasionModel::SetVerboseLevel
(
G4int
verboseLevel1)
142
{
143
verboseLevel
= verboseLevel1;
144
if
(
useAblation
)
theAblation
->
SetVerboseLevel
(
verboseLevel
);
145
}
146
147
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
abrasion
include
G4WilsonAbrasionModel.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:38
using
1.8.2 with
ECCE GitHub integration