Geant4  10.01.p02
G4PenelopeBremsstrahlungAngular Class Reference

#include <G4PenelopeBremsstrahlungAngular.hh>

+ Inheritance diagram for G4PenelopeBremsstrahlungAngular:
+ Collaboration diagram for G4PenelopeBremsstrahlungAngular:

Public Member Functions

 G4PenelopeBremsstrahlungAngular ()
 
 ~G4PenelopeBremsstrahlungAngular ()
 
G4double PolarAngle (const G4double initial_energy, const G4double final_energy, const G4int Z)
 Old interface, backwards compatibility. Will not work in this case it will produce a G4Exception(). More...
 
G4ThreeVectorSampleDirection (const G4DynamicParticle *dp, G4double out_energy, G4int Z, const G4Material *mat=0)
 Samples the direction of the outgoing photon (in global coordinates). More...
 
void SetVerbosityLevel (G4int vl)
 Set/Get Verbosity level. More...
 
G4int GetVerbosityLevel ()
 
void Initialize ()
 Reserved for Master Model The Initialize() method forces the cleaning of tables. More...
 
void PrepareTables (const G4Material *material, G4bool isMaster)
 Reserved for Master Model. More...
 
- Public Member Functions inherited from G4VEmAngularDistribution
 G4VEmAngularDistribution (const G4String &name)
 
virtual ~G4VEmAngularDistribution ()
 
virtual G4ThreeVectorSampleDirectionForShell (const G4DynamicParticle *dp, G4double finalTotalEnergy, G4int Z, G4int shellID, const G4Material *)
 
const G4StringGetName () const
 

Private Member Functions

void ClearTables ()
 
G4double CalculateEffectiveZ (const G4Material *material)
 
void ReadDataFile ()
 

Private Attributes

std::map< const G4Material
*, G4double > * 
theEffectiveZSq
 
std::map< G4double,
G4PhysicsTable * > * 
theLorentzTables1
 
std::map< G4double,
G4PhysicsTable * > * 
theLorentzTables2
 
G4bool dataRead
 
G4double QQ1 [NumberofZPoints][NumberofEPoints][NumberofKPoints]
 
G4double QQ2 [NumberofZPoints][NumberofEPoints][NumberofKPoints]
 
G4int verbosityLevel
 

Static Private Attributes

static const G4int NumberofZPoints =6
 
static const G4int NumberofEPoints =6
 
static const G4int NumberofKPoints =4
 

Additional Inherited Members

- Protected Attributes inherited from G4VEmAngularDistribution
G4ThreeVector fLocalDirection
 

Detailed Description

Definition at line 56 of file G4PenelopeBremsstrahlungAngular.hh.

Constructor & Destructor Documentation

G4PenelopeBremsstrahlungAngular::G4PenelopeBremsstrahlungAngular ( )

Definition at line 60 of file G4PenelopeBremsstrahlungAngular.cc.

References dataRead, and verbosityLevel.

G4PenelopeBremsstrahlungAngular::~G4PenelopeBremsstrahlungAngular ( )

Definition at line 71 of file G4PenelopeBremsstrahlungAngular.cc.

References ClearTables().

+ Here is the call graph for this function:

Member Function Documentation

G4double G4PenelopeBremsstrahlungAngular::CalculateEffectiveZ ( const G4Material material)
private

Definition at line 481 of file G4PenelopeBremsstrahlungAngular.cc.

References g, G4Material::GetElementVector(), G4Material::GetFractionVector(), G4Material::GetNumberOfElements(), mole, and theEffectiveZSq.

Referenced by PrepareTables().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeBremsstrahlungAngular::ClearTables ( )
private

Definition at line 85 of file G4PenelopeBremsstrahlungAngular.cc.

References tab(), theEffectiveZSq, theLorentzTables1, and theLorentzTables2.

Referenced by Initialize(), and ~G4PenelopeBremsstrahlungAngular().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4PenelopeBremsstrahlungAngular::GetVerbosityLevel ( )
inline

Definition at line 78 of file G4PenelopeBremsstrahlungAngular.hh.

References verbosityLevel.

void G4PenelopeBremsstrahlungAngular::Initialize ( )

Reserved for Master Model The Initialize() method forces the cleaning of tables.

Definition at line 78 of file G4PenelopeBremsstrahlungAngular.cc.

References ClearTables().

