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

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/lowenergy/include/G4PhotoElectricAngularGeneratorPolarized.hh>

+ Inheritance diagram for G4PhotoElectricAngularGeneratorPolarized:
+ Collaboration diagram for G4PhotoElectricAngularGeneratorPolarized:

Public Member Functions

 G4PhotoElectricAngularGeneratorPolarized ()
 
 ~G4PhotoElectricAngularGeneratorPolarized ()
 
virtual G4ThreeVectorSampleDirection (const G4DynamicParticle *dp, G4double eKinEnergy, G4int shellId, const G4Material *mat=0)
 
void PrintGeneratorInformation () const
 
- 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
 

Protected Member Functions

G4ThreeVector PerpendicularVector (const G4ThreeVector &a) const
 

Private Member Functions

G4PhotoElectricAngularGeneratorPolarizedoperator= (const G4PhotoElectricAngularGeneratorPolarized &right)
 
 G4PhotoElectricAngularGeneratorPolarized (const G4PhotoElectricAngularGeneratorPolarized &)
 
void PhotoElectronGetMajorantSurfaceAandCParameters (G4int shellId, G4double beta, G4double *majorantSurfaceParameterA, G4double *majorantSurfaceParameterC) const
 
void PhotoElectronGeneratePhiAndTheta (G4int shellId, G4double beta, G4double aBeta, G4double cBeta, G4double *pphi, G4double *ptheta) const
 
G4ThreeVector PhotoElectronComputeFinalDirection (const G4RotationMatrix &rotation, G4double theta, G4double phi) const
 
G4RotationMatrix PhotoElectronRotationMatrix (const G4ThreeVector &direction, const G4ThreeVector &polarization)
 
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
 

Private Attributes

G4double betaArray [3]
 
G4double aMajorantSurfaceParameterTable [980][2]
 
G4double cMajorantSurfaceParameterTable [980][2]
 

Additional Inherited Members

- Protected Attributes inherited from G4VEmAngularDistribution
G4ThreeVector fLocalDirection
 

Detailed Description

Definition at line 52 of file G4PhotoElectricAngularGeneratorPolarized.hh.

View newest version in sPHENIX GitHub at line 52 of file G4PhotoElectricAngularGeneratorPolarized.hh

Constructor & Destructor Documentation

G4PhotoElectricAngularGeneratorPolarized::G4PhotoElectricAngularGeneratorPolarized ( )

Definition at line 71 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 71 of file G4PhotoElectricAngularGeneratorPolarized.cc

References aMajorantSurfaceParameterTable, betaArray, cMajorantSurfaceParameterTable, FatalException, INPUTHEPMC::filename, and G4Exception().

+ Here is the call graph for this function:

G4PhotoElectricAngularGeneratorPolarized::~G4PhotoElectricAngularGeneratorPolarized ( )

Definition at line 125 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 125 of file G4PhotoElectricAngularGeneratorPolarized.cc

G4PhotoElectricAngularGeneratorPolarized::G4PhotoElectricAngularGeneratorPolarized ( const G4PhotoElectricAngularGeneratorPolarized )
private

Member Function Documentation

G4double G4PhotoElectricAngularGeneratorPolarized::CrossSectionMajorantFunction ( G4double  theta,
G4double  cBeta 
) const
private

Definition at line 222 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 222 of file G4PhotoElectricAngularGeneratorPolarized.cc

References theta().

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4PhotoElectricAngularGeneratorPolarized::DSigmaKshellGavrila1959 ( G4double  beta,
G4double  theta,
G4double  phi 
) const
private

Definition at line 232 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 232 of file G4PhotoElectricAngularGeneratorPolarized.cc

References source.hepunit::fine_structure_const, and pi.

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the caller graph for this function:

G4double G4PhotoElectricAngularGeneratorPolarized::DSigmaL1shellGavrila ( G4double  beta,
G4double  theta,
G4double  phi 
) const
private

Definition at line 268 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 268 of file G4PhotoElectricAngularGeneratorPolarized.cc

