Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
RadioBio::PhysicsList Class Reference

#include <Doxymodules_medical.h>

Inheritance diagram for RadioBio::PhysicsList:
G4VModularPhysicsList G4VUserPhysicsList

Public Member Functions

 PhysicsList ()
 
 ~PhysicsList () override
 
void ConstructParticle () override
 
void ConstructProcess () override
 
void SetCutForGamma (G4double)
 
void SetCutForElectron (G4double)
 
void SetCutForPositron (G4double)
 
void SetDetectorCut (G4double cut)
 
void AddPhysicsList (const G4String &name)
 
void AddPackage (const G4String &name)
 

Private Attributes

G4double fCutForGamma = -1.
 
G4double fCutForElectron = -1.
 
G4double fCutForPositron = -1.
 
G4String fEmName
 
G4VPhysicsConstructorfEmPhysicsList = nullptr
 
G4VPhysicsConstructorfDecayPhysicsList = nullptr
 
std::vector< G4VPhysicsConstructor * > fHadronPhys = {}
 
PhysicsListMessengerfPhysMessenger = nullptr
 

Detailed Description

Definition at line 138 of file Doxymodules_medical.h.

Constructor & Destructor Documentation

◆ PhysicsList()

RadioBio::PhysicsList::PhysicsList ( )

Definition at line 62 of file PhysicsList.cc.

63{
64 // Set default cut values
65 G4LossTableManager::Instance();
66 defaultCutValue = 1. * mm;
67 fCutForGamma = defaultCutValue;
68 fCutForElectron = defaultCutValue;
69 fCutForPositron = defaultCutValue;
70
71 fPhysMessenger = new PhysicsListMessenger(this);
72 SetVerboseLevel(1);
73
74 // Create default decay physics
76
77 // Create default electromagnetic physics
79}
PhysicsListMessenger * fPhysMessenger
G4VPhysicsConstructor * fDecayPhysicsList
G4VPhysicsConstructor * fEmPhysicsList

◆ ~PhysicsList()

RadioBio::PhysicsList::~PhysicsList ( )
override

Definition at line 83 of file PhysicsList.cc.

84{
85 delete fPhysMessenger;
86 delete fEmPhysicsList;
87 delete fDecayPhysicsList;
88
89 // Destroy hadronic physics
90 for (size_t i = 0; i < fHadronPhys.size(); i++) {
91 delete fHadronPhys[i];
92 }
93
94 // Clear pointers
95 fHadronPhys.clear();
96}
std::vector< G4VPhysicsConstructor * > fHadronPhys

Member Function Documentation

◆ ConstructParticle()

void RadioBio::PhysicsList::ConstructParticle ( )
override

Definition at line 100 of file PhysicsList.cc.

101{
102 fDecayPhysicsList->ConstructParticle();
103}

◆ ConstructProcess()

void RadioBio::PhysicsList::ConstructProcess ( )
override

Definition at line 107 of file PhysicsList.cc.

108{
109 // Transportation
110 AddTransportation();
111
112 // Construct default decay and EM processes
113 fDecayPhysicsList->ConstructProcess();
114 fEmPhysicsList->ConstructProcess();
115
116 // Construct hadronic processes
117 for (size_t i = 0; i < fHadronPhys.size(); i++) {
118 fHadronPhys[i]->ConstructProcess();
119 }
120}

◆ SetCutForGamma()

void RadioBio::PhysicsList::SetCutForGamma ( G4double  )

◆ SetCutForElectron()

void RadioBio::PhysicsList::SetCutForElectron ( G4double  )

◆ SetCutForPositron()

void RadioBio::PhysicsList::SetCutForPositron ( G4double  )

◆ SetDetectorCut()

void RadioBio::PhysicsList::SetDetectorCut ( G4double  cut)

◆ AddPhysicsList()

void RadioBio::PhysicsList::AddPhysicsList ( const G4String name)

Definition at line 124 of file PhysicsList.cc.

125{
126 if (verboseLevel > 1) {
127 G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
128 }
129 if (name == fEmName) return;
130
131 ///////////////////////////////////
132 // ELECTROMAGNETIC MODELS
133 ///////////////////////////////////
134 if (name == "standard_opt4") {
135 fEmName = name;
136 delete fEmPhysicsList;
137 fHadronPhys.clear();
139 G4RunManager::GetRunManager()->PhysicsHasBeenModified();
140 if (verboseLevel > 1) {
141 G4cout << "THE FOLLOWING ELECTROMAGNETIC PHYSICS LIST HAS BEEN ACTIVATED: "
142 << "G4EmStandardPhysics_option4" << G4endl;
143 }
144
145 ////////////////////////////////////////
146 // ELECTROMAGNETIC + HADRONIC MODELS
147 ////////////////////////////////////////
148 }
149 else if (name == "HADRONTHERAPY_1") {
150 AddPhysicsList("standard_opt4");
151 fHadronPhys.push_back(new G4RadioactiveDecayPhysics());
152 fHadronPhys.push_back(new G4IonBinaryCascadePhysics());
153 fHadronPhys.push_back(new G4EmExtraPhysics());
154 fHadronPhys.push_back(new G4HadronElasticPhysicsHP());
155 fHadronPhys.push_back(new G4StoppingPhysics());
157 fHadronPhys.push_back(new G4NeutronTrackingCut());
158
159 G4cout << "HADRONTHERAPY_1 PHYSICS LIST has been activated" << G4endl;
160 }
161
162 else if (name == "HADRONTHERAPY_2") {
163 // HP models are switched off
164 AddPhysicsList("standard_opt4");
165 fHadronPhys.push_back(new G4RadioactiveDecayPhysics());
166 fHadronPhys.push_back(new G4IonBinaryCascadePhysics());
167 fHadronPhys.push_back(new G4EmExtraPhysics());
168 fHadronPhys.push_back(new G4HadronElasticPhysics());
169 fHadronPhys.push_back(new G4StoppingPhysics());
170 fHadronPhys.push_back(new G4HadronPhysicsQGSP_BIC());
171 fHadronPhys.push_back(new G4NeutronTrackingCut());
172
173 G4cout << "HADRONTHERAPY_2 PHYSICS LIST has been activated" << G4endl;
174 }
175 else {
176 G4Exception("PhysicsList::AddPhysicsList", "NoPhysicsList", JustWarning,
177 (name + " is not a defined physics list").c_str());
178 }
179}
void AddPhysicsList(const G4String &name)

◆ AddPackage()

void RadioBio::PhysicsList::AddPackage ( const G4String name)

Member Data Documentation

◆ fCutForGamma

G4double RadioBio::PhysicsList::fCutForGamma = -1.
private

Definition at line 60 of file PhysicsList.hh.

◆ fCutForElectron

G4double RadioBio::PhysicsList::fCutForElectron = -1.
private

Definition at line 61 of file PhysicsList.hh.

◆ fCutForPositron

G4double RadioBio::PhysicsList::fCutForPositron = -1.
private

Definition at line 62 of file PhysicsList.hh.

◆ fEmName

G4String RadioBio::PhysicsList::fEmName
private

Definition at line 63 of file PhysicsList.hh.

◆ fEmPhysicsList

G4VPhysicsConstructor* RadioBio::PhysicsList::fEmPhysicsList = nullptr
private

Definition at line 64 of file PhysicsList.hh.

◆ fDecayPhysicsList

G4VPhysicsConstructor* RadioBio::PhysicsList::fDecayPhysicsList = nullptr
private

Definition at line 65 of file PhysicsList.hh.

◆ fHadronPhys

std::vector<G4VPhysicsConstructor*> RadioBio::PhysicsList::fHadronPhys = {}
private

Definition at line 67 of file PhysicsList.hh.

67{};

◆ fPhysMessenger

PhysicsListMessenger* RadioBio::PhysicsList::fPhysMessenger = nullptr
private

Definition at line 69 of file PhysicsList.hh.


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

Applications | User Support | Publications | Collaboration