Class RMGPhysics

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public G4VModularPhysicsList

Class Documentation

class RMGPhysics : public G4VModularPhysicsList

Class to handle the physics lists, extends G4VModularPhysicsList.

This handles selecting the physics list options (from those in geant4), and defining the stepping cuts and production cuts for the simulation.

Public Types

enum class LowEnergyEMOption

Enum to specify a EM physics list from Geant4, see Geant4-manual for more information.

Values:

enumerator kOption1
enumerator kOption2
enumerator kOption3
enumerator kOption4
enumerator kPenelope
enumerator kLivermore
enumerator kLivermorePolarized
enumerator kNone
enum class HadronicPhysicsListOption

Enum to specify a hardronic physics list from Geant4, see Geant4-manual for more information.

Values:

enumerator kQGSP_BIC_HP
enumerator kQGSP_BERT_HP
enumerator kFTFP_BERT_HP
enumerator kShielding
enumerator kNone

Public Functions

RMGPhysics()

Constructor for RMGPhysics , this sets the default choices.

This sets the default prdduction cuts values. By default a cut of 0.1 mm is used.

RMGPhysics(RMGPhysics const&) = delete
RMGPhysics &operator=(RMGPhysics const&) = delete
RMGPhysics(RMGPhysics&&) = delete
RMGPhysics &operator=(RMGPhysics&&) = delete
void SetCuts() override

Sets the production cut values, and energy range.

Defines a set of production cuts for the default region and also for the G4Region “SensitiveRegion”. This is created in RMGHardware, but this behavior might be changed in a derived class, so careful here!

inline void SetLowEnergyRange(G4double low_energy)

Sets the energy range for the production cut table.

inline void SetHighEnergyRange(G4double high_energy)

Sets the energy range for the production cut table.

void SetDefaultProductionCut(double cut)

Set the production cut for the default region.

The same cut is used for electrons, positrons and gammas. Notes:

  • No production cut alpha or generic ion is set.

Parameters:

cut – the production cut value for the default region.

void SetSensitiveProductionCut(double cut)

Set the production cut for the sensitive region.

The same cut is used for electrons, positrons and gammas. Notes:

  • No production cut alpha or generic ion is set.

Parameters:

cut – the production cut value for the sensitive region.

void SetLowEnergyEMOptionString(std::string option)

Set the low energy EM options from a string, for use in the messenger.

void SetHadronicPhysicsListOptionString(std::string option)

Set the low energy EM options from a string, for use in the messenger.

void SetUseGammaAngCorr(bool)

Option to turn on gamma emisson with correct angular correlations.

void SetGammaTwoJMAX(int max_two_j)
void SetStoreICLevelData(bool)

Protected Functions

void ConstructParticle() override
void ConstructProcess() override
virtual void ConstructOptical()
struct ProdCutStore

Struct to hold the production cut values.

Public Functions

ProdCutStore() = default
inline ProdCutStore(double def_cut)

Constructor setting the default production cut def_cut.

Public Members

double gamma
double electron
double positron
double proton
double alpha
double generic_ion