File indexing completed on 2025-09-12 08:56:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048 #ifndef G4EmLowEParameters_h
0049 #define G4EmLowEParameters_h 1
0050
0051 #include "globals.hh"
0052 #include "G4DNAModelSubType.hh"
0053 #include "G4EmFluoDirectory.hh"
0054 #include "G4ChemTimeStepModel.hh"
0055 #include <vector>
0056
0057 class G4EmLowEParametersMessenger;
0058 class G4VAtomDeexcitation;
0059
0060 class G4EmLowEParameters
0061 {
0062 public:
0063
0064 explicit G4EmLowEParameters();
0065
0066 ~G4EmLowEParameters();
0067
0068 void Initialise();
0069
0070
0071 void SetFluo(G4bool val);
0072 G4bool Fluo() const;
0073
0074 G4EmFluoDirectory FluoDirectory() const;
0075
0076 void SetFluoDirectory(G4EmFluoDirectory val);
0077 void SetBeardenFluoDir(G4bool val);
0078 void SetANSTOFluoDir(G4bool val);
0079 void SetXDB_EADLFluoDir(G4bool val);
0080
0081 void SetAuger(G4bool val);
0082 G4bool Auger() const;
0083
0084 void SetPixe(G4bool val);
0085 G4bool Pixe() const;
0086
0087 void SetDeexcitationIgnoreCut(G4bool val);
0088 G4bool DeexcitationIgnoreCut() const;
0089
0090 void SetDNAFast(G4bool val);
0091 G4bool DNAFast() const;
0092
0093 void SetDNAStationary(G4bool val);
0094 G4bool DNAStationary() const;
0095
0096 void SetChemTimeStepModel(G4ChemTimeStepModel val);
0097 G4ChemTimeStepModel GetChemTimeStepModel() const;
0098
0099 void SetDNAElectronMsc(G4bool val);
0100 G4bool DNAElectronMsc() const;
0101
0102
0103 void SetDNAeSolvationSubType(G4DNAModelSubType val);
0104 G4DNAModelSubType DNAeSolvationSubType() const;
0105
0106
0107 void SetPIXECrossSectionModel(const G4String&);
0108 const G4String& PIXECrossSectionModel();
0109
0110 void SetPIXEElectronCrossSectionModel(const G4String&);
0111 const G4String& PIXEElectronCrossSectionModel();
0112
0113 void SetLivermoreDataDir(const G4String&);
0114 const G4String& LivermoreDataDir();
0115
0116
0117 void AddMicroElec(const G4String& region);
0118 const std::vector<G4String>& RegionsMicroElec() const;
0119
0120 void AddDNA(const G4String& region, const G4String& type);
0121 const std::vector<G4String>& RegionsDNA() const;
0122 const std::vector<G4String>& TypesDNA() const;
0123
0124 void SetDeexActiveRegion(const G4String& region, G4bool fdeex,
0125 G4bool fauger, G4bool fpixe);
0126
0127
0128 void DefineRegParamForDeex(G4VAtomDeexcitation*) const;
0129
0130 G4EmLowEParameters(G4EmLowEParameters &) = delete;
0131 G4EmLowEParameters & operator=
0132 (const G4EmLowEParameters &right) = delete;
0133
0134 private:
0135
0136 G4String CheckRegion(const G4String&) const;
0137
0138 void PrintWarning(G4ExceptionDescription& ed) const;
0139
0140 G4EmLowEParametersMessenger* theMessenger;
0141
0142 G4bool fluo;
0143 G4bool auger;
0144 G4bool pixe;
0145 G4bool deexIgnoreCut;
0146
0147 G4bool dnaFast;
0148 G4bool dnaStationary;
0149 G4bool dnaMsc;
0150
0151 G4DNAModelSubType dnaElectronSolvation;
0152 G4ChemTimeStepModel fTimeStepModel;
0153
0154 G4EmFluoDirectory fFluoDirectory;
0155
0156 G4String namePIXE;
0157 G4String nameElectronPIXE;
0158 G4String livDataDir;
0159
0160 std::vector<G4String> m_regnamesME;
0161
0162 std::vector<G4String> m_regnamesDNA;
0163 std::vector<G4String> m_typesDNA;
0164
0165 std::vector<G4String> m_regnamesDeex;
0166 std::vector<G4bool> m_fluo;
0167 std::vector<G4bool> m_auger;
0168 std::vector<G4bool> m_pixe;
0169 };
0170
0171
0172
0173 #endif
0174