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

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/adjoint/include/G4VEmAdjointModel.hh>

+ Inheritance diagram for G4VEmAdjointModel:
+ Collaboration diagram for G4VEmAdjointModel:

Public Member Functions

 G4VEmAdjointModel (const G4String &nam)
 
virtual ~G4VEmAdjointModel ()
 
virtual void SampleSecondaries (const G4Track &aTrack, G4bool IsScatProjToProjCase, G4ParticleChange *fParticleChange)=0
 
virtual G4double AdjointCrossSection (const G4MaterialCutsCouple *aCouple, G4double primEnergy, G4bool IsScatProjToProjCase)
 
virtual G4double GetAdjointCrossSection (const G4MaterialCutsCouple *aCouple, G4double primEnergy, G4bool IsScatProjToProjCase)
 
virtual G4double DiffCrossSectionPerAtomPrimToSecond (G4double kinEnergyProj, G4double kinEnergyProd, G4double Z, G4double A=0.)
 
virtual G4double DiffCrossSectionPerAtomPrimToScatPrim (G4double kinEnergyProj, G4double kinEnergyScatProj, G4double Z, G4double A=0.)
 
virtual G4double DiffCrossSectionPerVolumePrimToSecond (const G4Material *aMaterial, G4double kinEnergyProj, G4double kinEnergyProd)
 
virtual G4double DiffCrossSectionPerVolumePrimToScatPrim (const G4Material *aMaterial, G4double kinEnergyProj, G4double kinEnergyScatProj)
 
virtual G4double GetSecondAdjEnergyMaxForScatProjToProjCase (G4double PrimAdjEnergy)
 
virtual G4double GetSecondAdjEnergyMinForScatProjToProjCase (G4double PrimAdjEnergy, G4double Tcut=0)
 
virtual G4double GetSecondAdjEnergyMaxForProdToProjCase (G4double PrimAdjEnergy)
 
virtual G4double GetSecondAdjEnergyMinForProdToProjCase (G4double PrimAdjEnergy)
 
void DefineCurrentMaterial (const G4MaterialCutsCouple *couple)
 
std::vector< std::vector
< double > * > 
ComputeAdjointCrossSectionVectorPerAtomForSecond (G4double kinEnergyProd, G4double Z, G4double A=0., G4int nbin_pro_decade=10)
 
std::vector< std::vector
< double > * > 
ComputeAdjointCrossSectionVectorPerAtomForScatProj (G4double kinEnergyProd, G4double Z, G4double A=0., G4int nbin_pro_decade=10)
 
std::vector< std::vector
< double > * > 
ComputeAdjointCrossSectionVectorPerVolumeForSecond (G4Material *aMaterial, G4double kinEnergyProd, G4int nbin_pro_decade=10)
 
std::vector< std::vector
< double > * > 
ComputeAdjointCrossSectionVectorPerVolumeForScatProj (G4Material *aMaterial, G4double kinEnergyProd, G4int nbin_pro_decade=10)
 
void SetCSMatrices (std::vector< G4AdjointCSMatrix * > *Vec1CSMatrix, std::vector< G4AdjointCSMatrix * > *Vec2CSMatrix)
 
G4ParticleDefinitionGetAdjointEquivalentOfDirectPrimaryParticleDefinition ()
 
G4ParticleDefinitionGetAdjointEquivalentOfDirectSecondaryParticleDefinition ()
 
G4double GetHighEnergyLimit ()
 
G4double GetLowEnergyLimit ()
 
void SetHighEnergyLimit (G4double aVal)
 
void SetLowEnergyLimit (G4double aVal)
 
void DefineDirectEMModel (G4VEmModel *aModel)
 
void SetAdjointEquivalentOfDirectPrimaryParticleDefinition (G4ParticleDefinition *aPart)
 
void SetAdjointEquivalentOfDirectSecondaryParticleDefinition (G4ParticleDefinition *aPart)
 
void SetSecondPartOfSameType (G4bool aBool)
 
G4bool GetSecondPartOfSameType ()
 
void SetUseMatrix (G4bool aBool)
 
