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 G4RDVEMDataSetProfiles (G4int Z) const
 
const G4RDVEMDataSetProfile (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: