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

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/standard/include/G4GSMottCorrection.hh>

+ Collaboration diagram for G4GSMottCorrection:

Classes

struct  DataPerDelta
 
struct  DataPerEkin
 
struct  DataPerMaterial
 

Public Member Functions

 G4GSMottCorrection (G4bool iselectron=true)
 
 ~G4GSMottCorrection ()
 
void Initialise ()
 
void GetMottCorrectionFactors (G4double logekin, G4double beta2, G4int matindx, G4double &mcToScr, G4double &mcToQ1, G4double &mcToG2PerG1)
 
G4double GetMottRejectionValue (G4double logekin, G4double G4beta2, G4double q1, G4double cost, G4int matindx, G4int &ekindx, G4int &deltindx)
 

Static Public Member Functions

static G4int GetMaxZet ()
 

Private Member Functions

void InitMCDataPerElement ()
 
void InitMCDataPerMaterials ()
 
void LoadMCDataElement (const G4Element *)
 
void ReadCompressedFile (std::string fname, std::istringstream &iss)
 
void InitMCDataMaterial (const G4Material *)
 
void AllocateDataPerMaterial (DataPerMaterial *)
 
void DeAllocateDataPerMaterial (DataPerMaterial *)
 
void ClearMCDataPerElement ()
 
void ClearMCDataPerMaterial ()
 

Private Attributes

G4bool fIsElectron
 
G4double fMaxEkin
 
G4double fLogMinEkin
 
G4double fInvLogDelEkin
 
G4double fMinBeta2
 
G4double fInvDelBeta2
 
G4double fInvDelDelta
 
G4double fInvDelAngle
 
std::vector< DataPerMaterial * > fMCDataPerElement
 
std::vector< DataPerMaterial * > fMCDataPerMaterial
 

Static Private Attributes

static constexpr G4int gNumEkin = 31
 
static constexpr G4int gNumBeta2 = 16
 
static constexpr G4int gNumDelta = 28
 
static constexpr G4int gNumAngle = 32
 
static constexpr G4int gMaxZet = 98
 
static constexpr G4double gMinEkin = 1.*CLHEP::keV
 
static constexpr G4double gMidEkin = 100.*CLHEP::keV
 
static constexpr G4double gMaxBeta2 = 0.9999
 
static constexpr G4double gMaxDelta = 0.9
 
static const std::string gElemSymbols []
 

Detailed Description

Definition at line 87 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 87 of file G4GSMottCorrection.hh

Constructor & Destructor Documentation

G4GSMottCorrection::G4GSMottCorrection ( G4bool  iselectron = true)

Definition at line 71 of file G4GSMottCorrection.cc.

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

References CLHEP::electron_mass_c2, fInvDelAngle, fInvDelBeta2, fInvDelDelta, fInvLogDelEkin, fLogMinEkin, fMaxEkin, fMinBeta2, G4Log(), gMaxBeta2, gMaxDelta, gMidEkin, gMinEkin, gNumAngle, gNumBeta2, gNumDelta, gNumEkin, and pt2.

+ Here is the call graph for this function:

G4GSMottCorrection::~G4GSMottCorrection ( )

Definition at line 84 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 84 of file G4GSMottCorrection.cc

References ClearMCDataPerElement(), and ClearMCDataPerMaterial().

+ Here is the call graph for this function:

Member Function Documentation

void G4GSMottCorrection::AllocateDataPerMaterial ( DataPerMaterial data)
private

Definition at line 506 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 506 of file G4GSMottCorrection.cc

References G4GSMottCorrection::DataPerEkin::fDataPerDelta, G4GSMottCorrection::DataPerMaterial::fDataPerEkin, G4GSMottCorrection::DataPerDelta::fRejFuntion, gNumAngle, gNumDelta, and gNumEkin.

Referenced by InitMCDataMaterial(), and LoadMCDataElement().

+ Here is the caller graph for this function:

