GEMC  2.2
Geant4 Monte-Carlo Framework
PhysicsList.h
Go to the documentation of this file.
1 #ifndef PHYSICS_LIST_H
2 #define PHYSICS_LIST_H 1
3 
4 // gemc headers
5 #include "options.h"
6 
7 // geant4 headers
8 #include "G4VModularPhysicsList.hh"
9 
10 // c++ headers
11 #include <string>
12 using namespace std;
13 
14 
15 // the ingredient list is a combination of names
16 // such as "FTFP_BERT + em_opt1 + optical"
17 //
18 // valid physics ingredients
19 // - any G4 phys list
20 // - em_std, em_opt1, em_opt2, em_opt3, em_opt4
21 // - optical
23 {
24 public:
25 
27  ~PhysicsList();
28 
29  void list();
30 
31  vector<string> physIngredients;
32  bool validateIngredients();
33 
34  // SetCuts is required by G4VModularPhysicsList
35  // will actually call the individual particles sets
36  void SetCuts();
37  void SetCutForGamma(double);
38  void SetCutForElectron(double);
39  void SetCutForPositron(double);
40  void SetCutForProton(double);
41 
42 
43 private:
44 
45  double cutForGamma;
46  double cutForElectron;
47  double cutForPositron;
48  double cutForProton;
49 
50  goptions gemcOpt;
51 
52  double verbosity;
53  string ingredientsList;
54  string hadronicPhys;
55  string EMPhys;
56  string opticalPhys;
57  string HPPhys;
58 
59  vector<G4String> g4HadronicList;
60  vector<G4String> g4EMList;
61 
62 
63  G4VPhysicsConstructor* g4EMPhysics;
64  G4VPhysicsConstructor* g4ParticleList;
65  vector<G4VPhysicsConstructor*> g4HadronicPhysics;
66 
67  // build the geant4 physics
68  void cookPhysics();
69  void ConstructParticle();
70  void ConstructProcess();
71 
72 };
73 
74 
75 
76 #endif
double verbosity
STL namespace.
vector< string > physIngredients
Definition: PhysicsList.h:31