G4BremsstrahlungParameters Class Reference

#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


Detailed Description

Definition at line 62 of file G4BremsstrahlungParameters.hh.


Constructor & Destructor Documentation

G4BremsstrahlungParameters::G4BremsstrahlungParameters ( const G4String name,
size_t  num,
G4int  minZ = 1,
G4int  maxZ = 99 
)

Definition at line 54 of file G4BremsstrahlungParameters.cc.

00056   : zMin(minZ),
00057     zMax(maxZ),
00058     length(num)
00059 {
00060   LoadData(name);
00061 }

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 }


Member Function Documentation

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 }

G4double G4BremsstrahlungParameters::ParameterC ( G4int  index  )  const

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 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:33 2013 for Geant4 by  doxygen 1.4.7