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
G4LevelReader.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4LevelReader.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
//
27
// -------------------------------------------------------------------
28
//
29
// GEANT4 header file
30
//
31
// File name: G4LevelReader
32
//
33
// Author: V.Ivanchenko
34
//
35
// Creation date: 4 January 2012
36
//
37
// Modifications:
38
//
39
// -------------------------------------------------------------------
40
//
41
// Helper class to read Geant4 nuclear level data
42
//
43
44
#ifndef G4LEVELREADER_HH
45
#define G4LEVELREADER_HH 1
46
47
#include "
globals.hh
"
48
#include "
G4LevelManager.hh
"
49
#include <iosfwd>
50
51
class
G4NuclearLevelData
;
52
class
G4DeexPrecoParameters
;
53
54
class
G4LevelReader
55
{
56
57
public
:
58
59
explicit
G4LevelReader
(
G4NuclearLevelData
*);
60
61
// create run manager using G4LEVELGAMMADATA data for Z and A
62
const
G4LevelManager
*
CreateLevelManager
(
G4int
Z
,
G4int
A
);
63
64
// create run manager using whatever data
65
const
G4LevelManager
*
MakeLevelManager
(
G4int
Z,
G4int
A,
66
const
G4String
&
filename
);
67
68
inline
void
SetVerbose
(
G4int
val);
69
70
private
:
71
72
G4bool
ReadData
(std::istringstream& dataFile,
G4double
&
x
);
73
74
G4bool
ReadDataItem
(std::istream& dataFile,
G4double
& x);
75
76
G4bool
ReadDataItem
(std::istream& dataFile,
G4float
& x);
77
78
G4bool
ReadDataItem
(std::istream& dataFile,
G4int
& x);
79
80
G4bool
ReadDataItem
(std::istream& dataFile,
G4String
& x);
81
82
const
std::vector<G4float>*
NormalizedICCProbability
(
G4int
Z);
83
84
const
G4LevelManager
*
LevelManager
(
G4int
Z,
G4int
A,
G4int
nlev,
85
std::ifstream& infile);
86
87
G4LevelReader
(
const
G4LevelReader
&
right
) =
delete
;
88
const
G4LevelReader
&
operator=
(
const
G4LevelReader
&right) =
delete
;
89
G4bool
operator==
(
const
G4LevelReader
&right)
const
=
delete
;
90
G4bool
operator!=
(
const
G4LevelReader
&right)
const
=
delete
;
91
92
G4NuclearLevelData
*
fData
;
93
G4DeexPrecoParameters
*
fParam
;
94
95
G4double
fEnergy
;
96
G4double
fCurrEnergy
;
97
G4double
fTrEnergy
;
98
G4double
ener
,
tener
;
99
100
G4double
fTimeFactor
;
101
G4double
fTime
;
102
103
G4float
fProb
;
104
G4float
fSpin
;
105
G4float
fAlpha
;
106
G4float
fAlphaMax
;
107
G4float
fRatio
;
108
G4float
fICC
[10];
109
110
static
const
G4int
nfloting
= 13;
111
static
G4String
fFloatingLevels
[
nfloting
];
112
113
G4String
fDirectory
;
114
G4String
fPol
;
115
116
static
const
G4int
nbufmax
= 20;
117
static
const
G4int
nbuf1
= 14;
118
static
const
G4int
nbuf2
= 8;
119
120
char
buffer
[
nbufmax
];
121
char
buff1
[
nbuf1
];
122
char
buff2
[
nbuf2
];
123
char
bufp
[3];
124
125
G4int
fVerbose
;
126
G4int
fLevelMax
;
127
G4int
fTransMax
;
128
G4int
ntrans
,
i1
,
i2
,
k
,
kk
,
tnum
;
129
130
G4float
fNorm1
;
131
132
std::vector<G4double>
vEnergy
;
133
std::vector<G4int>
vSpin
;
134
std::vector<const G4NucLevel*>
vLevel
;
135
136
std::vector<G4int>
vTrans
;
137
std::vector<G4float>
vRatio
;
138
std::vector<G4float>
vGammaCumProbability
;
139
std::vector<G4float>
vGammaProbability
;
140
std::vector<const std::vector<G4float>*>
vShellProbability
;
141
};
142
143
inline
void
G4LevelReader::SetVerbose
(
G4int
val)
144
{
145
fVerbose
= val;
146
}
147
148
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
de_excitation
management
include
G4LevelReader.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:42
using
1.8.2 with
ECCE GitHub integration