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 G4VEMDataSetProfiles (G4int Z) const
 
const G4VEMDataSetProfile (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: