Geant4
11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4WilsonAblationModel.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
// * *
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 G4WilsonAblationModel_h
37
#define G4WilsonAblationModel_h 1
38
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39
//
40
// MODULE: G4WilsonAblationModel.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, UK
61
// Ver 1.0
62
// Introduced vector of evaporation channels and evaporation factory. Also
63
// copied directly over the SumProbabilities class in G4Evaporation.hh at
64
// version 9.2.r9, just in cases there's any subtle differences. See .cc
65
// file comments to see impact of the rest of the changes.
66
//
67
// 04 October 2014, D Mancusi
68
// Moved theChannels and theChannelFactory to the base class, since they seem
69
// to be common to all classes derived from G4VEvaporation.
70
//
71
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
72
////////////////////////////////////////////////////////////////////////////////
73
//
74
#include "
G4VEvaporation.hh
"
75
#include "
G4Fragment.hh
"
76
#include "
G4FragmentVector.hh
"
77
#include "
G4ParticleDefinition.hh
"
78
#include "
globals.hh
"
79
#include "
G4EvaporationFactory.hh
"
80
81
82
////////////////////////////////////////////////////////////////////////////////
83
//
84
class
G4WilsonAblationModel
:
public
G4VEvaporation
85
{
86
public
:
87
G4WilsonAblationModel
();
88
virtual
~G4WilsonAblationModel
();
89
90
typedef
std::vector<G4ParticleDefinition*>
VectorOfFragmentTypes
;
91
92
G4FragmentVector
*
BreakItUp
(
const
G4Fragment
&theNucleus);
93
void
SetProduceSecondaries
(
G4bool
);
94
G4bool
GetProduceSecondaries
();
95
void
SetVerboseLevel
(
G4int
);
96
G4int
GetVerboseLevel
();
97
98
private
:
99
void
SelectSecondariesByEvaporation (
G4Fragment
*);
100
void
SelectSecondariesByDefault (
G4ThreeVector
);
101
void
PrintWelcomeMessage ();
102
103
private
:
104
G4bool
produceSecondaries;
105
G4int
verboseLevel;
106
G4double
B;
107
G4int
nFragTypes;
108
G4ParticleDefinition
*fragType[6];
109
G4FragmentVector
*fragmentVector;
110
VectorOfFragmentTypes
evapType;
111
G4double
fSig[200];
112
G4int
secID;
// Creator model ID for the secondaries created by this model
113
};
114
////////////////////////////////////////////////////////////////////////////////
115
//
116
inline
void
G4WilsonAblationModel::SetProduceSecondaries
117
(
G4bool
produceSecondaries1)
118
{produceSecondaries = produceSecondaries1;}
119
////////////////////////////////////////////////////////////////////////////////
120
//
121
inline
G4bool
G4WilsonAblationModel::GetProduceSecondaries
()
122
{
return
produceSecondaries;}
123
////////////////////////////////////////////////////////////////////////////////
124
//
125
inline
void
G4WilsonAblationModel::SetVerboseLevel
(
G4int
verboseLevel1)
126
{verboseLevel = verboseLevel1;}
127
////////////////////////////////////////////////////////////////////////////////
128
//
129
inline
G4int
G4WilsonAblationModel::GetVerboseLevel
()
130
{
return
verboseLevel;}
131
////////////////////////////////////////////////////////////////////////////////
132
//
133
#endif
G4EvaporationFactory.hh
G4FragmentVector.hh
G4Fragment.hh
G4FragmentVector
std::vector< G4Fragment * > G4FragmentVector
Definition
G4Fragment.hh:65
G4ParticleDefinition.hh
G4double
double G4double
Definition
G4Types.hh:83
G4bool
bool G4bool
Definition
G4Types.hh:86
G4int
int G4int
Definition
G4Types.hh:85
G4VEvaporation.hh
CLHEP::Hep3Vector
Definition
ThreeVector.h:36
G4Fragment
Definition
G4Fragment.hh:68
G4ParticleDefinition
Definition
G4ParticleDefinition.hh:62
G4VEvaporation
Definition
G4VEvaporation.hh:53
G4WilsonAblationModel
Definition
G4WilsonAblationModel.hh:85
G4WilsonAblationModel::VectorOfFragmentTypes
std::vector< G4ParticleDefinition * > VectorOfFragmentTypes
Definition
G4WilsonAblationModel.hh:90
G4WilsonAblationModel::BreakItUp
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus)
Definition
G4WilsonAblationModel.cc:180
G4WilsonAblationModel::~G4WilsonAblationModel
virtual ~G4WilsonAblationModel()
Definition
G4WilsonAblationModel.cc:174
G4WilsonAblationModel::SetProduceSecondaries
void SetProduceSecondaries(G4bool)
Definition
G4WilsonAblationModel.hh:117
G4WilsonAblationModel::GetProduceSecondaries
G4bool GetProduceSecondaries()
Definition
G4WilsonAblationModel.hh:121
G4WilsonAblationModel::GetVerboseLevel
G4int GetVerboseLevel()
Definition
G4WilsonAblationModel.hh:129
G4WilsonAblationModel::G4WilsonAblationModel
G4WilsonAblationModel()
Definition
G4WilsonAblationModel.cc:117
G4WilsonAblationModel::SetVerboseLevel
void SetVerboseLevel(G4int)
Definition
G4WilsonAblationModel.hh:125
globals.hh
geant4-v11.2.2
source
processes
hadronic
models
de_excitation
ablation
include
G4WilsonAblationModel.hh
Generated by
1.12.0