Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
G4EmLowEParameters.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// -------------------------------------------------------------------
27//
28// GEANT4 Class header file
29//
30// File name: G4EmLowEParameters
31//
32// Author: Vladimir Ivanchenko
33//
34// Creation date: 06.05.2019
35//
36// Class Description:
37//
38// An internal utility class, responsable for keeping parameters
39// for low-energy EM and DNA physics processes and models.
40//
41// It is initialized by the master thread but can be updated
42// at any moment via G4EmParameters interface. It is not assumed
43// to be used for a direct initialisation
44//
45// -------------------------------------------------------------------
46//
47
48#ifndef G4EmLowEParameters_h
49#define G4EmLowEParameters_h 1
50
51#include "globals.hh"
52#include "G4DNAModelSubType.hh"
53#include "G4EmFluoDirectory.hh"
54#include <vector>
55
58
60{
61public:
62
63 explicit G4EmLowEParameters();
64
66
67 void Initialise();
68
69 // boolean flags
70 void SetFluo(G4bool val);
71 G4bool Fluo() const;
72
74
76 void SetBeardenFluoDir(G4bool val);
77 void SetANSTOFluoDir(G4bool val);
78 void SetXDB_EADLFluoDir(G4bool val);
79
80 void SetAuger(G4bool val);
81 G4bool Auger() const;
82
83 void SetPixe(G4bool val);
84 G4bool Pixe() const;
85
88
89 void SetDNAFast(G4bool val);
90 G4bool DNAFast() const;
91
92 void SetDNAStationary(G4bool val);
93 G4bool DNAStationary() const;
94
95 void SetDNAElectronMsc(G4bool val);
96 G4bool DNAElectronMsc() const;
97
98 // integer parameters
101
102 // string parameters
105
108
109 void SetLivermoreDataDir(const G4String&);
110 const G4String& LivermoreDataDir();
111
112 // parameters per region or per process
113 void AddMicroElec(const G4String& region);
114 const std::vector<G4String>& RegionsMicroElec() const;
115
116 void AddDNA(const G4String& region, const G4String& type);
117 const std::vector<G4String>& RegionsDNA() const;
118 const std::vector<G4String>& TypesDNA() const;
119
120 void SetDeexActiveRegion(const G4String& region, G4bool fdeex,
121 G4bool fauger, G4bool fpixe);
122
123 // initialisation methods
125
128 (const G4EmLowEParameters &right) = delete;
129
130private:
131
132 G4String CheckRegion(const G4String&) const;
133
134 void PrintWarning(G4ExceptionDescription& ed) const;
135
136 G4EmLowEParametersMessenger* theMessenger;
137
138 G4bool fluo;
139 G4bool auger;
140 G4bool pixe;
141 G4bool deexIgnoreCut;
142
143 G4bool dnaFast;
144 G4bool dnaStationary;
145 G4bool dnaMsc;
146
147 G4DNAModelSubType dnaElectronSolvation;
148
149 G4EmFluoDirectory fFluoDirectory;
150
151 G4String namePIXE;
152 G4String nameElectronPIXE;
153 G4String livDataDir;
154
155 std::vector<G4String> m_regnamesME;
156
157 std::vector<G4String> m_regnamesDNA;
158 std::vector<G4String> m_typesDNA;
159
160 std::vector<G4String> m_regnamesDeex;
161 std::vector<G4bool> m_fluo;
162 std::vector<G4bool> m_auger;
163 std::vector<G4bool> m_pixe;
164};
165
166//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
167
168#endif
169
G4DNAModelSubType
G4EmFluoDirectory
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
bool G4bool
Definition: G4Types.hh:86
void SetAuger(G4bool val)
void SetDeexActiveRegion(const G4String &region, G4bool fdeex, G4bool fauger, G4bool fpixe)
void SetLivermoreDataDir(const G4String &)
void SetDNAFast(G4bool val)
void SetXDB_EADLFluoDir(G4bool val)
G4bool DNAStationary() const
void SetDeexcitationIgnoreCut(G4bool val)
const std::vector< G4String > & TypesDNA() const
void SetDNAElectronMsc(G4bool val)
void SetFluoDirectory(G4EmFluoDirectory val)
const G4String & LivermoreDataDir()
void SetFluo(G4bool val)
const std::vector< G4String > & RegionsMicroElec() const
G4bool DeexcitationIgnoreCut() const
const G4String & PIXECrossSectionModel()
G4EmFluoDirectory FluoDirectory() const
void DefineRegParamForDeex(G4VAtomDeexcitation *) const
G4DNAModelSubType DNAeSolvationSubType() const
void AddDNA(const G4String &region, const G4String &type)
void SetDNAStationary(G4bool val)
void SetDNAeSolvationSubType(G4DNAModelSubType val)
const G4String & PIXEElectronCrossSectionModel()
void SetBeardenFluoDir(G4bool val)
void SetANSTOFluoDir(G4bool val)
void SetPIXECrossSectionModel(const G4String &)
G4bool DNAElectronMsc() const
void SetPixe(G4bool val)
const std::vector< G4String > & RegionsDNA() const
G4EmLowEParameters(G4EmLowEParameters &)=delete
void SetPIXEElectronCrossSectionModel(const G4String &)
void AddMicroElec(const G4String &region)