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

#include <geant4/tree/geant4-10.6-release/examples/advanced/eRosita/physics/include/G4RDPhotoElectricAngularGeneratorPolarized.hh>

+ Inheritance diagram for G4RDPhotoElectricAngularGeneratorPolarized:
+ Collaboration diagram for G4RDPhotoElectricAngularGeneratorPolarized:

Public Member Functions

 G4RDPhotoElectricAngularGeneratorPolarized (const G4String &name)
 
 ~G4RDPhotoElectricAngularGeneratorPolarized ()
 
G4ThreeVector GetPhotoElectronDirection (const G4ThreeVector &direction, const G4double kineticEnergy, const G4ThreeVector &polarization, const G4int shellId) const
 
void PrintGeneratorInformation () const
 
- Public Member Functions inherited from G4RDVPhotoElectricAngularDistribution
 G4RDVPhotoElectricAngularDistribution (const G4String &name)
 
virtual ~G4RDVPhotoElectricAngularDistribution ()
 

Protected Member Functions

G4ThreeVector SetPerpendicularVector (const G4ThreeVector &a) const
 

Private Member Functions

G4RDPhotoElectricAngularGeneratorPolarizedoperator= (const G4RDPhotoElectricAngularGeneratorPolarized &right)
 
 G4RDPhotoElectricAngularGeneratorPolarized (const G4RDPhotoElectricAngularGeneratorPolarized &)
 
void PhotoElectronGetMajorantSurfaceAandCParameters (const G4int shellLevel, const G4double beta, G4double *majorantSurfaceParameterA, G4double *majorantSurfaceParameterC) const
 
void PhotoElectronGeneratePhiAndTheta (const G4int shellLevel, const G4double beta, const G4double aBeta, const G4double cBeta, G4double *pphi, G4double *ptheta) const
 
G4ThreeVector PhotoElectronComputeFinalDirection (const G4RotationMatrix &rotation, const G4double theta, const G4double phi) const
 
G4RotationMatrix PhotoElectronRotationMatrix (const G4ThreeVector &direction, const G4ThreeVector &polarization) const
 
G4double GetMax (const G4double arg1, const G4double arg2) const
 
G4double CrossSectionMajorantFunction (const G4double theta, const G4double cBeta) const
 
G4double DSigmaKshellGavrila1959 (const G4double beta, const G4double theta, const G4double phi) const
 
G4double DSigmaL1shellGavrila (const G4double beta, const G4double theta, const G4double phi) const
 

Private Attributes

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

Detailed Description

Definition at line 54 of file G4RDPhotoElectricAngularGeneratorPolarized.hh.

View newest version in sPHENIX GitHub at line 54 of file G4RDPhotoElectricAngularGeneratorPolarized.hh

Constructor & Destructor Documentation

G4RDPhotoElectricAngularGeneratorPolarized::G4RDPhotoElectricAngularGeneratorPolarized ( const G4String name)

Definition at line 71 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

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

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

+ Here is the call graph for this function:

G4RDPhotoElectricAngularGeneratorPolarized::~G4RDPhotoElectricAngularGeneratorPolarized ( )

Definition at line 125 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

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

G4RDPhotoElectricAngularGeneratorPolarized::G4RDPhotoElectricAngularGeneratorPolarized ( const G4RDPhotoElectricAngularGeneratorPolarized )
private

Member Function Documentation

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

Definition at line 207 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 207 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References theta().

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 217 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 217 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References source.hepunit::fine_structure_const, and pi.

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the caller graph for this function:

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

Definition at line 252 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 252 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References source.hepunit::fine_structure_const, and pi.

Referenced by PhotoElectronGeneratePhiAndTheta().

+ Here is the caller graph for this function:

G4double G4RDPhotoElectricAngularGeneratorPolarized::GetMax ( const G4double  arg1,
const G4double  arg2 
) const
private

Definition at line 286 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 286 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

Referenced by PhotoElectronGetMajorantSurfaceAandCParameters().

+ Here is the caller graph for this function:

G4ThreeVector G4RDPhotoElectricAngularGeneratorPolarized::GetPhotoElectronDirection ( const G4ThreeVector direction,
const G4double  kineticEnergy,
const G4ThreeVector polarization,
const G4int  shellId 
) const
virtual

Implements G4RDVPhotoElectricAngularDistribution.

Definition at line 130 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 130 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References source.hepunit::electron_mass_c2, phi, PhotoElectronComputeFinalDirection(), PhotoElectronGeneratePhiAndTheta(), PhotoElectronGetMajorantSurfaceAandCParameters(), PhotoElectronRotationMatrix(), and theta().

+ Here is the call graph for this function:

G4RDPhotoElectricAngularGeneratorPolarized& G4RDPhotoElectricAngularGeneratorPolarized::operator= ( const G4RDPhotoElectricAngularGeneratorPolarized right)
private
G4ThreeVector G4RDPhotoElectricAngularGeneratorPolarized::PhotoElectronComputeFinalDirection ( const G4RotationMatrix rotation,
const G4double  theta,
const G4double  phi 
) const
private

Definition at line 381 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 381 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

Referenced by GetPhotoElectronDirection().

+ Here is the caller graph for this function:

void G4RDPhotoElectricAngularGeneratorPolarized::PhotoElectronGeneratePhiAndTheta ( const G4int  shellLevel,
const G4double  beta,
const G4double  aBeta,
const G4double  cBeta,
G4double pphi,
G4double ptheta 
) const
private

Definition at line 162 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 162 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

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

Referenced by GetPhotoElectronDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RDPhotoElectricAngularGeneratorPolarized::PhotoElectronGetMajorantSurfaceAandCParameters ( const G4int  shellLevel,
const G4double  beta,
G4double majorantSurfaceParameterA,
G4double majorantSurfaceParameterC 
) const
private

Definition at line 334 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 334 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References aMajorantSurfaceParameterTable, betaArray, cMajorantSurfaceParameterTable, e, GetMax(), and k.

Referenced by GetPhotoElectronDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 296 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 296 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References a0, angle, c, CLHEP::Hep3Vector::cross(), CLHEP::Hep3Vector::dot(), e, G4UniformRand, CLHEP::Hep3Vector::howOrthogonal(), CLHEP::Hep3Vector::isOrthogonal(), CLHEP::Hep3Vector::mag(), Acts::IntegrationTest::R, ds::rand1, SetPerpendicularVector(), 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 GetPhotoElectronDirection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RDPhotoElectricAngularGeneratorPolarized::PrintGeneratorInformation ( ) const
virtual

Implements G4RDVPhotoElectricAngularDistribution.

Definition at line 397 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 397 of file G4RDPhotoElectricAngularGeneratorPolarized.cc

References G4cout, and G4endl.

G4ThreeVector G4RDPhotoElectricAngularGeneratorPolarized::SetPerpendicularVector ( const G4ThreeVector a) const
protected

Definition at line 407 of file G4RDPhotoElectricAngularGeneratorPolarized.cc.

View newest version in sPHENIX GitHub at line 407 of file G4RDPhotoElectricAngularGeneratorPolarized.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:

Member Data Documentation

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

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