void SetUseMatrixPerElement (G4bool aBool)
 
void SetUseOnlyOneMatrixForAllElements (G4bool aBool)
 
void SetApplyCutInRange (G4bool aBool)
 
G4bool GetUseMatrix ()
 
G4bool GetUseMatrixPerElement ()
 
G4bool GetUseOnlyOneMatrixForAllElements ()
 
G4bool GetApplyCutInRange ()
 
G4String GetName ()
 
virtual void SetCSBiasingFactor (G4double aVal)
 
void SetCorrectWeightForPostStepInModel (G4bool aBool)
 
void SetAdditionalWeightCorrectionFactorForPostStepOutsideModel (G4double factor)
 

Protected Member Functions

G4double DiffCrossSectionFunction1 (G4double kinEnergyProj)
 
G4double DiffCrossSectionFunction2 (G4double kinEnergyProj)
 
G4double DiffCrossSectionPerVolumeFunctionForIntegrationOverEkinProj (G4double EkinProd)
 
G4double SampleAdjSecEnergyFromCSMatrix (size_t MatrixIndex, G4double prim_energy, G4bool IsScatProjToProjCase)
 
G4double SampleAdjSecEnergyFromCSMatrix (G4double prim_energy, G4bool IsScatProjToProjCase)
 
void SelectCSMatrix (G4bool IsScatProjToProjCase)
 
virtual G4double SampleAdjSecEnergyFromDiffCrossSectionPerAtom (G4double prim_energy, G4bool IsScatProjToProjCase)
 
virtual void CorrectPostStepWeight (G4ParticleChange *fParticleChange, G4double old_weight, G4double adjointPrimKinEnergy, G4double projectileKinEnergy, G4bool IsScatProjToProjCase)
 

Protected Attributes

G4VEmModeltheDirectEMModel
 
G4VParticleChangepParticleChange
 
const G4String name
 
G4int ASelectedNucleus
 
G4int ZSelectedNucleus
 
G4MaterialSelectedMaterial
 
G4double kinEnergyProdForIntegration
 
G4double kinEnergyScatProjForIntegration
 
G4double kinEnergyProjForIntegration
 
std::vector< G4AdjointCSMatrix * > * pOnCSMatrixForProdToProjBackwardScattering
 
std::vector< G4AdjointCSMatrix * > * pOnCSMatrixForScatProjToProjBackwardScattering
 
std::vector< G4doubleCS_Vs_ElementForScatProjToProjCase
 
std::vector< G4doubleCS_Vs_ElementForProdToProjCase
 
G4double lastCS
 
G4double lastAdjointCSForScatProjToProjCase
 
G4double lastAdjointCSForProdToProjCase
 
G4ParticleDefinitiontheAdjEquivOfDirectPrimPartDef
 
G4ParticleDefinitiontheAdjEquivOfDirectSecondPartDef
 
G4ParticleDefinitiontheDirectPrimaryPartDef
 
G4bool second_part_of_same_type
 
G4double preStepEnergy
 
G4MaterialcurrentMaterial
 
G4MaterialCutsCouplecurrentCouple
 
size_t currentMaterialIndex
 
size_t currentCoupleIndex
 
G4double currentTcutForDirectPrim
 
G4double currentTcutForDirectSecond
 
G4bool ApplyCutInRange
 
G4double mass_ratio_product
 
G4double mass_ratio_projectile
 
G4double HighEnergyLimit
 
G4double LowEnergyLimit
 
G4double CS_biasing_factor
 
G4bool UseMatrix
 
G4bool UseMatrixPerElement
 
G4bool UseOnlyOneMatrixForAllElements
 
size_t indexOfUsedCrossSectionMatrix
 
size_t model_index
 
G4bool correct_weight_for_post_step_in_model
 
G4double additional_weight_correction_factor_for_post_step_outside_model
 

Detailed Description

Definition at line 71 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 71 of file G4VEmAdjointModel.hh

Constructor & Destructor Documentation

G4VEmAdjointModel::G4VEmAdjointModel ( const G4String nam)

Definition at line 40 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 40 of file G4VEmAdjointModel.cc

References additional_weight_correction_factor_for_post_step_outside_model, currentCouple, G4AdjointCSManager::GetAdjointCSManager(), mass_ratio_product, mass_ratio_projectile, model_index, G4AdjointCSManager::RegisterEmAdjointModel(), second_part_of_same_type, and theDirectEMModel.

+ Here is the call graph for this function:

G4VEmAdjointModel::~G4VEmAdjointModel ( )
virtual

Definition at line 54 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 54 of file G4VEmAdjointModel.cc

Member Function Documentation

G4double G4VEmAdjointModel::AdjointCrossSection ( const G4MaterialCutsCouple aCouple,
G4double  primEnergy,
G4bool  IsScatProjToProjCase 
)
virtual
std::vector< std::vector< G4double > * > G4VEmAdjointModel::ComputeAdjointCrossSectionVectorPerAtomForScatProj ( G4double  kinEnergyProd,
G4double  Z,
G4double  A = 0.,
G4int  nbin_pro_decade = 10 
)

Definition at line 292 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 292 of file G4VEmAdjointModel.cc

References ASelectedNucleus, DiffCrossSectionFunction2(), GetLowEnergyLimit(), GetSecondAdjEnergyMaxForScatProjToProjCase(), GetSecondAdjEnergyMinForScatProjToProjCase(), int(), kinEnergyScatProjForIntegration, max, min, G4Integrator< T, F >::Simpson(), and ZSelectedNucleus.

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< std::vector< G4double > * > G4VEmAdjointModel::ComputeAdjointCrossSectionVectorPerAtomForSecond ( G4double  kinEnergyProd,
G4double  Z,
G4double  A = 0.,
G4int  nbin_pro_decade = 10 
)

Definition at line 238 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 238 of file G4VEmAdjointModel.cc

References ASelectedNucleus, DiffCrossSectionFunction1(), GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), int(), kinEnergyProdForIntegration, min, G4Integrator< T, F >::Simpson(), and ZSelectedNucleus.

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndElement().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< std::vector< G4double > * > G4VEmAdjointModel::ComputeAdjointCrossSectionVectorPerVolumeForScatProj ( G4Material aMaterial,
G4double  kinEnergyProd,
G4int  nbin_pro_decade = 10 
)

Definition at line 402 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 402 of file G4VEmAdjointModel.cc

References DiffCrossSectionFunction2(), GetLowEnergyLimit(), GetSecondAdjEnergyMaxForScatProjToProjCase(), GetSecondAdjEnergyMinForScatProjToProjCase(), kinEnergyScatProjForIntegration, max, min, SelectedMaterial, and G4Integrator< T, F >::Simpson().

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< std::vector< G4double > * > G4VEmAdjointModel::ComputeAdjointCrossSectionVectorPerVolumeForSecond ( G4Material aMaterial,
G4double  kinEnergyProd,
G4int  nbin_pro_decade = 10 
)

Definition at line 350 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 350 of file G4VEmAdjointModel.cc

References DiffCrossSectionFunction1(), GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), kinEnergyProdForIntegration, min, SelectedMaterial, and G4Integrator< T, F >::Simpson().

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndMaterial().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmAdjointModel::CorrectPostStepWeight ( G4ParticleChange fParticleChange,
G4double  old_weight,
G4double  adjointPrimKinEnergy,
G4double  projectileKinEnergy,
G4bool  IsScatProjToProjCase 
)
protectedvirtual

Reimplemented in G4AdjointIonIonisationModel, and G4AdjointPhotoElectricModel.

Definition at line 633 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 633 of file G4VEmAdjointModel.cc

References AdjointCrossSection(), CS_biasing_factor, currentCouple, G4AdjointCSManager::GetAdjointCSManager(), G4AdjointCSManager::GetPostStepWeightCorrection(), lastAdjointCSForProdToProjCase, lastAdjointCSForScatProjToProjCase, lastCS, preStepEnergy, G4VParticleChange::ProposeParentWeight(), G4VParticleChange::SetParentWeightByProcess(), and G4VParticleChange::SetSecondaryWeightByProcess().

Referenced by G4AdjointComptonModel::SampleSecondaries(), G4AdjointeIonisationModel::SampleSecondaries(), G4AdjointBremsstrahlungModel::SampleSecondaries(), and G4AdjointhIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmAdjointModel::DefineDirectEMModel ( G4VEmModel aModel)
inline

Definition at line 192 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 192 of file G4VEmAdjointModel.hh

References theDirectEMModel.

Referenced by G4AdjointPhotoElectricModel::SetTheDirectPEEffectModel().

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionFunction1 ( G4double  kinEnergyProj)
protected

Definition at line 201 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 201 of file G4VEmAdjointModel.cc

References ASelectedNucleus, CS_biasing_factor, DiffCrossSectionPerAtomPrimToSecond(), DiffCrossSectionPerVolumePrimToSecond(), kinEnergyProdForIntegration, SelectedMaterial, UseMatrixPerElement, and ZSelectedNucleus.

Referenced by ComputeAdjointCrossSectionVectorPerAtomForSecond(), and ComputeAdjointCrossSectionVectorPerVolumeForSecond().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionFunction2 ( G4double  kinEnergyProj)
protected

Definition at line 217 of file G4VEmAdjointModel.cc.

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

References ASelectedNucleus, CS_biasing_factor, DiffCrossSectionPerAtomPrimToScatPrim(), DiffCrossSectionPerVolumePrimToScatPrim(), kinEnergyScatProjForIntegration, SelectedMaterial, UseMatrixPerElement, and ZSelectedNucleus.

Referenced by ComputeAdjointCrossSectionVectorPerAtomForScatProj(), and ComputeAdjointCrossSectionVectorPerVolumeForScatProj().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionPerAtomPrimToScatPrim ( G4double  kinEnergyProj,
G4double  kinEnergyScatProj,
G4double  Z,
G4double  A = 0. 
)
virtual

Reimplemented in G4AdjointComptonModel.

Definition at line 144 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 144 of file G4VEmAdjointModel.cc

References DiffCrossSectionPerAtomPrimToSecond().

Referenced by DiffCrossSectionFunction2(), and SampleAdjSecEnergyFromDiffCrossSectionPerAtom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionPerAtomPrimToSecond ( G4double  kinEnergyProj,
G4double  kinEnergyProd,
G4double  Z,
G4double  A = 0. 
)
virtual

Reimplemented in G4AdjointhIonisationModel, G4AdjointIonIonisationModel, G4AdjointComptonModel, and G4AdjointeIonisationModel.

Definition at line 112 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 112 of file G4VEmAdjointModel.cc

References G4VEmModel::ComputeCrossSectionPerAtom(), dE, GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), theDirectEMModel, and theDirectPrimaryPartDef.

Referenced by DiffCrossSectionFunction1(), DiffCrossSectionPerAtomPrimToScatPrim(), and SampleAdjSecEnergyFromDiffCrossSectionPerAtom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionPerVolumeFunctionForIntegrationOverEkinProj ( G4double  EkinProd)
protected

Definition at line 232 of file G4VEmAdjointModel.cc.

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

References DiffCrossSectionPerVolumePrimToSecond(), kinEnergyProjForIntegration, and SelectedMaterial.

+ Here is the call graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionPerVolumePrimToScatPrim ( const G4Material aMaterial,
G4double  kinEnergyProj,
G4double  kinEnergyScatProj 
)
virtual

Definition at line 188 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 188 of file G4VEmAdjointModel.cc

References DiffCrossSectionPerVolumePrimToSecond().

Referenced by DiffCrossSectionFunction2(), and G4AdjointeIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::DiffCrossSectionPerVolumePrimToSecond ( const G4Material aMaterial,
G4double  kinEnergyProj,
G4double  kinEnergyProd 
)
virtual

Reimplemented in G4AdjointBremsstrahlungModel.

Definition at line 160 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 160 of file G4VEmAdjointModel.cc