Referenced by G4PenelopeBremsstrahlungModel::Initialise(), and G4PenelopeBremsstrahlungModel::InitialiseLocal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PenelopeBremsstrahlungAngular::PolarAngle ( const G4double  initial_energy,
const G4double  final_energy,
const G4int  Z 
)

Old interface, backwards compatibility. Will not work in this case it will produce a G4Exception().

Definition at line 468 of file G4PenelopeBremsstrahlungAngular.cc.

References FatalException, G4cout, G4endl, and G4Exception().

+ Here is the call graph for this function:

void G4PenelopeBremsstrahlungAngular::PrepareTables ( const G4Material material,
G4bool  isMaster 
)

Reserved for Master Model.

Definition at line 174 of file G4PenelopeBremsstrahlungAngular.cc.

References CalculateEffectiveZ(), dataRead, FatalException, G4endl, G4Exception(), MeV, NumberofEPoints, NumberofKPoints, NumberofZPoints, G4PhysicsTable::push_back(), G4PhysicsFreeVector::PutValue(), QQ1, QQ2, ReadDataFile(), G4PhysicsVector::SetSpline(), theLorentzTables1, theLorentzTables2, and G4PhysicsVector::Value().

Referenced by G4PenelopeBremsstrahlungModel::Initialise(), and G4PenelopeBremsstrahlungModel::InitialiseLocal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeBremsstrahlungAngular::ReadDataFile ( )
private

Definition at line 121 of file G4PenelopeBremsstrahlungAngular.cc.

References a1, a2, dataRead, FatalException, G4endl, G4Exception(), NumberofEPoints, NumberofKPoints, NumberofZPoints, QQ1, and QQ2.

Referenced by PrepareTables().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector & G4PenelopeBremsstrahlungAngular::SampleDirection ( const G4DynamicParticle dp,
G4double  out_energy,
G4int  Z,
const G4Material mat = 0 
)
virtual

Samples the direction of the outgoing photon (in global coordinates).

Implements G4VEmAngularDistribution.

Definition at line 329 of file G4PenelopeBremsstrahlungAngular.cc.

References FatalException, G4VEmAngularDistribution::fLocalDirection, G4cout, G4endl, G4Exception(), G4UniformRand, G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), G4Material::GetName(), keV, G4INCL::Math::max(), G4INCL::Math::min(), P1, P10, P11, P2, P20, P21, theEffectiveZSq, theLorentzTables1, theLorentzTables2, G4PhysicsVector::Value(), and verbosityLevel.

Referenced by G4PenelopeBremsstrahlungModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PenelopeBremsstrahlungAngular::SetVerbosityLevel ( G4int  vl)
inline

Set/Get Verbosity level.

Definition at line 77 of file G4PenelopeBremsstrahlungAngular.hh.

References verbosityLevel.

Member Data Documentation

G4bool G4PenelopeBremsstrahlungAngular::dataRead
private
const G4int G4PenelopeBremsstrahlungAngular::NumberofEPoints =6
staticprivate

Definition at line 105 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by PrepareTables(), and ReadDataFile().

const G4int G4PenelopeBremsstrahlungAngular::NumberofKPoints =4
staticprivate

Definition at line 106 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by PrepareTables(), and ReadDataFile().

const G4int G4PenelopeBremsstrahlungAngular::NumberofZPoints =6
staticprivate

Definition at line 104 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by PrepareTables(), and ReadDataFile().

G4double G4PenelopeBremsstrahlungAngular::QQ1[NumberofZPoints][NumberofEPoints][NumberofKPoints]
private

Definition at line 108 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by PrepareTables(), and ReadDataFile().

G4double G4PenelopeBremsstrahlungAngular::QQ2[NumberofZPoints][NumberofEPoints][NumberofKPoints]
private

Definition at line 109 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by PrepareTables(), and ReadDataFile().

std::map<const G4Material*,G4double>* G4PenelopeBremsstrahlungAngular::theEffectiveZSq
private
std::map<G4double,G4PhysicsTable*>* G4PenelopeBremsstrahlungAngular::theLorentzTables1
private

Definition at line 98 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by ClearTables(), PrepareTables(), and SampleDirection().

std::map<G4double,G4PhysicsTable*>* G4PenelopeBremsstrahlungAngular::theLorentzTables2
private

Definition at line 99 of file G4PenelopeBremsstrahlungAngular.hh.

Referenced by ClearTables(), PrepareTables(), and SampleDirection().

G4int G4PenelopeBremsstrahlungAngular::verbosityLevel
private

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