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

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

+ Inheritance diagram for G4AdjointIonIonisationModel:
+ Collaboration diagram for G4AdjointIonIonisationModel:

Public Member Functions

 G4AdjointIonIonisationModel ()
 
virtual ~G4AdjointIonIonisationModel ()
 
virtual void SampleSecondaries (const G4Track &aTrack, G4bool IsScatProjToProjCase, G4ParticleChange *fParticleChange)
 
virtual G4double DiffCrossSectionPerAtomPrimToSecond (G4double kinEnergyProj, G4double kinEnergyProd, G4double Z, G4double A=0.)
 
virtual void CorrectPostStepWeight (G4ParticleChange *fParticleChange, G4double old_weight, G4double adjointPrimKinEnergy, G4double projectileKinEnergy, G4bool IsScatProjToProjCase)
 
virtual G4double GetSecondAdjEnergyMaxForScatProjToProjCase (G4double PrimAdjEnergy)
 
virtual G4double GetSecondAdjEnergyMinForScatProjToProjCase (G4double PrimAdjEnergy, G4double Tcut=0)
 
virtual G4double GetSecondAdjEnergyMaxForProdToProjCase (G4double PrimAdjEnergy)
 
virtual G4double GetSecondAdjEnergyMinForProdToProjCase (G4double PrimAdjEnergy)
 
void SetUseOnlyBragg (G4bool aBool)
 
void SetIon (G4ParticleDefinition *adj_ion, G4ParticleDefinition *fwd_ion)
 
- Public Member Functions inherited from G4VEmAdjointModel
 G4VEmAdjointModel (const G4String &nam)
 
virtual ~G4VEmAdjointModel ()
 
virtual G4double AdjointCrossSection (const G4MaterialCutsCouple *aCouple, G4double primEnergy, G4bool IsScatProjToProjCase)
 
virtual G4double GetAdjointCrossSection (const G4MaterialCutsCouple *aCouple, G4double primEnergy, G4bool IsScatProjToProjCase)
 
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)
 
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)
 

Private Member Functions

void DefineProjectileProperty ()
 

Private Attributes

G4double mass
 
G4double tlimit
 
G4double spin
 
G4double magMoment2
 
G4double chargeSquare
 
G4double massRatio
 
G4double ratio
 
G4double ratio2
 
G4double one_plus_ratio_2
 
G4double formfact
 
G4bool isIon
 
G4double one_minus_ratio_2
 
G4bool use_only_bragg
 
G4VEmModeltheBraggIonDirectEMModel
 
G4VEmModeltheBetheBlochDirectEMModel
 

Additional Inherited Members

- Protected Member Functions inherited from G4VEmAdjointModel
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)
 
- Protected Attributes inherited from G4VEmAdjointModel
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 70 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 70 of file G4AdjointIonIonisationModel.hh

Constructor & Destructor Documentation

G4AdjointIonIonisationModel::~G4AdjointIonIonisationModel ( )
virtual

Definition at line 80 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 80 of file G4AdjointIonIonisationModel.cc

Member Function Documentation

void G4AdjointIonIonisationModel::CorrectPostStepWeight ( G4ParticleChange fParticleChange,
G4double  old_weight,
G4double  adjointPrimKinEnergy,
G4double  projectileKinEnergy,
G4bool  IsScatProjToProjCase 
)
virtual
void G4AdjointIonIonisationModel::DefineProjectileProperty ( )
private
G4double G4AdjointIonIonisationModel::DiffCrossSectionPerAtomPrimToSecond ( G4double  kinEnergyProj,
G4double  kinEnergyProd,
G4double  Z,
G4double  A = 0. 
)
virtual

Reimplemented from G4VEmAdjointModel.

Definition at line 158 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 158 of file G4AdjointIonIonisationModel.cc

References G4VEmModel::ComputeCrossSectionPerAtom(), dE, e, source.hepunit::electron_mass_c2, f, f1, formfact, G4cout, G4endl, GetSecondAdjEnergyMaxForProdToProjCase(), GetSecondAdjEnergyMinForProdToProjCase(), magMoment2, mass, massRatio, MeV, spin, theBetheBlochDirectEMModel, theBraggIonDirectEMModel, G4VEmAdjointModel::theDirectEMModel, G4VEmAdjointModel::theDirectPrimaryPartDef, use_only_bragg, x, x1, and x2.

+ Here is the call graph for this function:

G4double G4AdjointIonIonisationModel::GetSecondAdjEnergyMaxForProdToProjCase ( G4double  PrimAdjEnergy)
virtual

Reimplemented from G4VEmAdjointModel.

Definition at line 355 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 355 of file G4AdjointIonIonisationModel.cc

References G4VEmAdjointModel::HighEnergyLimit.

Referenced by DiffCrossSectionPerAtomPrimToSecond().

+ Here is the caller graph for this function:

G4double G4AdjointIonIonisationModel::GetSecondAdjEnergyMaxForScatProjToProjCase ( G4double  PrimAdjEnergy)
virtual

Reimplemented from G4VEmAdjointModel.

Definition at line 343 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 343 of file G4AdjointIonIonisationModel.cc

References mass, one_minus_ratio_2, one_plus_ratio_2, and ratio.

G4double G4AdjointIonIonisationModel::GetSecondAdjEnergyMinForProdToProjCase ( G4double  PrimAdjEnergy)
virtual

Reimplemented from G4VEmAdjointModel.

Definition at line 360 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 360 of file G4AdjointIonIonisationModel.cc

References mass, and ratio.

Referenced by DiffCrossSectionPerAtomPrimToSecond().

+ Here is the caller graph for this function:

G4double G4AdjointIonIonisationModel::GetSecondAdjEnergyMinForScatProjToProjCase ( G4double  PrimAdjEnergy,
G4double  Tcut = 0 
)
virtual

Reimplemented from G4VEmAdjointModel.

Definition at line 350 of file G4AdjointIonIonisationModel.cc.

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

void G4AdjointIonIonisationModel::SetIon ( G4ParticleDefinition adj_ion,
G4ParticleDefinition fwd_ion 
)

Definition at line 257 of file G4AdjointIonIonisationModel.cc.

View newest version in sPHENIX GitHub at line 257 of file G4AdjointIonIonisationModel.cc

References DefineProjectileProperty(), G4VEmAdjointModel::theAdjEquivOfDirectPrimPartDef, and G4VEmAdjointModel::theDirectPrimaryPartDef.

+ Here is the call graph for this function:

void G4AdjointIonIonisationModel::SetUseOnlyBragg ( G4bool  aBool)
inline

Definition at line 105 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 105 of file G4AdjointIonIonisationModel.hh

References use_only_bragg.

Member Data Documentation

G4double G4AdjointIonIonisationModel::chargeSquare
private

Definition at line 121 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 121 of file G4AdjointIonIonisationModel.hh

Referenced by CorrectPostStepWeight(), and DefineProjectileProperty().

G4double G4AdjointIonIonisationModel::formfact
private

Definition at line 126 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 126 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty(), and DiffCrossSectionPerAtomPrimToSecond().

G4bool G4AdjointIonIonisationModel::isIon
private

Definition at line 127 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 127 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty().

G4double G4AdjointIonIonisationModel::magMoment2
private

Definition at line 120 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 120 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty(), and DiffCrossSectionPerAtomPrimToSecond().

G4double G4AdjointIonIonisationModel::mass
private
G4double G4AdjointIonIonisationModel::massRatio
private

Definition at line 122 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 122 of file G4AdjointIonIonisationModel.hh

Referenced by CorrectPostStepWeight(), DefineProjectileProperty(), and DiffCrossSectionPerAtomPrimToSecond().

G4double G4AdjointIonIonisationModel::one_minus_ratio_2
private

Definition at line 128 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 128 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty(), and GetSecondAdjEnergyMaxForScatProjToProjCase().

G4double G4AdjointIonIonisationModel::one_plus_ratio_2
private

Definition at line 125 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 125 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty(), and GetSecondAdjEnergyMaxForScatProjToProjCase().

G4double G4AdjointIonIonisationModel::ratio
private
G4double G4AdjointIonIonisationModel::ratio2
private

Definition at line 124 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 124 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty().

G4double G4AdjointIonIonisationModel::spin
private

Definition at line 119 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 119 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty(), and DiffCrossSectionPerAtomPrimToSecond().

G4VEmModel* G4AdjointIonIonisationModel::theBetheBlochDirectEMModel
private

Definition at line 134 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 134 of file G4AdjointIonIonisationModel.hh

Referenced by CorrectPostStepWeight(), DiffCrossSectionPerAtomPrimToSecond(), and G4AdjointIonIonisationModel().

G4VEmModel* G4AdjointIonIonisationModel::theBraggIonDirectEMModel
private

Definition at line 133 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 133 of file G4AdjointIonIonisationModel.hh

Referenced by CorrectPostStepWeight(), DiffCrossSectionPerAtomPrimToSecond(), and G4AdjointIonIonisationModel().

G4double G4AdjointIonIonisationModel::tlimit
private

Definition at line 118 of file G4AdjointIonIonisationModel.hh.

View newest version in sPHENIX GitHub at line 118 of file G4AdjointIonIonisationModel.hh

Referenced by DefineProjectileProperty().

G4bool G4AdjointIonIonisationModel::use_only_bragg
private

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