#include <G4DNABornAngle.hh>
|
| G4DNABornAngle (const G4String &name="") |
|
| ~G4DNABornAngle () override |
|
G4ThreeVector & | SampleDirection (const G4DynamicParticle *dp, G4double kinEnergyFinal, G4int Z, const G4Material *mat=nullptr) override |
|
G4ThreeVector & | SampleDirectionForShell (const G4DynamicParticle *dp, G4double kinEnergyFinal, G4int Z, G4int shellIdx, const G4Material *mat=nullptr) override |
|
void | PrintGeneratorInformation () const override |
|
G4DNABornAngle & | operator= (const G4DNABornAngle &right)=delete |
|
| G4DNABornAngle (const G4DNABornAngle &)=delete |
|
| G4VEmAngularDistribution (const G4String &name) |
|
virtual | ~G4VEmAngularDistribution () |
|
virtual void | SamplePairDirections (const G4DynamicParticle *dp, G4double elecKinEnergy, G4double posiKinEnergy, G4ThreeVector &dirElectron, G4ThreeVector &dirPositron, G4int Z=0, const G4Material *mat=nullptr) |
|
const G4String & | GetName () const |
|
G4VEmAngularDistribution & | operator= (const G4VEmAngularDistribution &right)=delete |
|
| G4VEmAngularDistribution (const G4VEmAngularDistribution &)=delete |
|
Definition at line 56 of file G4DNABornAngle.hh.
◆ G4DNABornAngle() [1/2]
G4DNABornAngle::G4DNABornAngle |
( |
const G4String & | name = "" | ) |
|
Definition at line 58 of file G4DNABornAngle.cc.
60{
62}
static G4Electron * Electron()
G4VEmAngularDistribution(const G4String &name)
◆ ~G4DNABornAngle()
G4DNABornAngle::~G4DNABornAngle |
( |
| ) |
|
|
overridedefault |
◆ G4DNABornAngle() [2/2]
◆ operator=()
◆ PrintGeneratorInformation()
void G4DNABornAngle::PrintGeneratorInformation |
( |
| ) |
const |
|
overridevirtual |
◆ SampleDirection()
Implements G4VEmAngularDistribution.
Definition at line 113 of file G4DNABornAngle.cc.
116{
118}
G4ThreeVector & SampleDirectionForShell(const G4DynamicParticle *dp, G4double kinEnergyFinal, G4int Z, G4int shellIdx, const G4Material *mat=nullptr) override
◆ SampleDirectionForShell()
Reimplemented from G4VEmAngularDistribution.
Definition at line 68 of file G4DNABornAngle.cc.
72{
76 {
78 else if (secKinetic <= 200.*eV)
79 {
82 }
83 else
84 {
86 (1.-secKinetic/k)/(1.+secKinetic/(2.*electron_mass_c2));
87 cosTheta = std::sqrt(1.-sin2O);
88 }
89 }
90 else
91 {
93 G4double maxSecKinetic = 4.* (electron_mass_c2 / mass) * k;
94
95
96
97
98
99 if (secKinetic>100*eV) cosTheta = std::sqrt(secKinetic / maxSecKinetic);
101 }
102
103 G4double sint = sqrt((1.0 - cosTheta)*(1.0 + cosTheta));
105
108
110}
void set(double x, double y, double z)
Hep3Vector & rotateUz(const Hep3Vector &)
const G4ThreeVector & GetMomentumDirection() const
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetPDGMass() const
G4ThreeVector fLocalDirection
Referenced by SampleDirection().
The documentation for this class was generated from the following files: