Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4DopplerProfile Class Reference

#include <G4DopplerProfile.hh>

Public Member Functions

 G4DopplerProfile (G4int minZ=1, G4int maxZ=100)
 
 ~G4DopplerProfile ()
 
size_t NumberOfProfiles (G4int Z) const
 
const G4VEMDataSet * Profiles (G4int Z) const
 
const G4VEMDataSet * Profile (G4int Z, G4int ShellIndex) const
 
void PrintData () const
 
G4double RandomSelectMomentum (G4int Z, G4int shellIndex) const
 

Detailed Description

Definition at line 52 of file G4DopplerProfile.hh.

Constructor & Destructor Documentation

G4DopplerProfile::G4DopplerProfile ( G4int  minZ = 1,
G4int  maxZ = 100 
)

Definition at line 55 of file G4DopplerProfile.cc.

56  : zMin(minZ), zMax(maxZ)
57 {
58  nBiggs = 31;
59 
60  LoadBiggsP("/doppler/p-biggs");
61 
62  for (G4int Z=zMin; Z<zMax+1; Z++)
63  {
64  LoadProfile("/doppler/profile",Z);
65  }
66 }
int G4int
Definition: G4Types.hh:78
G4DopplerProfile::~G4DopplerProfile ( )

Definition at line 69 of file G4DopplerProfile.cc.

70 {
71  std::map<G4int,G4VEMDataSet*,std::less<G4int> >::iterator pos;
72  for (pos = profileMap.begin(); pos != profileMap.end(); ++pos)
73  {
74  G4VEMDataSet* dataSet = (*pos).second;
75  delete dataSet;
76  dataSet = 0;
77  }
78 }

Member Function Documentation

size_t G4DopplerProfile::NumberOfProfiles ( G4int  Z) const

Definition at line 81 of file G4DopplerProfile.cc.

References n.

82 {
83  G4int n = 0;
84  if (Z>= zMin && Z <= zMax) n = nShells[Z-1];
85  return n;
86 }
int G4int
Definition: G4Types.hh:78
const G4int n
void G4DopplerProfile::PrintData ( void  ) const

Definition at line 109 of file G4DopplerProfile.cc.

References G4VEMDataSet::PrintData(), and Profiles().

110 {
111  for (G4int Z=zMin; Z<zMax; Z++)
112  {
113  const G4VEMDataSet* profis = Profiles(Z);
114  profis->PrintData();
115  }
116 }
const G4VEMDataSet * Profiles(G4int Z) const
int G4int
Definition: G4Types.hh:78
virtual void PrintData(void) const =0
const G4VEMDataSet * G4DopplerProfile::Profile ( G4int  Z,
G4int  ShellIndex 
) const

Definition at line 101 of file G4DopplerProfile.cc.

References G4VEMDataSet::GetComponent(), and Profiles().

102 {
103  const G4VEMDataSet* profis = Profiles(Z);
104  const G4VEMDataSet* profi = profis->GetComponent(shellIndex);
105  return profi;
106 }
const G4VEMDataSet * Profiles(G4int Z) const
virtual const G4VEMDataSet * GetComponent(G4int componentId) const =0
const G4VEMDataSet * G4DopplerProfile::Profiles ( G4int  Z) const

Definition at line 89 of file G4DopplerProfile.cc.

References FatalException, and G4Exception().

Referenced by PrintData(), Profile(), and RandomSelectMomentum().

90 {
91  std::map<G4int,G4VEMDataSet*,std::less<G4int> >::const_iterator pos;
92  if (Z < zMin || Z > zMax)
93  G4Exception("G4DopplerProfile::Profiles",
94  "em1005",FatalException,"Z outside boundaries");
95  pos = profileMap.find(Z);
96  G4VEMDataSet* dataSet = (*pos).second;
97  return dataSet;
98 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4double G4DopplerProfile::RandomSelectMomentum ( G4int  Z,
G4int  shellIndex 
) const

Definition at line 227 of file G4DopplerProfile.cc.

References Profiles(), and G4VEMDataSet::RandomSelect().

Referenced by G4LivermorePolarizedComptonModel::SampleSecondaries(), G4LivermoreComptonModifiedModel::SampleSecondaries(), G4LivermoreComptonModel::SampleSecondaries(), and G4LowEPComptonModel::SampleSecondaries().

228 {
229  G4double value = 0.;
230  const G4VEMDataSet* profis = Profiles(Z);
231  value = profis->RandomSelect(shellIndex);
232  return value;
233 }
const G4VEMDataSet * Profiles(G4int Z) const
virtual G4double RandomSelect(G4int componentId=0) const =0
const XML_Char int const XML_Char * value
double G4double
Definition: G4Types.hh:76

The documentation for this class was generated from the following files: