Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
hadronic
models
lend
include
G4LENDCrossSection.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
#ifndef G4LENDCrossSection_h
27
#define G4LENDCrossSection_h 1
28
29
// Class Description
30
// Cross Sections for a LEND (Low Energy Nuclear Data)
31
// LEND is Geant4 interface for GIDI (General Interaction Data Interface)
32
// which gives a discription of nuclear and atomic reactions, such as
33
// Binary collision cross sections
34
// Particle number multiplicity distributions of reaction products
35
// Energy and angular distributions of reaction products
36
// Derived calculational constants
37
// GIDI is developped at Lawrence Livermore National Laboratory
38
// Class Description - End
39
40
// 071025 First implementation done by T. Koi (SLAC/SCCS)
41
// 101118 Name modifications for release T. Koi (SLAC/PPA)
42
43
#include "
G4LENDHeader.hh
"
44
45
#include "
G4LENDManager.hh
"
46
#include "
G4LENDUsedTarget.hh
"
47
48
#include "
G4VCrossSectionDataSet.hh
"
49
#include "
G4DynamicParticle.hh
"
50
#include "
G4Element.hh
"
51
#include "
G4Material.hh
"
52
#include "
G4ParticleDefinition.hh
"
53
#include "
G4PhysicsTable.hh
"
54
55
#include <map>
56
57
class
G4LENDCrossSection
:
public
G4VCrossSectionDataSet
58
{
59
60
//
61
//
62
// G4bool IsIsoApplicable(const G4DynamicParticle*, G4int Z, G4int A,
63
// const G4Element* elm = 0,
64
// const G4Material* mat = 0);
65
//
66
// G4double GetIsoCrossSection(const G4DynamicParticle*, G4int Z, G4int A,
67
// const G4Element* elm = 0,
68
// const G4Material* mat = 0);
69
//
70
71
public
:
72
73
G4LENDCrossSection
(
const
G4String
name
=
""
);
74
75
~G4LENDCrossSection
();
76
77
//G4bool IsApplicable( const G4DynamicParticle* , const G4Element* );
78
//TK110811
79
G4bool
IsIsoApplicable
(
const
G4DynamicParticle
* ,
G4int
/*Z*/
,
G4int
/*A*/
,
80
const
G4Element
* ,
const
G4Material
* );
81
G4double
GetIsoCrossSection
(
const
G4DynamicParticle
*,
G4int
/*Z*/
,
G4int
/*A*/
,
82
const
G4Isotope
* ,
const
G4Element
* ,
const
G4Material
* );
83
84
void
BuildPhysicsTable
(
const
G4ParticleDefinition
& );
85
86
void
DumpPhysicsTable
(
const
G4ParticleDefinition
& );
87
88
89
//TK110810
90
//G4double GetCrossSection( const G4DynamicParticle* , const G4Element* , G4double aT );
91
//G4double GetCrossSection(const G4DynamicParticle*, G4int , const G4Material* );
92
93
94
void
ChangeDefaultEvaluation
(
G4String
name_tmp ){ default_evaluation = name_tmp; };
95
void
AllowNaturalAbundanceTarget
(){ allow_nat =
true
; };
96
void
AllowAnyCandidateTarget
(){ allow_any =
true
; };
97
98
//Hadronic Framework still does not handle isotope in GPIL
99
//G4VDiscreteProcess::PostStepGetPhysicalInteractionLenght()
100
// G4HadronicProcess::GetMeanFreePath()
101
// G4double GetCrossSection(const G4DynamicParticle*, const G4Material*)
102
// G4double GetCrossSection(const G4DynamicParticle*, const G4Element*, G4double aTemperature);
103
104
//TK110810
105
//G4bool IsIsoApplicable( const G4DynamicParticle* , G4int /*ZZ*/, G4int /*AA*/) { return true; }
106
//G4bool IsZandAApplicable( const G4DynamicParticle* , G4int /*ZZ*/, G4int /*AA*/, const G4Element* , const G4Material* ) { return true; }
107
//TK110810
108
//G4double GetZandACrossSection(const G4DynamicParticle* , G4int /*Z*/, G4int /*A*/, G4double aTemperature);
109
//G4double GetZandACrossSection(const G4DynamicParticle* , G4int /*Z*/, G4int /*A*/, const G4Material* mat);
110
//TK110810
111
//G4double GetIsoCrossSection( const G4DynamicParticle* , const G4Isotope* , G4double );
112
// G4double GetIsoCrossSection( const G4DynamicParticle* , const G4Isotope* , const G4Material* mat );
113
114
private
:
115
116
std::map< G4int , G4LENDUsedTarget* > usedTarget_map;
117
118
G4String
default_evaluation;
119
G4bool
allow_nat;
120
G4bool
allow_any;
121
122
G4LENDManager
* lend_manager;
123
void
recreate_used_target_map();
124
125
protected
:
126
//G4String name;
127
G4ParticleDefinition
*
proj
;
128
void
create_used_target_map
();
129
virtual
G4double
getLENDCrossSection
(
G4GIDI_target
* ,
G4double
,
G4double
) {
return
0.0; };
130
// elow ehigh xs_elow xs_ehigh ke (<elow)
131
G4double
GetUltraLowEnergyExtrapolatedXS
(
G4double
,
G4double
,
G4double
,
G4double
,
G4double
);
132
};
133
#endif
Generated on Sat May 25 2013 14:34:00 for Geant4 by
1.8.4