References source.hepunit::fine_structure_const, and pi.

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the caller graph for this function:

G4PhotoElectricAngularGeneratorPolarized& G4PhotoElectricAngularGeneratorPolarized::operator= ( const G4PhotoElectricAngularGeneratorPolarized right)
private
G4ThreeVector G4PhotoElectricAngularGeneratorPolarized::PerpendicularVector ( const G4ThreeVector a) const
protected

Definition at line 414 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 414 of file G4PhotoElectricAngularGeneratorPolarized.cc

References dx, dy, dz, CLHEP::Hep3Vector::x(), x, CLHEP::Hep3Vector::y(), y, CLHEP::Hep3Vector::z(), and z.

Referenced by PhotoElectronRotationMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ThreeVector G4PhotoElectricAngularGeneratorPolarized::PhotoElectronComputeFinalDirection ( const G4RotationMatrix rotation,
G4double  theta,
G4double  phi 
) const
private

Definition at line 389 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 389 of file G4PhotoElectricAngularGeneratorPolarized.cc

Referenced by SampleDirection().

+ Here is the caller graph for this function:

void G4PhotoElectricAngularGeneratorPolarized::PhotoElectronGeneratePhiAndTheta ( G4int  shellId,
G4double  beta,
G4double  aBeta,
G4double  cBeta,
G4double pphi,
G4double ptheta 
) const
private

Definition at line 170 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 170 of file G4PhotoElectricAngularGeneratorPolarized.cc

References CrossSectionMajorantFunction(), DSigmaKshellGavrila1959(), DSigmaL1shellGavrila(), G4Exp(), G4UniformRand, phi, pi, CLHEP::pi, ds::rand1, ds::rand2, ds::rand3, and theta().

Referenced by SampleDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhotoElectricAngularGeneratorPolarized::PhotoElectronGetMajorantSurfaceAandCParameters ( G4int  shellId,
G4double  beta,
G4double majorantSurfaceParameterA,
G4double majorantSurfaceParameterC 
) const
private

Definition at line 344 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 344 of file G4PhotoElectricAngularGeneratorPolarized.cc

References aMajorantSurfaceParameterTable, betaArray, cMajorantSurfaceParameterTable, e, k, and max.

Referenced by SampleDirection().

+ Here is the caller graph for this function:

G4RotationMatrix G4PhotoElectricAngularGeneratorPolarized::PhotoElectronRotationMatrix ( const G4ThreeVector direction,
const G4ThreeVector polarization 
)
private

Definition at line 303 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 303 of file G4PhotoElectricAngularGeneratorPolarized.cc

References a0, angle, c, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), e, G4UniformRand, CLHEP::Hep3Vector::howOrthogonal(), CLHEP::Hep3Vector::isOrthogonal(), CLHEP::Hep3Vector::mag(), PerpendicularVector(), Acts::IntegrationTest::R, ds::rand1, CLHEP::Hep3Vector::setX(), CLHEP::Hep3Vector::setY(), CLHEP::Hep3Vector::setZ(), twopi, CLHEP::Hep3Vector::unit(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), y, and CLHEP::Hep3Vector::z().

Referenced by SampleDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4PhotoElectricAngularGeneratorPolarized::PrintGeneratorInformation ( ) const

Definition at line 403 of file G4PhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 403 of file G4PhotoElectricAngularGeneratorPolarized.cc

References G4cout, and G4endl.

G4ThreeVector & G4PhotoElectricAngularGeneratorPolarized::SampleDirection ( const G4DynamicParticle dp,
G4double  eKinEnergy,
G4int  shellId,
const G4Material mat = 0 
)
virtual

Member Data Documentation

G4double G4PhotoElectricAngularGeneratorPolarized::aMajorantSurfaceParameterTable[980][2]
private
G4double G4PhotoElectricAngularGeneratorPolarized::betaArray[3]
private
G4double G4PhotoElectricAngularGeneratorPolarized::cMajorantSurfaceParameterTable[980][2]
private

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