References G4VEmModel::CrossSectionPerVolume(), dE, GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), theDirectEMModel, and theDirectPrimaryPartDef.

Referenced by DiffCrossSectionFunction1(), DiffCrossSectionPerVolumeFunctionForIntegrationOverEkinProj(), DiffCrossSectionPerVolumePrimToScatPrim(), G4AdjointBremsstrahlungModel::DiffCrossSectionPerVolumePrimToSecond(), and G4AdjointeIonisationModel::SampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::GetAdjointCrossSection ( const G4MaterialCutsCouple aCouple,
G4double  primEnergy,
G4bool  IsScatProjToProjCase 
)
virtual

Reimplemented in G4AdjointBremsstrahlungModel, G4AdjointComptonModel, and G4AdjointPhotoElectricModel.

Definition at line 83 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 83 of file G4VEmAdjointModel.cc

References AdjointCrossSection().

Referenced by G4AdjointBremsstrahlungModel::GetAdjointCrossSection(), and G4VAdjointReverseReaction::GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ParticleDefinition* G4VEmAdjointModel::GetAdjointEquivalentOfDirectPrimaryParticleDefinition ( )
inline

Definition at line 180 of file G4VEmAdjointModel.hh.

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

References theAdjEquivOfDirectPrimPartDef.

G4ParticleDefinition* G4VEmAdjointModel::GetAdjointEquivalentOfDirectSecondaryParticleDefinition ( )
inline

Definition at line 182 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 182 of file G4VEmAdjointModel.hh

References theAdjEquivOfDirectSecondPartDef.

G4bool G4VEmAdjointModel::GetApplyCutInRange ( )
inline

Definition at line 213 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 213 of file G4VEmAdjointModel.hh

References ApplyCutInRange.

Referenced by G4AdjointCSManager::ComputeAdjointCS().

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::GetHighEnergyLimit ( )
inline

Definition at line 184 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 184 of file G4VEmAdjointModel.hh

References HighEnergyLimit.

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndElement(), and G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndMaterial().

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::GetLowEnergyLimit ( )
inline

Definition at line 186 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 186 of file G4VEmAdjointModel.hh

References LowEnergyLimit.

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndElement(), G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndMaterial(), ComputeAdjointCrossSectionVectorPerAtomForScatProj(), and ComputeAdjointCrossSectionVectorPerVolumeForScatProj().

+ Here is the caller graph for this function:

G4String G4VEmAdjointModel::GetName ( void  )
inline

Definition at line 215 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 215 of file G4VEmAdjointModel.hh

References name.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices().

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::GetSecondAdjEnergyMaxForScatProjToProjCase ( G4double  PrimAdjEnergy)
virtual
G4double G4VEmAdjointModel::GetSecondAdjEnergyMinForScatProjToProjCase ( G4double  PrimAdjEnergy,
G4double  Tcut = 0 
)
virtual
G4bool G4VEmAdjointModel::GetSecondPartOfSameType ( )
inline

Definition at line 202 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 202 of file G4VEmAdjointModel.hh

References second_part_of_same_type.

Referenced by G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndElement(), and G4AdjointCSManager::BuildCrossSectionsMatricesForAGivenModelAndMaterial().

+ Here is the caller graph for this function:

G4bool G4VEmAdjointModel::GetUseMatrix ( )
inline

Definition at line 210 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 210 of file G4VEmAdjointModel.hh

References UseMatrix.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices(), and G4AdjointCSManager::ComputeAdjointCS().

+ Here is the caller graph for this function:

G4bool G4VEmAdjointModel::GetUseMatrixPerElement ( )
inline

Definition at line 211 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 211 of file G4VEmAdjointModel.hh

References UseMatrixPerElement.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices(), and G4AdjointCSManager::ComputeAdjointCS().

+ Here is the caller graph for this function:

G4bool G4VEmAdjointModel::GetUseOnlyOneMatrixForAllElements ( )
inline

Definition at line 212 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 212 of file G4VEmAdjointModel.hh

