-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPhysicsList.hh
51 lines (39 loc) · 989 Bytes
/
PhysicsList.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef PhysicsList_h
#define PhysicsList_h 1
#include "G4VModularPhysicsList.hh"
#include "G4VUserPhysicsList.hh"
class G4LowEnergyIonisation;
class G4LowEnergyPhotoElectric;
class G4LowEnergyBremsstrahlung;
enum PhysicsModel { Livermore, Penelope };
enum ComptonModel {
ComptonLivermore,
ComptonPenelope,
KleinNishina,
ComptonLowEP,
LivermoreModified
};
class ModularPhysicsList : public G4VModularPhysicsList {
public:
ModularPhysicsList();
~ModularPhysicsList();
void Configure(string physicsModelName, string comptonModelName);
void SetElectronCut(G4double);
void SetPositronCut(G4double);
void SetGammaCut(G4double);
protected:
void ConstructParticle();
void ConstructProcess();
void SetCuts();
void ConstructBosons();
void ConstructLeptons();
void ConstructGeneral();
void ConstructEM();
private:
G4double cutGamma;
G4double cutElectron;
G4double cutPositron;
PhysicsModel physicsModel;
ComptonModel comptonModel;
};
#endif