void G4GSMottCorrection::ClearMCDataPerElement ( )
private

Definition at line 535 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 535 of file G4GSMottCorrection.cc

References DeAllocateDataPerMaterial(), and fMCDataPerElement.

Referenced by ~G4GSMottCorrection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4GSMottCorrection::ClearMCDataPerMaterial ( )
private

Definition at line 545 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 545 of file G4GSMottCorrection.cc

References DeAllocateDataPerMaterial(), and fMCDataPerMaterial.

Referenced by Initialise(), and ~G4GSMottCorrection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4GSMottCorrection::DeAllocateDataPerMaterial ( DataPerMaterial data)
private

Definition at line 520 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 520 of file G4GSMottCorrection.cc

References G4GSMottCorrection::DataPerEkin::fDataPerDelta, G4GSMottCorrection::DataPerMaterial::fDataPerEkin, G4GSMottCorrection::DataPerDelta::fRejFuntion, gNumDelta, and gNumEkin.

Referenced by ClearMCDataPerElement(), and ClearMCDataPerMaterial().

+ Here is the caller graph for this function:

static G4int G4GSMottCorrection::GetMaxZet ( )
inlinestatic

Definition at line 101 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 101 of file G4GSMottCorrection.hh

References gMaxZet.

Referenced by G4GoudsmitSaundersonTable::InitMoliereMSCParams().

+ Here is the caller graph for this function:

void G4GSMottCorrection::GetMottCorrectionFactors ( G4double  logekin,
G4double  beta2,
G4int  matindx,
G4double mcToScr,
G4double mcToQ1,
G4double mcToG2PerG1 
)
void G4GSMottCorrection::Initialise ( )

Definition at line 189 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 189 of file G4GSMottCorrection.cc

References ClearMCDataPerMaterial(), InitMCDataPerElement(), and InitMCDataPerMaterials().

+ Here is the call graph for this function:

void G4GSMottCorrection::InitMCDataMaterial ( const G4Material mat)
private
void G4GSMottCorrection::InitMCDataPerElement ( )
private

Definition at line 199 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 199 of file G4GSMottCorrection.cc

References fMCDataPerElement, G4lrint(), G4Material::GetElementVector(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), G4Element::GetZ(), gMaxZet, G4MaterialCutsCouple::IsUsed(), LoadMCDataElement(), and mat.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4GSMottCorrection::InitMCDataPerMaterials ( )
private

Definition at line 231 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 231 of file G4GSMottCorrection.cc

References fMCDataPerMaterial, G4Material::GetIndex(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4Material::GetNumberOfMaterials(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), InitMCDataMaterial(), G4MaterialCutsCouple::IsUsed(), and mat.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4GSMottCorrection::LoadMCDataElement ( const G4Element elem)
private
void G4GSMottCorrection::ReadCompressedFile ( std::string  fname,
std::istringstream &  iss 
)
private

Definition at line 305 of file G4GSMottCorrection.cc.

View newest version in sPHENIX GitHub at line 305 of file G4GSMottCorrection.cc

References FatalException, G4Exception(), in, uncompress(), and Z_OK.

Referenced by LoadMCDataElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4GSMottCorrection::fInvDelAngle
private

Definition at line 176 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 176 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), and GetMottRejectionValue().

G4double G4GSMottCorrection::fInvDelBeta2
private

Definition at line 174 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 174 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), GetMottRejectionValue(), and InitMCDataMaterial().

G4double G4GSMottCorrection::fInvDelDelta
private

Definition at line 175 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 175 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), and GetMottRejectionValue().

G4double G4GSMottCorrection::fInvLogDelEkin
private

Definition at line 172 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 172 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), GetMottRejectionValue(), and InitMCDataMaterial().

G4bool G4GSMottCorrection::fIsElectron
private

Definition at line 159 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 159 of file G4GSMottCorrection.hh

Referenced by LoadMCDataElement().

