Geant4 10.7.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 51 of file G4DopplerProfile.hh.

Constructor & Destructor Documentation

◆ G4DopplerProfile()

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

Definition at line 54 of file G4DopplerProfile.cc.

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

◆ ~G4DopplerProfile()

G4DopplerProfile::~G4DopplerProfile ( )

Definition at line 68 of file G4DopplerProfile.cc.

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

Member Function Documentation

◆ NumberOfProfiles()

size_t G4DopplerProfile::NumberOfProfiles ( G4int  Z) const

Definition at line 80 of file G4DopplerProfile.cc.

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

◆ PrintData()

void G4DopplerProfile::PrintData ( ) const

Definition at line 108 of file G4DopplerProfile.cc.

109{
110 for (G4int Z=zMin; Z<zMax; Z++)
111 {
112 const G4VEMDataSet* profis = Profiles(Z);
113 profis->PrintData();
114 }
115}
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 100 of file G4DopplerProfile.cc.

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

◆ Profiles()

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

Definition at line 88 of file G4DopplerProfile.cc.

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

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

◆ RandomSelectMomentum()

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

Definition at line 226 of file G4DopplerProfile.cc.

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

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


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