Geant4-11
|
#include <G4PhotoElectricAngularGeneratorPolarized.hh>
Public Member Functions | |
G4PhotoElectricAngularGeneratorPolarized () | |
G4PhotoElectricAngularGeneratorPolarized (const G4PhotoElectricAngularGeneratorPolarized &)=delete | |
const G4String & | GetName () const |
G4PhotoElectricAngularGeneratorPolarized & | operator= (const G4PhotoElectricAngularGeneratorPolarized &right)=delete |
void | PrintGeneratorInformation () const override |
G4ThreeVector & | SampleDirection (const G4DynamicParticle *dp, G4double eKinEnergy, G4int shellId, const G4Material *mat=nullptr) override |
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) |
~G4PhotoElectricAngularGeneratorPolarized () | |
Protected Member Functions | |
G4ThreeVector | PerpendicularVector (const G4ThreeVector &a) const |
Protected Attributes | |
G4ThreeVector | fLocalDirection |
G4bool | fPolarisation |
Private Member Functions | |
G4double | CrossSectionMajorantFunction (G4double theta, G4double cBeta) const |
G4double | DSigmaKshellGavrila1959 (G4double beta, G4double theta, G4double phi) const |
G4double | DSigmaL1shellGavrila (G4double beta, G4double theta, G4double phi) const |
G4ThreeVector | PhotoElectronComputeFinalDirection (const G4RotationMatrix &rotation, G4double theta, G4double phi) const |
void | PhotoElectronGeneratePhiAndTheta (G4int shellId, G4double beta, G4double aBeta, G4double cBeta, G4double *pphi, G4double *ptheta) const |
void | PhotoElectronGetMajorantSurfaceAandCParameters (G4int shellId, G4double beta, G4double *majorantSurfaceParameterA, G4double *majorantSurfaceParameterC) const |
G4RotationMatrix | PhotoElectronRotationMatrix (const G4ThreeVector &direction, const G4ThreeVector &polarization) |
Private Attributes | |
G4double | aMajorantSurfaceParameterTable [980][2] |
G4double | betaArray [3] |
G4double | cMajorantSurfaceParameterTable [980][2] |
G4String | fName |
Definition at line 52 of file G4PhotoElectricAngularGeneratorPolarized.hh.
|
explicit |
Definition at line 71 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References aMajorantSurfaceParameterTable, anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, betaArray, cMajorantSurfaceParameterTable, FatalException, and G4Exception().
G4PhotoElectricAngularGeneratorPolarized::~G4PhotoElectricAngularGeneratorPolarized | ( | ) |
Definition at line 127 of file G4PhotoElectricAngularGeneratorPolarized.cc.
|
delete |
|
private |
Definition at line 221 of file G4PhotoElectricAngularGeneratorPolarized.cc.
Referenced by PhotoElectronGeneratePhiAndTheta().
|
private |
Definition at line 233 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::fine_structure_const, and pi.
Referenced by PhotoElectronGeneratePhiAndTheta().
|
private |
Definition at line 269 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::fine_structure_const, and pi.
Referenced by PhotoElectronGeneratePhiAndTheta().
|
inlineinherited |
Definition at line 111 of file G4VEmAngularDistribution.hh.
References G4VEmAngularDistribution::fName.
|
delete |
|
protected |
Definition at line 423 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by PhotoElectronRotationMatrix().
|
private |
Definition at line 394 of file G4PhotoElectricAngularGeneratorPolarized.cc.
Referenced by SampleDirection().
|
private |
Definition at line 176 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, CrossSectionMajorantFunction(), DSigmaKshellGavrila1959(), DSigmaL1shellGavrila(), G4Exp(), G4UniformRand, CLHEP::pi, and pi.
Referenced by SampleDirection().
|
private |
Definition at line 348 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References aMajorantSurfaceParameterTable, anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, betaArray, cMajorantSurfaceParameterTable, and G4INCL::Math::max().
Referenced by SampleDirection().
|
private |
Definition at line 305 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References a0, angle, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), G4UniformRand, CLHEP::Hep3Vector::howOrthogonal(), CLHEP::Hep3Vector::isOrthogonal(), CLHEP::Hep3Vector::mag(), anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::mK, PerpendicularVector(), CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), twopi, CLHEP::Hep3Vector::unit(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by SampleDirection().
|
overridevirtual |
Reimplemented from G4VEmAngularDistribution.
Definition at line 410 of file G4PhotoElectricAngularGeneratorPolarized.cc.
|
overridevirtual |
Implements G4VEmAngularDistribution.
Definition at line 133 of file G4PhotoElectricAngularGeneratorPolarized.cc.
References anonymous_namespace{G4PionRadiativeDecayChannel.cc}::beta, source.hepunit::electron_mass_c2, G4VEmAngularDistribution::fLocalDirection, G4DynamicParticle::GetMomentumDirection(), G4DynamicParticle::GetPolarization(), PhotoElectronComputeFinalDirection(), PhotoElectronGeneratePhiAndTheta(), PhotoElectronGetMajorantSurfaceAandCParameters(), and PhotoElectronRotationMatrix().
|
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().
|
private |
Definition at line 94 of file G4PhotoElectricAngularGeneratorPolarized.hh.
Referenced by G4PhotoElectricAngularGeneratorPolarized(), and PhotoElectronGetMajorantSurfaceAandCParameters().
|
private |
Definition at line 93 of file G4PhotoElectricAngularGeneratorPolarized.hh.
Referenced by G4PhotoElectricAngularGeneratorPolarized(), and PhotoElectronGetMajorantSurfaceAandCParameters().
|
private |
Definition at line 95 of file G4PhotoElectricAngularGeneratorPolarized.hh.
Referenced by G4PhotoElectricAngularGeneratorPolarized(), and PhotoElectronGetMajorantSurfaceAandCParameters().
|
protectedinherited |
Definition at line 103 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::G4VEmAngularDistribution(), G4SauterGavrilaAngularDistribution::SampleDirection(), G4PhotoElectricAngularGeneratorSauterGavrila::SampleDirection(), SampleDirection(), G4ModifiedMephi::SampleDirection(), G4DeltaAngle::SampleDirection(), G4DeltaAngleFreeScat::SampleDirection(), G4DipBustGenerator::SampleDirection(), G4ModifiedTsai::SampleDirection(), G4Generator2BN::SampleDirection(), G4Generator2BS::SampleDirection(), G4PenelopeBremsstrahlungAngular::SampleDirection(), G4RayleighAngularGenerator::SampleDirection(), G4AngleDirect::SampleDirection(), G4DNABornAngle::SampleDirectionForShell(), and G4DNARuddAngle::SampleDirectionForShell().
|
privateinherited |
Definition at line 108 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::GetName().
|
protectedinherited |
Definition at line 104 of file G4VEmAngularDistribution.hh.
Referenced by G4VEmAngularDistribution::G4VEmAngularDistribution().