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
cross_sections
include
G4ComponentSAIDTotalXS.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
// $Id$
27
//
28
// -------------------------------------------------------------------
29
//
30
// GEANT4 Class header file
31
//
32
//
33
// File name: G4ComponentSAIDTotalXS
34
//
35
// Authors: G.Folger, V.Ivanchenko, D.Wright
36
//
37
// Modifications:
38
//
39
40
//
41
// Class Description
42
// Total, elastic and inelastic hadron/nucleon cross sections
43
// from SAID database, G4SAIDXSDATA environment variable
44
// should be defined
45
// Class Description - End
46
47
#ifndef G4ComponentSAIDTotalXS_h
48
#define G4ComponentSAIDTotalXS_h 1
49
50
#include "
G4VComponentCrossSection.hh
"
51
#include "
G4ParticleDefinition.hh
"
52
#include "
globals.hh
"
53
54
enum
G4SAIDCrossSectionType
55
{
56
saidUnknown
= 0,
57
saidPP
= 1,
58
saidNP
= 2,
59
saidPIPP
= 3,
60
saidPINP
= 4,
61
saidPINP_PI0N
= 5,
62
saidPINP_ETAN
= 6,
63
saidGP_PI0P
= 7,
64
saidGP_PIPN
= 8,
65
saidGN_PINP
= 9,
66
saidGN_PI0N
= 10,
67
saidGP_ETAP
= 11,
68
saidGP_ETAPP
= 12
69
};
70
71
class
G4PhysicsVector
;
72
73
class
G4ComponentSAIDTotalXS
:
public
G4VComponentCrossSection
74
{
75
public
:
//with description
76
77
G4ComponentSAIDTotalXS
();
78
79
virtual
~G4ComponentSAIDTotalXS
();
80
81
virtual
82
G4double
GetTotalElementCrossSection
(
const
G4ParticleDefinition
*,
83
G4double
kinEnergy,
84
G4int
/*Z*/
,
G4double
/*N*/
);
85
86
virtual
87
G4double
GetTotalIsotopeCrossSection
(
const
G4ParticleDefinition
*,
88
G4double
kinEnergy,
89
G4int
/*Z*/
,
G4int
/*N*/
);
90
91
virtual
92
G4double
GetInelasticElementCrossSection
(
const
G4ParticleDefinition
*,
93
G4double
kinEnergy,
94
G4int
/*Z*/
,
G4double
/*N*/
);
95
96
virtual
97
G4double
GetInelasticIsotopeCrossSection
(
const
G4ParticleDefinition
*,
98
G4double
kinEnergy,
99
G4int
/*Z*/
,
G4int
/*N*/
);
100
101
virtual
102
G4double
GetElasticElementCrossSection
(
const
G4ParticleDefinition
*,
103
G4double
kinEnergy,
104
G4int
/*Z*/
,
G4double
/*N*/
);
105
106
virtual
107
G4double
GetElasticIsotopeCrossSection
(
const
G4ParticleDefinition
*,
108
G4double
kinEnergy,
109
G4int
/*Z*/
,
G4int
/*N*/
);
110
111
G4double
GetChargeExchangeCrossSection
(
const
G4ParticleDefinition
* prim,
112
const
G4ParticleDefinition
* sec,
113
G4double
kinEnergy,
114
G4int
/*Z*/
,
G4int
/*N*/
);
115
116
virtual
117
void
Description
()
const
;
118
119
private
:
120
121
G4SAIDCrossSectionType
GetType(
const
G4ParticleDefinition
* prim,
122
const
G4ParticleDefinition
* sec,
123
G4int
Z
,
G4int
N
);
124
125
void
Initialise(
G4SAIDCrossSectionType
tp);
126
127
void
ReadData(
G4int
index
,
G4PhysicsVector
*,
128
const
G4String
&,
const
G4String
&);
129
130
void
PrintWarning(
const
G4ParticleDefinition
* prim,
131
const
G4ParticleDefinition
* sec,
132
G4int
/*Z*/
,
G4int
/*N*/
,
133
const
G4String
&,
const
G4String
&);
134
135
G4ComponentSAIDTotalXS
& operator=(
const
G4ComponentSAIDTotalXS
&
right
);
136
G4ComponentSAIDTotalXS
(
const
G4ComponentSAIDTotalXS
&);
137
138
G4int
numberOfSaidXS;
139
140
static
G4String
fnames[13];
141
static
G4PhysicsVector
* elastdata[13];
142
static
G4PhysicsVector
* inelastdata[13];
143
144
};
145
146
#endif
Generated on Sat May 25 2013 14:33:40 for Geant4 by
1.8.4