#include <G4PhotoElectricAngularGeneratorPolarized.hh>
G4PhotoElectricAngularGeneratorPolarized::G4PhotoElectricAngularGeneratorPolarized |
( |
| ) |
|
Definition at line 71 of file G4PhotoElectricAngularGeneratorPolarized.cc.
74 const G4int arrayDim = 980;
81 betaArray[2] = arrayDim - 1;
84 for(
G4int level = 0; level < 2; level++){
86 char nameChar0[100] =
"ftab0.dat";
87 char nameChar1[100] =
"ftab1.dat";
90 if(level == 0) filename = nameChar0;
91 if(level == 1) filename = nameChar1;
93 char* path = getenv(
"G4LEDATA");
96 G4String excep =
"G4EMDataSet - G4LEDATA environment variable not set";
97 G4Exception(
"G4PhotoElectricAngularGeneratorPolarized::G4PhotoElectricAngularGeneratorPolarized",
103 G4String dirFile = pathString +
"/photoelectric_angular/" + filename;
104 std::ifstream infile(dirFile);
105 if (!infile.is_open())
107 G4String excep =
"data file: " + dirFile +
" not found";
108 G4Exception(
"G4PhotoElectricAngularGeneratorPolarized::G4PhotoElectricAngularGeneratorPolarized",
114 G4float aRead=0,cRead=0, beta=0;
115 for(
G4int i=0 ; i<arrayDim ;i++){
117 infile >> beta >> aRead >> cRead;
118 aMajorantSurfaceParameterTable[i][level] = aRead;
119 cMajorantSurfaceParameterTable[i][level] = cRead;
G4VEmAngularDistribution(const G4String &name)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4PhotoElectricAngularGeneratorPolarized::~G4PhotoElectricAngularGeneratorPolarized |
( |
| ) |
|
void G4PhotoElectricAngularGeneratorPolarized::PrintGeneratorInformation |
( |
| ) |
const |
Definition at line 403 of file G4PhotoElectricAngularGeneratorPolarized.cc.
406 G4cout <<
"Polarized Photoelectric Angular Generator" <<
G4endl;
407 G4cout <<
"PhotoElectric Electron Angular Generator based on the general Gavrila photoelectron angular distribution" <<
G4endl;
408 G4cout <<
"Includes polarization effects for K and L1 atomic shells, according to Gavrilla (1959, 1961)." <<
G4endl;
409 G4cout <<
"For higher shells the L1 cross-section is used." <<
G4endl;
410 G4cout <<
"(see Physics Reference Manual) \n" <<
G4endl;
G4GLOB_DLL std::ostream G4cout
Implements G4VEmAngularDistribution.
Definition at line 129 of file G4PhotoElectricAngularGeneratorPolarized.cc.
140 G4double beta = std::sqrt((gamma - 1)*(gamma + 1))/gamma;
153 PhotoElectronGetMajorantSurfaceAandCParameters(shellId, beta, &aBeta, &cBeta);
157 PhotoElectronGeneratePhiAndTheta(shellId, beta, aBeta, cBeta, &phi, &theta);
161 PhotoElectronRotationMatrix(direction, polarization);
164 fLocalDirection = PhotoElectronComputeFinalDirection(rotation, theta, phi);
static constexpr double electron_mass_c2
const G4ThreeVector & GetMomentumDirection() const
const G4ThreeVector & GetPolarization() const
G4ThreeVector fLocalDirection
The documentation for this class was generated from the following files: