-
Notifications
You must be signed in to change notification settings - Fork 1
/
PhysicsList.hh
63 lines (52 loc) · 1.35 KB
/
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
52
53
54
55
56
57
58
59
60
61
62
63
#ifndef PhysicsList_h
#define PhysicsList_h 1
// Defines mandatory user class PhysicsList
#include "G4VUserPhysicsList.hh"
#include "globals.hh"
#include "TrackingAction.hh"
#include "SteppingAction.hh"
#include "PrimaryGeneratorGun2.hh"
#include "G4Track.hh"
//Class prototype
class G4VPhysicsConstructor;
/*
This mandatory user class provides the physics
It is responsible for
- Definition of particles
- Construction of physics processes
- setting of user cuts (limits where you throw out physics below a certain energy)
*/
class PhysicsList: public G4VUserPhysicsList
{
protected:
// Construct particles
void ConstructParticle();
void ConstructBosons();
void ConstructLeptons();
void ConstructMesons();
void ConstructBaryons();
void ConstructIons();
void ConstructNuclei();
// Construct physics processes
void ConstructProcess();
void ConstructEM();
void ConstructGeneral();
//void ConstructOp(TrackingAction(fPrimary));
void ConstructScintillation();
// Define user cuts
void SetCuts();
private:
G4VPhysicsConstructor* emPhysicsList;
SteppingAction* fstep;
public:
//Constructor
//PhysicsList();
PhysicsList():G4VUserPhysicsList(){}
PhysicsList(SteppingAction*);
//Destructor
~PhysicsList();
virtual void ConstructOp();
G4Step* aStep;
//PrimaryGeneratorGun2* fPrimary;
};
#endif