Geant4 11.3.0
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"
55#include <vector>
56
59
61{
62public:
63
64 explicit G4EmLowEParameters();
65
67
68 void Initialise();
69
70 // boolean flags
71 void SetFluo(G4bool val);
72 G4bool Fluo() const;
73
75
77 void SetBeardenFluoDir(G4bool val);
78 void SetANSTOFluoDir(G4bool val);
79 void SetXDB_EADLFluoDir(G4bool val);
80
81 void SetAuger(G4bool val);
82 G4bool Auger() const;
83
84 void SetPixe(G4bool val);
85 G4bool Pixe() const;
86
89
90 void SetDNAFast(G4bool val);
91 G4bool DNAFast() const;
92
93 void SetDNAStationary(G4bool val);
94 G4bool DNAStationary() const;
95
98
99 void SetDNAElectronMsc(G4bool val);
100 G4bool DNAElectronMsc() const;
101
102 // integer parameters
105
106 // string parameters
109
112
113 void SetLivermoreDataDir(const G4String&);
114 const G4String& LivermoreDataDir();
115
116 // parameters per region or per process
117 void AddMicroElec(const G4String& region);
118 const std::vector<G4String>& RegionsMicroElec() const;
119
120 void AddDNA(const G4String& region, const G4String& type);
121 const std::vector<G4String>& RegionsDNA() const;
122 const std::vector<G4String>& TypesDNA() const;
123
124 void SetDeexActiveRegion(const G4String& region, G4bool fdeex,
125 G4bool fauger, G4bool fpixe);
126
127 // initialisation methods
129
132 (const G4EmLowEParameters &right) = delete;
133
134private:
135
136 G4String CheckRegion(const G4String&) const;
137
138 void PrintWarning(G4ExceptionDescription& ed) const;
139
140 G4EmLowEParametersMessenger* theMessenger;
141
142 G4bool fluo;
143 G4bool auger;
144 G4bool pixe;
145 G4bool deexIgnoreCut;
146
147 G4bool dnaFast;
148 G4bool dnaStationary;
149 G4bool dnaMsc;
150
151 G4DNAModelSubType dnaElectronSolvation;
152 G4ChemTimeStepModel fTimeStepModel;
153
154 G4EmFluoDirectory fFluoDirectory;
155
156 G4String namePIXE;
157 G4String nameElectronPIXE;
158 G4String livDataDir;
159
160 std::vector<G4String> m_regnamesME;
161
162 std::vector<G4String> m_regnamesDNA;
163 std::vector<G4String> m_typesDNA;
164
165 std::vector<G4String> m_regnamesDeex;
166 std::vector<G4bool> m_fluo;
167 std::vector<G4bool> m_auger;
168 std::vector<G4bool> m_pixe;
169};
170
171//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
172
173#endif
174
G4ChemTimeStepModel
G4DNAModelSubType
G4EmFluoDirectory
std::ostringstream G4ExceptionDescription
bool G4bool
Definition G4Types.hh:86
G4ChemTimeStepModel GetChemTimeStepModel() const
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 SetChemTimeStepModel(G4ChemTimeStepModel val)
void SetPixe(G4bool val)
const std::vector< G4String > & RegionsDNA() const
G4EmLowEParameters(G4EmLowEParameters &)=delete
void SetPIXEElectronCrossSectionModel(const G4String &)
void AddMicroElec(const G4String &region)