#include <G4BremsstrahlungParameters.hh>
Public Member Functions | |
G4BremsstrahlungParameters (const G4String &name, size_t num, G4int minZ=1, G4int maxZ=99) | |
~G4BremsstrahlungParameters () | |
G4double | Parameter (G4int parameterIndex, G4int Z, G4double energy) const |
G4double | ParameterC (G4int index) const |
void | PrintData () const |
Definition at line 62 of file G4BremsstrahlungParameters.hh.
G4BremsstrahlungParameters::G4BremsstrahlungParameters | ( | const G4String & | name, | |
size_t | num, | |||
G4int | minZ = 1 , |
|||
G4int | maxZ = 99 | |||
) |
G4BremsstrahlungParameters::~G4BremsstrahlungParameters | ( | ) |
Definition at line 64 of file G4BremsstrahlungParameters.cc.
00065 { 00066 // Reset the map of data sets: remove the data sets from the map 00067 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::iterator pos; 00068 00069 for (pos = param.begin(); pos != param.end(); ++pos) 00070 { 00071 G4VEMDataSet* dataSet = (*pos).second; 00072 delete dataSet; 00073 } 00074 00075 activeZ.clear(); 00076 paramC.clear(); 00077 }
G4double G4BremsstrahlungParameters::Parameter | ( | G4int | parameterIndex, | |
G4int | Z, | |||
G4double | energy | |||
) | const |
Definition at line 80 of file G4BremsstrahlungParameters.cc.
References G4cout, and G4endl.
Referenced by G4eBremsstrahlungSpectrum::AverageEnergy(), G4eBremsstrahlungSpectrum::Probability(), and G4eBremsstrahlungSpectrum::SampleEnergy().
00083 { 00084 G4double value = 0.; 00085 G4int id = Z*length + parameterIndex; 00086 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::const_iterator pos; 00087 00088 pos = param.find(id); 00089 if (pos!= param.end()) { 00090 00091 G4VEMDataSet* dataSet = (*pos).second; 00092 const G4DataVector ener = dataSet->GetEnergies(0); 00093 G4double ee = std::max(ener.front(),std::min(ener.back(),energy)); 00094 value = dataSet->FindValue(ee); 00095 00096 } else { 00097 G4cout << "WARNING: G4BremsstrahlungParameters::FindValue " 00098 << "did not find ID = " 00099 << id << G4endl; 00100 } 00101 00102 return value; 00103 }
Definition at line 249 of file G4BremsstrahlungParameters.cc.
References FatalException, G4Exception(), and CLHEP::detail::n.
Referenced by G4eBremsstrahlungSpectrum::AverageEnergy().
00250 { 00251 G4int n = paramC.size(); 00252 if (id < 0 || id >= n) 00253 { 00254 G4String stringConversion2(id); 00255 G4String ex = "Wrong id " + stringConversion2; 00256 G4Exception("G4BremsstrahlungParameters::ParameterC", 00257 "em1002",FatalException,ex); 00258 00259 } 00260 00261 return paramC[id]; 00262 }
void G4BremsstrahlungParameters::PrintData | ( | ) | const |
Definition at line 265 of file G4BremsstrahlungParameters.cc.
References G4cout, G4endl, and G4VEMDataSet::PrintData().
Referenced by G4eBremsstrahlungSpectrum::PrintData().
00266 { 00267 00268 G4cout << G4endl; 00269 G4cout << "===== G4BremsstrahlungParameters =====" << G4endl; 00270 G4cout << G4endl; 00271 G4cout << "===== Parameters =====" << G4endl; 00272 G4cout << G4endl; 00273 00274 size_t nZ = activeZ.size(); 00275 std::map<G4int,G4VEMDataSet*,std::less<G4int> >::const_iterator pos; 00276 00277 for (size_t j=0; j<nZ; j++) { 00278 G4int Z = (G4int)activeZ[j]; 00279 00280 for (size_t i=0; i<length; i++) { 00281 00282 pos = param.find(Z*length + i); 00283 if (pos!= param.end()) { 00284 00285 G4cout << "===== Z= " << Z 00286 << " parameter[" << i << "] =====" 00287 << G4endl; 00288 G4VEMDataSet* dataSet = (*pos).second; 00289 dataSet->PrintData(); 00290 } 00291 } 00292 } 00293 00294 G4cout << "==========================================" << G4endl; 00295 }