Geant4-11
|
#include <G4PenelopeBremsstrahlungAngular.hh>
Public Member Functions | |
G4PenelopeBremsstrahlungAngular () | |
const G4String & | GetName () const |
G4int | GetVerbosityLevel () |
void | Initialize () |
void | PrepareTables (const G4Material *material, G4bool isMaster) |
Reserved for Master Model. More... | |
virtual void | PrintGeneratorInformation () const |
G4ThreeVector & | SampleDirection (const G4DynamicParticle *dp, G4double out_energy, G4int Z, const G4Material *mat=nullptr) override |
Samples the direction of the outgoing photon (in global coordinates). More... | |
virtual G4ThreeVector & | SampleDirectionForShell (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) |
void | SetVerbosityLevel (G4int vl) |
Set/Get Verbosity level. More... | |
~G4PenelopeBremsstrahlungAngular () | |
Protected Attributes | |
G4ThreeVector | fLocalDirection |
G4bool | fPolarisation |
Private Member Functions | |
G4double | CalculateEffectiveZ (const G4Material *material) |
void | ClearTables () |
void | ReadDataFile () |
Private Attributes | |
G4bool | fDataRead |
std::map< const G4Material *, G4double > * | fEffectiveZSq |
std::map< G4double, G4PhysicsTable * > * | fLorentzTables1 |
std::map< G4double, G4PhysicsTable * > * | fLorentzTables2 |
G4String | fName |
G4double | fQQ1 [fNumberofZPoints][fNumberofEPoints][fNumberofKPoints] |
G4double | fQQ2 [fNumberofZPoints][fNumberofEPoints][fNumberofKPoints] |
G4int | fVerbosityLevel |
Static Private Attributes | |
static const G4int | fNumberofEPoints =6 |
static const G4int | fNumberofKPoints =4 |
static const G4int | fNumberofZPoints =6 |
Definition at line 55 of file G4PenelopeBremsstrahlungAngular.hh.
|
explicit |
Definition at line 60 of file G4PenelopeBremsstrahlungAngular.cc.
References fDataRead, and fVerbosityLevel.
G4PenelopeBremsstrahlungAngular::~G4PenelopeBremsstrahlungAngular | ( | ) |
Definition at line 71 of file G4PenelopeBremsstrahlungAngular.cc.
References ClearTables().
|
private |
Definition at line 465 of file G4PenelopeBremsstrahlungAngular.cc.
References fEffectiveZSq, g, eplot::material, mole, and Z.
Referenced by PrepareTables().
|
private |
Definition at line 85 of file G4PenelopeBremsstrahlungAngular.cc.
References G4PhysicsTable::clearAndDestroy(), fEffectiveZSq, fLorentzTables1, and fLorentzTables2.
Referenced by Initialize(), and ~G4PenelopeBremsstrahlungAngular().
|
inlineinherited |
Definition at line 111 of file G4VEmAngularDistribution.hh.
References G4VEmAngularDistribution::fName.
|
inline |
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().
void G4PenelopeBremsstrahlungAngular::PrepareTables | ( | const G4Material * | material, |
G4bool | isMaster | ||
) |
Reserved for Master Model.
Definition at line 174 of file G4PenelopeBremsstrahlungAngular.cc.
References CalculateEffectiveZ(), source.hepunit::electron_mass_c2, FatalException, fDataRead, G4PhysicsVector::FillSecondDerivatives(), fLorentzTables1, fLorentzTables2, fNumberofEPoints, fNumberofKPoints, fNumberofZPoints, fQQ1, fQQ2, G4endl, G4Exception(), G4Exp(), G4Log(), eplot::material, MeV, G4PhysicsTable::push_back(), G4PhysicsFreeVector::PutValues(), ReadDataFile(), and G4PhysicsVector::Value().
Referenced by G4PenelopeBremsstrahlungModel::Initialise(), and G4PenelopeBremsstrahlungModel::InitialiseLocal().
|
virtualinherited |
Reimplemented in G4DeltaAngleFreeScat, G4DipBustGenerator, G4ModifiedTsai, G4DNABornAngle, G4DNARuddAngle, G4Generator2BN, G4Generator2BS, G4PhotoElectricAngularGeneratorPolarized, G4PhotoElectricAngularGeneratorSauterGavrila, G4ModifiedMephi, and G4SauterGavrilaAngularDistribution.
Definition at line 92 of file G4VEmAngularDistribution.cc.
|
private |
Definition at line 121 of file G4PenelopeBremsstrahlungAngular.cc.
References FatalException, fDataRead, geant4_check_module_cycles::file, fNumberofEPoints, fNumberofKPoints, fNumberofZPoints, fQQ1, fQQ2, G4endl, and G4Exception().
Referenced by PrepareTables().
|
overridevirtual |
Samples the direction of the outgoing photon (in global coordinates).
Implements G4VEmAngularDistribution.
Definition at line 326 of file G4PenelopeBremsstrahlungAngular.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::electron_mass_c2, FatalException, fEffectiveZSq, G4VEmAngularDistribution::fLocalDirection, fLorentzTables1, fLorentzTables2, fVerbosityLevel, G4cout, G4endl, G4Exception(), G4Exp(), G4UniformRand, G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), keV, eplot::material, G4INCL::Math::max(), G4INCL::Math::min(), P1, P10, P11, P2, P20, P21, CLHEP::Hep3Vector::rotateUz(), CLHEP::Hep3Vector::set(), twopi, and G4PhysicsVector::Value().
Referenced by G4PenelopeBremsstrahlungModel::SampleSecondaries().
|
virtualinherited |
Reimplemented in G4DeltaAngle, G4DNABornAngle, and G4DNARuddAngle.
Definition at line 69 of file G4VEmAngularDistribution.cc.
References G4VEmAngularDistribution::SampleDirection(), and Z.
Referenced by G4DNABornIonisationModel1::SampleSecondaries(), G4DNABornIonisationModel2::SampleSecondaries(), G4DNAEmfietzoglouIonisationModel::SampleSecondaries(), G4DNARuddIonisationExtendedModel::SampleSecondaries(), G4DNARuddIonisationModel::SampleSecondaries(), G4MicroElecInelasticModel::SampleSecondaries(), and G4MicroElecInelasticModel_new::SampleSecondaries().
|
virtualinherited |
Reimplemented in G4ModifiedMephi, G4DipBustGenerator, and G4ModifiedTsai.
Definition at line 80 of file G4VEmAngularDistribution.cc.
References G4DynamicParticle::GetMomentumDirection().
Referenced by G4MuPairProductionModel::SampleSecondaries(), G4BetheHeitlerModel::SampleSecondaries(), and G4PairProductionRelModel::SampleSecondaries().
|
inline |
Set/Get Verbosity level.
Definition at line 68 of file G4PenelopeBremsstrahlungAngular.hh.
References fVerbosityLevel.
|
private |
Definition at line 98 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by G4PenelopeBremsstrahlungAngular(), PrepareTables(), and ReadDataFile().
|
private |
Definition at line 83 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by CalculateEffectiveZ(), ClearTables(), and SampleDirection().
|
protectedinherited |
Definition at line 103 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::G4VEmAngularDistribution(), G4SauterGavrilaAngularDistribution::SampleDirection(), G4PhotoElectricAngularGeneratorSauterGavrila::SampleDirection(), G4PhotoElectricAngularGeneratorPolarized::SampleDirection(), G4ModifiedMephi::SampleDirection(), G4DeltaAngle::SampleDirection(), G4DeltaAngleFreeScat::SampleDirection(), G4DipBustGenerator::SampleDirection(), G4ModifiedTsai::SampleDirection(), G4Generator2BN::SampleDirection(), G4Generator2BS::SampleDirection(), SampleDirection(), G4RayleighAngularGenerator::SampleDirection(), G4AngleDirect::SampleDirection(), G4DNABornAngle::SampleDirectionForShell(), and G4DNARuddAngle::SampleDirectionForShell().
|
private |
Definition at line 87 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by ClearTables(), PrepareTables(), and SampleDirection().
|
private |
Definition at line 88 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by ClearTables(), PrepareTables(), and SampleDirection().
|
privateinherited |
Definition at line 108 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::GetName().
|
staticprivate |
Definition at line 91 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by PrepareTables(), and ReadDataFile().
|
staticprivate |
Definition at line 92 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by PrepareTables(), and ReadDataFile().
|
staticprivate |
Definition at line 90 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by PrepareTables(), and ReadDataFile().
|
protectedinherited |
Definition at line 104 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::G4VEmAngularDistribution().
|
private |
Definition at line 94 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by PrepareTables(), and ReadDataFile().
|
private |
Definition at line 95 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by PrepareTables(), and ReadDataFile().
|
private |
Definition at line 97 of file G4PenelopeBremsstrahlungAngular.hh.
Referenced by G4PenelopeBremsstrahlungAngular(), GetVerbosityLevel(), SampleDirection(), and SetVerbosityLevel().