33 energyConstant[
"N2"].push_back( 1.85*eV);
34 energyConstant[
"N2"].push_back( 2.15*eV);
35 energyConstant[
"N2"].push_back( 8.00*eV);
36 energyConstant[
"N2"].push_back( 8.50*eV);
37 energyConstant[
"N2"].push_back( 8.60*eV);
38 energyConstant[
"N2"].push_back(11.05*eV);
39 energyConstant[
"N2"].push_back(11.79*eV);
40 energyConstant[
"N2"].push_back(11.90*eV);
41 energyConstant[
"N2"].push_back(12.25*eV);
42 energyConstant[
"N2"].push_back(12.50*eV);
43 energyConstant[
"N2"].push_back(13.01*eV);
44 energyConstant[
"N2"].push_back(13.19*eV);
45 energyConstant[
"N2"].push_back(13.30*eV);
46 energyConstant[
"N2"].push_back(14.33*eV);
47 energyConstant[
"N2"].push_back(14.84*eV);
48 energyConstant[
"N2"].push_back(15.18*eV);
49 energyConstant[
"N2"].push_back(15.70*eV);
50 energyConstant[
"N2"].push_back(15.75*eV);
51 energyConstant[
"N2"].push_back(15.86*eV);
52 energyConstant[
"N2"].push_back(17.36*eV);
53 energyConstant[
"N2"].push_back(17.95*eV);
54 energyConstant[
"N2"].push_back(19.77*eV);
55 energyConstant[
"N2"].push_back(20.79*eV);
56 energyConstant[
"N2"].push_back(20.87*eV);
57 energyConstant[
"N2"].push_back(22.27*eV);
58 energyConstant[
"N2"].push_back(22.83*eV);
59 energyConstant[
"N2"].push_back(37.19*eV);
60 energyConstant[
"N2"].push_back(38.67*eV);
61 energyConstant[
"N2"].push_back(39.23*eV);
64 for(
const auto& [name,levels] : energyConstant)
66 nExcLevels[name] = (
G4int)levels.size();
73 G4String matNameModif = ReplaceMaterial(materialName);
76 if(energyConstant.find(matNameModif)==energyConstant.end())
78 std::ostringstream oss;
79 oss <<
"Material name was not found in energyConstantMap. Problematic material is: "<<matNameModif;
80 G4Exception(
"G4DNAPTBExcitationStructure::ExcitationEnergy",
"em0002",
86 if (ExcLevel >=0 && ExcLevel < nExcLevels[matNameModif]) excitation = energyConstant[matNameModif][ExcLevel];
93 G4String matNameModif = ReplaceMaterial(materialName);
96 if(nExcLevels.find(matNameModif)==nExcLevels.end())
98 std::ostringstream oss;
99 oss <<
"Material name was not found in energyConstantMap. Problematic material is: "<<matNameModif;
100 G4Exception(
"G4DNAPTBNDExcitationStructure::NumberOfExcLevels",
"em0002",
104 return nExcLevels[matNameModif];
107G4String G4DNAPTBExcitationStructure::ReplaceMaterial(
const G4String& materialName)
109 G4String materialNameModified (materialName);
111 if(materialName==
"G4_N2") materialNameModified =
"N2";
113 return materialNameModified;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4int NumberOfExcLevels(const G4String &materialName)
G4double ExcitationEnergy(G4int ExcLevel, const G4String &materialName)
G4DNAPTBExcitationStructure()