ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4PenelopeBremsstrahlungAngular Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/lowenergy/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)
 
G4ThreeVectorSampleDirection (const G4DynamicParticle *dp, G4double out_energy, G4int Z, const G4Material *mat=0)
 Samples the direction of the outgoing photon (in global coordinates).
 
void SetVerbosityLevel (G4int vl)
 Set/Get Verbosity level.
 
G4int GetVerbosityLevel ()
 
void Initialize ()
 
void PrepareTables (const G4Material *material, G4bool isMaster)
 Reserved for Master Model.
 
- 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 *)
 
virtual void SamplePairDirections (const G4DynamicParticle *dp, G4double elecKinEnergy, G4double posiKinEnergy, G4ThreeVector &dirElectron, G4ThreeVector &dirPositron, G4int Z=0, const G4Material *mat=nullptr)
 
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 55 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 55 of file G4PenelopeBremsstrahlungAngular.hh

Constructor & Destructor Documentation

G4PenelopeBremsstrahlungAngular::G4PenelopeBremsstrahlungAngular ( )

Definition at line 60 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 60 of file G4PenelopeBremsstrahlungAngular.cc

References dataRead, and verbosityLevel.

G4PenelopeBremsstrahlungAngular::~G4PenelopeBremsstrahlungAngular ( )

Definition at line 71 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub 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 479 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 479 of file G4PenelopeBremsstrahlungAngular.cc

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

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.

View newest version in sPHENIX GitHub 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 77 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 77 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.

View newest version in sPHENIX GitHub 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 466 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 466 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 172 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 172 of file G4PenelopeBremsstrahlungAngular.cc

References CalculateEffectiveZ(), dataRead, source.hepunit::electron_mass_c2, FatalException, G4endl, G4Exception(), G4Exp(), k, 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 119 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 119 of file G4PenelopeBremsstrahlungAngular.cc

References dataRead, FatalException, file, G4endl, G4Exception(), k, 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 327 of file G4PenelopeBremsstrahlungAngular.cc.

View newest version in sPHENIX GitHub at line 327 of file G4PenelopeBremsstrahlungAngular.cc

References source.hepunit::electron_mass_c2, FatalException, G4VEmAngularDistribution::fLocalDirection, G4cout, G4endl, G4Exception(), G4Exp(), G4UniformRand, G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), G4Material::GetName(), keV, max, min, P1, P10, P11, P2, P20, P21, phi, CLHEP::Hep3Vector::rotateUz(), CLHEP::Hep3Vector::set(), theEffectiveZSq, theLorentzTables1, theLorentzTables2, twopi, v1, v2, v3, v4, 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 76 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 76 of file G4PenelopeBremsstrahlungAngular.hh

References verbosityLevel.

Member Data Documentation

G4bool G4PenelopeBremsstrahlungAngular::dataRead
private

Definition at line 101 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 101 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by G4PenelopeBremsstrahlungAngular(), PrepareTables(), and ReadDataFile().

const G4int G4PenelopeBremsstrahlungAngular::NumberofEPoints =6
staticprivate

Definition at line 104 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 104 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by PrepareTables(), and ReadDataFile().

const G4int G4PenelopeBremsstrahlungAngular::NumberofKPoints =4
staticprivate

Definition at line 105 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 105 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by PrepareTables(), and ReadDataFile().

const G4int G4PenelopeBremsstrahlungAngular::NumberofZPoints =6
staticprivate

Definition at line 103 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 103 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by PrepareTables(), and ReadDataFile().

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

Definition at line 107 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 107 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by PrepareTables(), and ReadDataFile().

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

Definition at line 108 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 108 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by PrepareTables(), and ReadDataFile().

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

Definition at line 93 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 93 of file G4PenelopeBremsstrahlungAngular.hh

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

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

Definition at line 97 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 97 of file G4PenelopeBremsstrahlungAngular.hh

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

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

Definition at line 98 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 98 of file G4PenelopeBremsstrahlungAngular.hh

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

G4int G4PenelopeBremsstrahlungAngular::verbosityLevel
private

Definition at line 110 of file G4PenelopeBremsstrahlungAngular.hh.

View newest version in sPHENIX GitHub at line 110 of file G4PenelopeBremsstrahlungAngular.hh

Referenced by G4PenelopeBremsstrahlungAngular(), GetVerbosityLevel(), SampleDirection(), and SetVerbosityLevel().


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