References UseOnlyOneMatrixForAllElements.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices(), and G4AdjointCSManager::ComputeAdjointCS().

+ Here is the caller graph for this function:

G4double G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix ( size_t  MatrixIndex,
G4double  prim_energy,
G4bool  IsScatProjToProjCase 
)
protected
G4double G4VEmAdjointModel::SampleAdjSecEnergyFromCSMatrix ( G4double  prim_energy,
G4bool  IsScatProjToProjCase 
)
protected

Definition at line 548 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 548 of file G4VEmAdjointModel.cc

References indexOfUsedCrossSectionMatrix, SampleAdjSecEnergyFromCSMatrix(), and SelectCSMatrix().

+ Here is the call graph for this function:

G4double G4VEmAdjointModel::SampleAdjSecEnergyFromDiffCrossSectionPerAtom ( G4double  prim_energy,
G4bool  IsScatProjToProjCase 
)
protectedvirtual

Definition at line 580 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 580 of file G4VEmAdjointModel.cc

References currentTcutForDirectSecond, DiffCrossSectionPerAtomPrimToScatPrim(), DiffCrossSectionPerAtomPrimToSecond(), E, Emax, Emin, G4UniformRand, GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMaxForScatProjToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), x, and xmin.

+ Here is the call graph for this function:

virtual void G4VEmAdjointModel::SampleSecondaries ( const G4Track aTrack,
G4bool  IsScatProjToProjCase,
G4ParticleChange fParticleChange 
)
pure virtual

Implemented in G4AdjointhIonisationModel, G4AdjointIonIonisationModel, G4AdjointPhotoElectricModel, G4AdjointBremsstrahlungModel, G4AdjointeIonisationModel, and G4AdjointComptonModel.

Referenced by G4VAdjointReverseReaction::PostStepDoIt(), and G4AdjointForcedInteractionForGamma::PostStepDoIt().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SelectCSMatrix ( G4bool  IsScatProjToProjCase)
protected

Definition at line 554 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 554 of file G4VEmAdjointModel.cc

References CS_Vs_ElementForProdToProjCase, CS_Vs_ElementForScatProjToProjCase, currentMaterial, currentMaterialIndex, G4UniformRand, G4Material::GetElement(), G4Element::GetIndex(), indexOfUsedCrossSectionMatrix, lastAdjointCSForProdToProjCase, lastAdjointCSForScatProjToProjCase, lastCS, UseMatrixPerElement, and UseOnlyOneMatrixForAllElements.

Referenced by SampleAdjSecEnergyFromCSMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetAdditionalWeightCorrectionFactorForPostStepOutsideModel ( G4double  factor)
inline

Definition at line 219 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 219 of file G4VEmAdjointModel.hh

References additional_weight_correction_factor_for_post_step_outside_model.

Referenced by G4AdjointForcedInteractionForGamma::PostStepDoIt().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetAdjointEquivalentOfDirectPrimaryParticleDefinition ( G4ParticleDefinition aPart)

Definition at line 728 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 728 of file G4VEmAdjointModel.cc

References G4Electron::Electron(), G4Gamma::Gamma(), G4ParticleDefinition::GetParticleName(), theAdjEquivOfDirectPrimPartDef, and theDirectPrimaryPartDef.

+ Here is the call graph for this function:

void G4VEmAdjointModel::SetAdjointEquivalentOfDirectSecondaryParticleDefinition ( G4ParticleDefinition aPart)
inline

Definition at line 196 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 196 of file G4VEmAdjointModel.hh

References theAdjEquivOfDirectSecondPartDef.

void G4VEmAdjointModel::SetApplyCutInRange ( G4bool  aBool)
inline

Definition at line 209 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 209 of file G4VEmAdjointModel.hh

References ApplyCutInRange.

Referenced by G4AdjointBremsstrahlungModel::G4AdjointBremsstrahlungModel(), G4AdjointComptonModel::G4AdjointComptonModel(), and G4AdjointPhotoElectricModel::G4AdjointPhotoElectricModel().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetCorrectWeightForPostStepInModel ( G4bool  aBool)
inline

