Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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::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:66

◆ ~G4DopplerProfile()

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

◆ NumberOfProfiles()

size_t G4DopplerProfile::NumberOfProfiles ( G4int  Z) const

Definition at line 81 of file G4DopplerProfile.cc.

82{
83 G4int n = 0;
84 if (Z>= zMin && Z <= zMax) n = nShells[Z-1];
85 return n;
86}

◆ PrintData()

void G4DopplerProfile::PrintData ( ) const

Definition at line 109 of file G4DopplerProfile.cc.

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
virtual void PrintData(void) const =0

◆ Profile()

const G4VEMDataSet * G4DopplerProfile::Profile ( G4int  Z,
G4int  ShellIndex 
) const

Definition at line 101 of file G4DopplerProfile.cc.

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

◆ Profiles()

const G4VEMDataSet * G4DopplerProfile::Profiles ( G4int  Z) const

Definition at line 89 of file G4DopplerProfile.cc.

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}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41

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

◆ RandomSelectMomentum()

G4double G4DopplerProfile::RandomSelectMomentum ( G4int  Z,
G4int  shellIndex 
) const

Definition at line 227 of file G4DopplerProfile.cc.

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

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


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