G4double G4GSMottCorrection::fLogMinEkin
private

Definition at line 171 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 171 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), GetMottRejectionValue(), and InitMCDataMaterial().

G4double G4GSMottCorrection::fMaxEkin
private

Definition at line 170 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 170 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection().

std::vector<DataPerMaterial*> G4GSMottCorrection::fMCDataPerElement
private

Definition at line 180 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 180 of file G4GSMottCorrection.hh

Referenced by ClearMCDataPerElement(), InitMCDataMaterial(), InitMCDataPerElement(), and LoadMCDataElement().

std::vector<DataPerMaterial*> G4GSMottCorrection::fMCDataPerMaterial
private

Definition at line 181 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 181 of file G4GSMottCorrection.hh

Referenced by ClearMCDataPerMaterial(), GetMottCorrectionFactors(), GetMottRejectionValue(), InitMCDataMaterial(), and InitMCDataPerMaterials().

G4double G4GSMottCorrection::fMinBeta2
private

Definition at line 173 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 173 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), GetMottRejectionValue(), and InitMCDataMaterial().

const std::string G4GSMottCorrection::gElemSymbols
staticprivate
Initial value:
= {"H","He","Li","Be","B" ,
"C" ,"N" ,"O" ,"F" ,"Ne","Na","Mg","Al","Si","P" , "S","Cl","Ar","K" ,"Ca","Sc",
"Ti","V" ,"Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb",
"Sr","Y" ,"Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I" ,
"Xe","Cs","Ba","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm",
"Yb","Lu","Hf","Ta","W" ,"Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At",
"Rn","Fr","Ra","Ac","Th","Pa","U" ,"Np","Pu","Am","Cm","Bk","Cf"}

Definition at line 178 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 178 of file G4GSMottCorrection.hh

Referenced by LoadMCDataElement().

constexpr G4double G4GSMottCorrection::gMaxBeta2 = 0.9999
staticprivate

Definition at line 167 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 167 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), and GetMottRejectionValue().

constexpr G4double G4GSMottCorrection::gMaxDelta = 0.9
staticprivate

Definition at line 168 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 168 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), and GetMottRejectionValue().

constexpr G4int G4GSMottCorrection::gMaxZet = 98
staticprivate

Definition at line 164 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 164 of file G4GSMottCorrection.hh

Referenced by GetMaxZet(), InitMCDataMaterial(), InitMCDataPerElement(), and LoadMCDataElement().

constexpr G4double G4GSMottCorrection::gMidEkin = 100.*CLHEP::keV
staticprivate

Definition at line 166 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 166 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), and InitMCDataMaterial().

constexpr G4double G4GSMottCorrection::gMinEkin = 1.*CLHEP::keV
staticprivate

Definition at line 165 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 165 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection().

constexpr G4int G4GSMottCorrection::gNumAngle = 32
staticprivate

Definition at line 163 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 163 of file G4GSMottCorrection.hh

Referenced by AllocateDataPerMaterial(), G4GSMottCorrection(), GetMottRejectionValue(), InitMCDataMaterial(), and LoadMCDataElement().

constexpr G4int G4GSMottCorrection::gNumBeta2 = 16
staticprivate

Definition at line 161 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 161 of file G4GSMottCorrection.hh

Referenced by G4GSMottCorrection(), GetMottCorrectionFactors(), GetMottRejectionValue(), and InitMCDataMaterial().

constexpr G4int G4GSMottCorrection::gNumDelta = 28
staticprivate

Definition at line 162 of file G4GSMottCorrection.hh.

View newest version in sPHENIX GitHub at line 162 of file G4GSMottCorrection.hh

Referenced by AllocateDataPerMaterial(), DeAllocateDataPerMaterial(), G4GSMottCorrection(), InitMCDataMaterial(), and LoadMCDataElement().

constexpr G4int G4GSMottCorrection::gNumEkin = 31
staticprivate

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