Definition at line 218 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 218 of file G4VEmAdjointModel.hh

References correct_weight_for_post_step_in_model.

Referenced by G4AdjointForcedInteractionForGamma::PostStepDoIt().

+ Here is the caller graph for this function:

virtual void G4VEmAdjointModel::SetCSBiasingFactor ( G4double  aVal)
inlinevirtual

Definition at line 216 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 216 of file G4VEmAdjointModel.hh

References CS_biasing_factor.

Referenced by G4AdjointPhysicsList::ConstructEM().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetCSMatrices ( std::vector< G4AdjointCSMatrix * > *  Vec1CSMatrix,
std::vector< G4AdjointCSMatrix * > *  Vec2CSMatrix 
)
inline

Definition at line 173 of file G4VEmAdjointModel.hh.

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

References pOnCSMatrixForProdToProjBackwardScattering, and pOnCSMatrixForScatProjToProjBackwardScattering.

Referenced by G4AdjointCSManager::BuildCrossSectionMatrices().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetHighEnergyLimit ( G4double  aVal)

Definition at line 715 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 715 of file G4VEmAdjointModel.cc

References HighEnergyLimit, G4VEmModel::SetHighEnergyLimit(), and theDirectEMModel.

Referenced by G4AdjointPhysicsList::ConstructEM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetLowEnergyLimit ( G4double  aVal)

Definition at line 721 of file G4VEmAdjointModel.cc.

View newest version in sPHENIX GitHub at line 721 of file G4VEmAdjointModel.cc

References LowEnergyLimit, G4VEmModel::SetLowEnergyLimit(), and theDirectEMModel.

Referenced by G4AdjointPhysicsList::ConstructEM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetSecondPartOfSameType ( G4bool  aBool)
inline

Definition at line 200 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 200 of file G4VEmAdjointModel.hh

References second_part_of_same_type.

Referenced by G4eInverseBremsstrahlung::G4eInverseBremsstrahlung(), G4eInverseCompton::G4eInverseCompton(), G4eInverseIonisation::G4eInverseIonisation(), G4hInverseIonisation::G4hInverseIonisation(), G4InversePEEffect::G4InversePEEffect(), and G4IonInverseIonisation::G4IonInverseIonisation().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetUseMatrix ( G4bool  aBool)
inline

Definition at line 204 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 204 of file G4VEmAdjointModel.hh

References UseMatrix.

Referenced by G4AdjointPhysicsList::ConstructEM(), G4AdjointBremsstrahlungModel::G4AdjointBremsstrahlungModel(), G4AdjointComptonModel::G4AdjointComptonModel(), and G4AdjointPhotoElectricModel::G4AdjointPhotoElectricModel().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetUseMatrixPerElement ( G4bool  aBool)
inline

Definition at line 206 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 206 of file G4VEmAdjointModel.hh

References UseMatrixPerElement.

Referenced by G4AdjointBremsstrahlungModel::G4AdjointBremsstrahlungModel(), and G4AdjointComptonModel::G4AdjointComptonModel().

+ Here is the caller graph for this function:

void G4VEmAdjointModel::SetUseOnlyOneMatrixForAllElements ( G4bool  aBool)
inline

Definition at line 207 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 207 of file G4VEmAdjointModel.hh

References UseOnlyOneMatrixForAllElements.

Referenced by G4AdjointComptonModel::G4AdjointComptonModel().

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4VEmAdjointModel::additional_weight_correction_factor_for_post_step_outside_model
protected
G4int G4VEmAdjointModel::ASelectedNucleus
protected
G4bool G4VEmAdjointModel::correct_weight_for_post_step_in_model
protected
std::vector<G4double> G4VEmAdjointModel::CS_Vs_ElementForProdToProjCase
protected

Definition at line 285 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 285 of file G4VEmAdjointModel.hh

Referenced by AdjointCrossSection(), and SelectCSMatrix().

std::vector<G4double> G4VEmAdjointModel::CS_Vs_ElementForScatProjToProjCase
protected

Definition at line 284 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 284 of file G4VEmAdjointModel.hh

