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
G4ParticleHPManager.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ParticleHPManager.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
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
28
//
29
#ifndef G4ParticleHPManager_h
30
#define G4ParticleHPManager_h 1
31
32
// Class Description
33
// Manager of NeutronHP
34
// Class Description - End
35
36
// 121031 First implementation done by T. Koi (SLAC/PPA)
37
//
38
#include <map>
39
#include <vector>
40
#include "
globals.hh
"
41
42
#include "
G4ParticleHPReactionWhiteBoard.hh
"
43
44
class
G4ParticleDefinition
;
45
class
G4ParticleHPChannel
;
46
class
G4ParticleHPChannelList
;
47
class
G4ParticleHPMessenger
;
48
class
G4ParticleHPVector
;
49
class
G4PhysicsTable
;
50
struct
E_isoAng
;
51
struct
E_P_E_isoAng
;
52
53
class
G4ParticleHPManager
54
{
55
public
:
56
static
G4ParticleHPManager
*
GetInstance
();
57
58
private
:
59
G4ParticleHPManager
();
60
G4ParticleHPManager
(
const
G4ParticleHPManager
& ){};
61
~G4ParticleHPManager
();
62
static
G4ParticleHPManager
*
instance
;
63
64
public
:
65
G4ParticleHPReactionWhiteBoard
*
GetReactionWhiteBoard
();
66
void
OpenReactionWhiteBoard
();
67
//void CloseReactionWhiteBoard(){delete RWB; RWB=NULL;};
68
void
CloseReactionWhiteBoard
();
69
70
void
GetDataStream
(
G4String
, std::istringstream& iss );
71
void
GetDataStream2
(
G4String
, std::istringstream& iss );
72
void
SetVerboseLevel
(
G4int
i );
73
G4int
GetVerboseLevel
() {
return
verboseLevel
; };
74
75
void
DumpDataSource
();
76
77
G4bool
GetUseOnlyPhotoEvaporation
() {
return
USE_ONLY_PHOTONEVAPORATION
; };
78
void
SetUseOnlyPhotoEvaporation
(
G4bool
val ) {
USE_ONLY_PHOTONEVAPORATION
= val; };
79
G4bool
GetSkipMissingIsotopes
() {
return
SKIP_MISSING_ISOTOPES
; };
80
G4bool
GetNeglectDoppler
() {
return
NEGLECT_DOPPLER
; };
81
G4bool
GetDoNotAdjustFinalState
() {
return
DO_NOT_ADJUST_FINAL_STATE
; };
82
G4bool
GetProduceFissionFragments
() {
return
PRODUCE_FISSION_FRAGMENTS
; };
83
G4bool
GetUseNRESP71Model
() {
return
USE_NRESP71_MODEL
; };
84
85
void
SetSkipMissingIsotopes
(
G4bool
val ) {
SKIP_MISSING_ISOTOPES
= val; };
86
void
SetNeglectDoppler
(
G4bool
val ) {
NEGLECT_DOPPLER
= val; };
87
void
SetDoNotAdjustFinalState
(
G4bool
val ) {
DO_NOT_ADJUST_FINAL_STATE
= val; };
88
void
SetProduceFissionFragments
(
G4bool
val ) {
PRODUCE_FISSION_FRAGMENTS
= val; };
89
void
SetUseNRESP71Model
(
G4bool
val ) {
USE_NRESP71_MODEL
= val; };
90
91
void
RegisterElasticCrossSections
(
G4PhysicsTable
* val ){
theElasticCrossSections
= val; };
92
G4PhysicsTable
*
GetElasticCrossSections
(){
return
theElasticCrossSections
; };
93
void
RegisterCaptureCrossSections
(
G4PhysicsTable
* val ){
theCaptureCrossSections
= val; };
94
G4PhysicsTable
*
GetCaptureCrossSections
(){
return
theCaptureCrossSections
; };
95
void
RegisterInelasticCrossSections
(
const
G4ParticleDefinition
* ,
G4PhysicsTable
* );
96
G4PhysicsTable
*
GetInelasticCrossSections
(
const
G4ParticleDefinition
* );
97
void
RegisterFissionCrossSections
(
G4PhysicsTable
* val ){
theFissionCrossSections
= val; };
98
G4PhysicsTable
*
GetFissionCrossSections
(){
return
theFissionCrossSections
; };
99
100
std::vector<G4ParticleHPChannel*>*
GetElasticFinalStates
() {
return
theElasticFSs
; };
101
void
RegisterElasticFinalStates
( std::vector<G4ParticleHPChannel*>* val ) {
theElasticFSs
= val; };
102
std::vector<G4ParticleHPChannelList*>*
GetInelasticFinalStates
(
const
G4ParticleDefinition
* );
103
void
RegisterInelasticFinalStates
(
const
G4ParticleDefinition
* , std::vector<G4ParticleHPChannelList*>* );
104
std::vector<G4ParticleHPChannel*>*
GetCaptureFinalStates
() {
return
theCaptureFSs
; };
105
void
RegisterCaptureFinalStates
( std::vector<G4ParticleHPChannel*>* val ) {
theCaptureFSs
= val; };
106
std::vector<G4ParticleHPChannel*>*
GetFissionFinalStates
() {
return
theFissionFSs
; };
107
void
RegisterFissionFinalStates
( std::vector<G4ParticleHPChannel*>* val ) {
theFissionFSs
= val; };
108
109
std::map<G4int,std::map<G4double,G4ParticleHPVector*>*>*
GetThermalScatteringCoherentCrossSections
() {
return
theTSCoherentCrossSections
; };
110
void
RegisterThermalScatteringCoherentCrossSections
( std::map<
G4int
,std::map<G4double,G4ParticleHPVector*>*>* val ) {
theTSCoherentCrossSections
= val; };
111
std::map<G4int,std::map<G4double,G4ParticleHPVector*>*>*
GetThermalScatteringIncoherentCrossSections
() {
return
theTSIncoherentCrossSections
; };
112
void
RegisterThermalScatteringIncoherentCrossSections
( std::map<
G4int
,std::map<G4double,G4ParticleHPVector*>*>* val ) {
theTSIncoherentCrossSections
= val; };
113
std::map<G4int,std::map<G4double,G4ParticleHPVector*>*>*
GetThermalScatteringInelasticCrossSections
() {
return
theTSInelasticCrossSections
; };
114
void
RegisterThermalScatteringInelasticCrossSections
( std::map<
G4int
,std::map<G4double,G4ParticleHPVector*>*>* val ) {
theTSInelasticCrossSections
= val; };
115
116
std::map < G4int , std::map < G4double , std::vector < std::pair< G4double , G4double >* >* >* >*
GetThermalScatteringCoherentFinalStates
(){
return
theTSCoherentFinalStates
; };
117
void
RegisterThermalScatteringCoherentFinalStates
( std::map <
G4int
, std::map <
G4double
, std::vector < std::pair< G4double , G4double >* >* >* >* val ) {
theTSCoherentFinalStates
= val; };
118
std::map < G4int , std::map < G4double , std::vector < E_isoAng* >* >* >*
GetThermalScatteringIncoherentFinalStates
(){
return
theTSIncoherentFinalStates
; };
119
void
RegisterThermalScatteringIncoherentFinalStates
( std::map <
G4int
, std::map <
G4double
, std::vector < E_isoAng* >* >* >* val ) {
theTSIncoherentFinalStates
= val; };
120
std::map < G4int , std::map < G4double , std::vector < E_P_E_isoAng* >* >* >*
GetThermalScatteringInelasticFinalStates
(){
return
theTSInelasticFinalStates
; };
121
void
RegisterThermalScatteringInelasticFinalStates
( std::map <
G4int
, std::map <
G4double
, std::vector < E_P_E_isoAng* >* >* >* val ) {
theTSInelasticFinalStates
= val; };
122
123
124
private
:
125
void
register_data_file
(
G4String
,
G4String
);
126
std::map<G4String,G4String>
mDataEvaluation
;
127
/*G4ParticleHPReactionWhiteBoard* RWB;*/
128
129
G4int
verboseLevel
;
130
131
G4ParticleHPMessenger
*
messenger
;
132
G4bool
USE_ONLY_PHOTONEVAPORATION
;
133
G4bool
SKIP_MISSING_ISOTOPES
;
134
G4bool
NEGLECT_DOPPLER
;
135
G4bool
DO_NOT_ADJUST_FINAL_STATE
;
136
G4bool
PRODUCE_FISSION_FRAGMENTS
;
137
G4bool
USE_NRESP71_MODEL
;
138
139
G4PhysicsTable
*
theElasticCrossSections
;
140
G4PhysicsTable
*
theCaptureCrossSections
;
141
std::map< const G4ParticleDefinition* , G4PhysicsTable* >
theInelasticCrossSections
;
142
G4PhysicsTable
*
theFissionCrossSections
;
143
144
std::vector<G4ParticleHPChannel*>*
theElasticFSs
;
145
std::map< const G4ParticleDefinition* , std::vector<G4ParticleHPChannelList*>* >
theInelasticFSs
;
146
std::vector<G4ParticleHPChannel*>*
theCaptureFSs
;
147
std::vector<G4ParticleHPChannel*>*
theFissionFSs
;
148
149
std::map< G4int , std::map< G4double , G4ParticleHPVector* >* >*
theTSCoherentCrossSections
;
150
std::map< G4int , std::map< G4double , G4ParticleHPVector* >* >*
theTSIncoherentCrossSections
;
151
std::map< G4int , std::map< G4double , G4ParticleHPVector* >* >*
theTSInelasticCrossSections
;
152
153
std::map< G4int , std::map< G4double , std::vector< std::pair< G4double , G4double >* >* >* >*
theTSCoherentFinalStates
;
154
std::map< G4int , std::map< G4double , std::vector< E_isoAng* >* >* >*
theTSIncoherentFinalStates
;
155
std::map< G4int , std::map< G4double , std::vector< E_P_E_isoAng* >* >* >*
theTSInelasticFinalStates
;
156
157
};
158
#endif
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
particle_hp
include
G4ParticleHPManager.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:47
using
1.8.2 with
ECCE GitHub integration