Initialise Set the materials for which the model can be used and defined the energy limits.
80{
82 return;
83 }
84 if (verboseLevel > 3)
85 {
86 G4cout <<
"Calling G4DNAPTBExcitationModel::Initialise()" <<
G4endl;
87 }
88
90 std::ostringstream oss;
91 oss <<
" Model is not applied for this particle " << particle->
GetParticleName();
93 }
94
95 G4double scaleFactor = 1e-16 * cm * cm;
96 G4double scaleFactorBorn = (1.e-22 / 3.343) * m * m;
97
98
99
100
101 std::size_t index;
102 if (fpTHF != nullptr) {
107 }
108 if (fpPY != nullptr) {
113 }
114
115 if (fpPU != nullptr) {
120 }
121
122 if (fpTMP != nullptr) {
127 }
128 if (fpG4_WATER != nullptr) {
133 }
134
135
136 if (fpBackbone_THF != nullptr) {
138 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_THF", scaleFactor * 33. / 30);
141 }
142 if (fpCytosine_PY != nullptr) {
144 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_PY", scaleFactor * 42. / 30);
147 }
148 if (fpThymine_PY != nullptr) {
150 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_PY", scaleFactor * 48. / 30);
153 }
154 if (fpAdenine_PU != nullptr) {
156 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_PU", scaleFactor * 50. / 44);
159 }
160 if (fpGuanine_PU != nullptr) {
162 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_PU", scaleFactor * 56. / 44);
165 }
166 if (fpBackbone_TMP != nullptr) {
168 AddCrossSectionData(index, particle,
"dna/sigma_excitation_e-_PTB_TMP", scaleFactor * 33. / 50);
171 }
172
173 if (fpN2 != nullptr) {
178 }
180
183 fpModelData = this;
184 }
185 else {
188 if (dataModel == nullptr) {
189 G4cout <<
"G4DNAPTBExcitationModel::Initialise:: not good modelData" <<
G4endl;
191 "not good modelData");
192 }
193 else {
194 fpModelData = dataModel;
195 }
196 }
197
200}
static G4DNAMaterialManager * Instance()
void SetMasterDataModel(const DNAModelType &t, G4VEmModel *m)
G4VEmModel * GetModel(const DNAModelType &t)
G4ParticleChangeForGamma * fParticleChangeForGamma
static G4Electron * ElectronDefinition()
void LoadCrossSectionData(const G4ParticleDefinition *particleName)
LoadCrossSectionData Method to loop on all the registered materials in the model and load the corresp...
void SetLowELimit(const size_t &materialID, const G4ParticleDefinition *particle, G4double lim)
SetLowEnergyLimit.
void SetHighELimit(const size_t &materialID, const G4ParticleDefinition *particle, G4double lim)
SetHighEnergyLimit.
void AddCrossSectionData(const size_t &materialName, const G4ParticleDefinition *particleName, const G4String &fileCS, const G4String &fileDiffCS, const G4double &scaleFactor)
AddCrossSectionData Method used during the initialization of the model class to add a new material....
G4ParticleChangeForGamma * GetParticleChangeForGamma()