Referenced by AdjointCrossSection(), and SelectCSMatrix().

size_t G4VEmAdjointModel::currentCoupleIndex
protected

Definition at line 308 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 308 of file G4VEmAdjointModel.hh

Referenced by DefineCurrentMaterial(), and G4AdjointPhotoElectricModel::DefineCurrentMaterialAndElectronEnergy().

size_t G4VEmAdjointModel::currentMaterialIndex
protected

Definition at line 307 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 307 of file G4VEmAdjointModel.hh

Referenced by DefineCurrentMaterial(), G4AdjointPhotoElectricModel::DefineCurrentMaterialAndElectronEnergy(), and SelectCSMatrix().

G4double G4VEmAdjointModel::currentTcutForDirectPrim
protected

Definition at line 309 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 309 of file G4VEmAdjointModel.hh

size_t G4VEmAdjointModel::indexOfUsedCrossSectionMatrix
protected

Definition at line 336 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 336 of file G4VEmAdjointModel.hh

Referenced by SampleAdjSecEnergyFromCSMatrix(), and SelectCSMatrix().

G4double G4VEmAdjointModel::kinEnergyProdForIntegration
protected
G4double G4VEmAdjointModel::kinEnergyProjForIntegration
protected

Definition at line 276 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 276 of file G4VEmAdjointModel.hh

Referenced by DiffCrossSectionPerVolumeFunctionForIntegrationOverEkinProj().

G4double G4VEmAdjointModel::kinEnergyScatProjForIntegration
protected
G4double G4VEmAdjointModel::lastAdjointCSForProdToProjCase
protected

Definition at line 289 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 289 of file G4VEmAdjointModel.hh

Referenced by AdjointCrossSection(), CorrectPostStepWeight(), G4AdjointeIonisationModel::SampleSecondaries(), and SelectCSMatrix().

G4double G4VEmAdjointModel::lastAdjointCSForScatProjToProjCase
protected

Definition at line 288 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 288 of file G4VEmAdjointModel.hh

Referenced by AdjointCrossSection(), CorrectPostStepWeight(), G4AdjointeIonisationModel::SampleSecondaries(), and SelectCSMatrix().

G4double G4VEmAdjointModel::LowEnergyLimit
protected

Definition at line 322 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 322 of file G4VEmAdjointModel.hh

Referenced by GetLowEnergyLimit(), and SetLowEnergyLimit().

G4double G4VEmAdjointModel::mass_ratio_product
protected

Definition at line 315 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 315 of file G4VEmAdjointModel.hh

Referenced by G4VEmAdjointModel().

G4double G4VEmAdjointModel::mass_ratio_projectile
protected
size_t G4VEmAdjointModel::model_index
protected

Definition at line 338 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 338 of file G4VEmAdjointModel.hh

Referenced by G4VEmAdjointModel().

const G4String G4VEmAdjointModel::name
protected

Definition at line 266 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 266 of file G4VEmAdjointModel.hh

Referenced by GetName().

std::vector< G4AdjointCSMatrix* >* G4VEmAdjointModel::pOnCSMatrixForProdToProjBackwardScattering
protected

Definition at line 282 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 282 of file G4VEmAdjointModel.hh

Referenced by SetCSMatrices().

std::vector< G4AdjointCSMatrix* >* G4VEmAdjointModel::pOnCSMatrixForScatProjToProjBackwardScattering
protected

Definition at line 283 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 283 of file G4VEmAdjointModel.hh

Referenced by SetCSMatrices().

G4VParticleChange* G4VEmAdjointModel::pParticleChange
protected

Definition at line 258 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 258 of file G4VEmAdjointModel.hh

G4double G4VEmAdjointModel::preStepEnergy
protected

Definition at line 301 of file G4VEmAdjointModel.hh.

View newest version in sPHENIX GitHub at line 301 of file G4VEmAdjointModel.hh

Referenced by AdjointCrossSection(), and CorrectPostStepWeight().

G4int G4VEmAdjointModel::ZSelectedNucleus
protected

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