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

#include <G4RDDopplerProfile.hh>

Public Member Functions

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

Detailed Description

Definition at line 53 of file G4RDDopplerProfile.hh.

Constructor & Destructor Documentation

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

Definition at line 56 of file G4RDDopplerProfile.cc.

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

Definition at line 70 of file G4RDDopplerProfile.cc.

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

Member Function Documentation

size_t G4RDDopplerProfile::NumberOfProfiles ( G4int  Z) const

Definition at line 82 of file G4RDDopplerProfile.cc.

References n.

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

Definition at line 110 of file G4RDDopplerProfile.cc.

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

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

Definition at line 102 of file G4RDDopplerProfile.cc.

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

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

Definition at line 90 of file G4RDDopplerProfile.cc.

References FatalException, and G4Exception().

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

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

Definition at line 227 of file G4RDDopplerProfile.cc.

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

Referenced by G4LowEnergyCompton::PostStepDoIt(), and G4LowEnergyPolarizedCompton::PostStepDoIt().

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

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