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

Physics list. More...

#include <Doxymodules_exoticphysics.h>

Inheritance diagram for SAXSPhysicsList:
G4VUserPhysicsList

Public Member Functions

 SAXSPhysicsList ()
 
virtual ~SAXSPhysicsList ()
 
void ConstructParticle () override
 
void ConstructProcess () override
 
void SetDefaultCutsValue (G4double)
 
void SelectPhysicsList (const G4String &name)
 
void SetUseMIFlag (G4bool val)
 
G4bool GetUseMIFlag ()
 
SAXSPhysicsListoperator= (const SAXSPhysicsList &right)=delete
 
 SAXSPhysicsList (const SAXSPhysicsList &)=delete
 

Private Attributes

G4VPhysicsConstructorfParticleList
 
G4VPhysicsConstructorfEmPhysicsList
 
G4bool fUseMIFlag
 
SAXSPhysicsListMessengerfPMessenger
 

Detailed Description

Physics list.

It includes various EM constructors, which can be selected through macro. By defualt "standard" Penelope physics is used. In order to activate Molecular interference (MI) effects in Rayleigh scattering, choose G4EmPenelopeMI PhysicsList with fUseMIFlag variable set as true (default).

Definition at line 67 of file Doxymodules_exoticphysics.h.

Constructor & Destructor Documentation

◆ SAXSPhysicsList() [1/2]

SAXSPhysicsList::SAXSPhysicsList ( )

Definition at line 68 of file SAXSPhysicsList.cc.

68 :
70 fUseMIFlag(true),
72{
73 G4cout << "### PhysicsList instantiated ###" << G4endl;
74
75 G4LossTableManager::Instance();
76
77 //set default cuts value
78 defaultCutValue = 0.1*mm;
79
80 //define the messenger
82
83 //set verbosity
84 SetVerboseLevel(1);
85
86 //particle list
87 fParticleList = new G4DecayPhysics(verboseLevel);
88
89 //EM Physics
90 fEmPhysicsList = new G4EmPenelopePhysics(verboseLevel);
91}
SAXSPhysicsListMessenger * fPMessenger
G4VPhysicsConstructor * fParticleList
G4VPhysicsConstructor * fEmPhysicsList

◆ ~SAXSPhysicsList()

SAXSPhysicsList::~SAXSPhysicsList ( )
virtual

Definition at line 95 of file SAXSPhysicsList.cc.

96{
97 delete fPMessenger;
98}

◆ SAXSPhysicsList() [2/2]

SAXSPhysicsList::SAXSPhysicsList ( const SAXSPhysicsList )
delete

Member Function Documentation

◆ ConstructParticle()

void SAXSPhysicsList::ConstructParticle ( )
override

Definition at line 102 of file SAXSPhysicsList.cc.

103{
104 fParticleList->ConstructParticle();
105}

◆ ConstructProcess()

void SAXSPhysicsList::ConstructProcess ( )
override

Definition at line 109 of file SAXSPhysicsList.cc.

110{
111 //transportation
112 AddTransportation();
113
114 //Atomic deexcitation
115 G4EmParameters* param = G4EmParameters::Instance();
116 param->SetFluo(true); //Activate deexcitation processes and fluorescence
117 param->SetAuger(true); //Activate Auger effect if deexcitation is activated
118 param->SetPixe(true); //Activate Particle Induced X-Ray Emission (PIXE)
119
120 //EM physics
121 fEmPhysicsList->ConstructProcess();
122}

◆ SetDefaultCutsValue()

void SAXSPhysicsList::SetDefaultCutsValue ( G4double  value)

Definition at line 162 of file SAXSPhysicsList.cc.

163{
164 //define a new default cuts value
165 defaultCutValue = value;
166}

◆ SelectPhysicsList()

void SAXSPhysicsList::SelectPhysicsList ( const G4String name)

Definition at line 126 of file SAXSPhysicsList.cc.

127{
128 if (verboseLevel>1) {
129 G4cout << "### PhysicsList::SelectPhysicsList: <" << name << "> ###" << G4endl;
130 }
131
132 if (name == "emstandard") {
133 delete fEmPhysicsList;
134 fEmPhysicsList = new G4EmStandardPhysics(verboseLevel);
135 G4cout << "### selected Standard PhysicsList ###" << G4endl;
136 } else if (name == "emstandard_opt4") {
137 delete fEmPhysicsList;
139 G4cout << "### selected Standard_option4 PhysicsList ###" << G4endl;
140 } else if (name == "emlivermore") {
141 delete fEmPhysicsList;
142 fEmPhysicsList = new G4EmLivermorePhysics(verboseLevel);
143 G4cout << "### selected Livermore PhysicsList ###" << G4endl;
144 } else if (name == "empenelope") {
145 delete fEmPhysicsList;
146 fEmPhysicsList = new G4EmPenelopePhysics(verboseLevel);
147 G4cout << "### selected Penelope PhysicsList ###" << G4endl;
148 } else if (name == "empenelopeMI") {
149 delete fEmPhysicsList;
150 fEmPhysicsList = new G4EmPenelopePhysicsMI(verboseLevel,"G4EmPenelopeMI",fUseMIFlag);
151 G4cout << "### selected Penelope PhysicsList with MI effects ###" << G4endl;
152 } else if (name == "emlowenergy") {
153 delete fEmPhysicsList;
154 fEmPhysicsList = new G4EmLowEPPhysics(verboseLevel);
155 G4cout << "### selected LowEP PhysicsList ###" << G4endl;
156 } else {
157 G4cout << "### PhysicsList::SelectPhysicsList: <" << name
158 << ">"<< " is not defined ###" << G4endl;
159 }
160}

◆ SetUseMIFlag()

void SAXSPhysicsList::SetUseMIFlag ( G4bool  val)
inline

Definition at line 62 of file SAXSPhysicsList.hh.

62{fUseMIFlag = val;};

◆ GetUseMIFlag()

G4bool SAXSPhysicsList::GetUseMIFlag ( )
inline

Definition at line 63 of file SAXSPhysicsList.hh.

63{return fUseMIFlag;};

◆ operator=()

SAXSPhysicsList & SAXSPhysicsList::operator= ( const SAXSPhysicsList right)
delete

Member Data Documentation

◆ fParticleList

G4VPhysicsConstructor* SAXSPhysicsList::fParticleList
private

Definition at line 70 of file SAXSPhysicsList.hh.

◆ fEmPhysicsList

G4VPhysicsConstructor* SAXSPhysicsList::fEmPhysicsList
private

Definition at line 71 of file SAXSPhysicsList.hh.

◆ fUseMIFlag

G4bool SAXSPhysicsList::fUseMIFlag
private

Definition at line 73 of file SAXSPhysicsList.hh.

◆ fPMessenger

SAXSPhysicsListMessenger* SAXSPhysicsList::fPMessenger
private

Definition at line 75 of file SAXSPhysicsList.hh.


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

Applications | User Support | Publications | Collaboration