CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HadronPhysicsCMS.h
Go to the documentation of this file.
1 #ifndef SimG4Core_PhysicsLists_HadronPhysicsCMS_h
2 #define SimG4Core_PhysicsLists_HadronPhysicsCMS_h 1
3 
4 #include "globals.hh"
5 #include "G4ios.hh"
6 
7 #include "G4VPhysicsConstructor.hh"
8 #include "G4MiscLHEPBuilder.hh"
9 
10 #include "G4PiKBuilder.hh"
11 #include "G4BertiniPiKBuilder.hh"
12 #include "G4BinaryPiKBuilder.hh"
13 #include "G4FTFCPiKBuilder.hh"
14 #include "G4FTFPPiKBuilder.hh"
15 #include "G4LEPPiKBuilder.hh"
16 #include "G4LHEPPiKBuilder.hh"
17 #include "G4QGSCEflowPiKBuilder.hh"
18 #include "G4QGSCPiKBuilder.hh"
19 #include "G4QGSPPiKBuilder.hh"
20 
21 #include "G4ProtonBuilder.hh"
22 #include "G4BertiniProtonBuilder.hh"
23 #include "G4BinaryProtonBuilder.hh"
24 #include "G4FTFCProtonBuilder.hh"
25 #include "G4FTFPProtonBuilder.hh"
26 #include "G4LEPProtonBuilder.hh"
27 #include "G4LHEPProtonBuilder.hh"
28 #include "G4PrecoProtonBuilder.hh"
29 #include "G4QGSCEflowProtonBuilder.hh"
30 #include "G4QGSCProtonBuilder.hh"
31 #include "G4QGSPProtonBuilder.hh"
32 
33 #include "G4NeutronBuilder.hh"
34 #include "G4BertiniNeutronBuilder.hh"
35 #include "G4BinaryNeutronBuilder.hh"
36 #include "G4FTFCNeutronBuilder.hh"
37 #include "G4FTFPNeutronBuilder.hh"
38 #include "G4LEPNeutronBuilder.hh"
39 #include "G4LHEPNeutronBuilder.hh"
40 #include "G4PrecoNeutronBuilder.hh"
41 #include "G4QGSCEflowNeutronBuilder.hh"
42 #include "G4QGSCNeutronBuilder.hh"
43 #include "G4QGSPNeutronBuilder.hh"
44 
45 #include "G4FTFBinaryNeutronBuilder.hh"
46 #include "G4FTFBinaryPiKBuilder.hh"
47 #include "G4FTFBinaryProtonBuilder.hh"
48 
49 #include "SimG4Core/PhysicsLists/interface/G4RPGNeutronBuilder.hh"
50 #include "SimG4Core/PhysicsLists/interface/G4RPGPiKBuilder.hh"
51 #include "SimG4Core/PhysicsLists/interface/G4RPGProtonBuilder.hh"
52 
53 class HadronPhysicsCMS : public G4VPhysicsConstructor {
54 
55 public:
56 
57  HadronPhysicsCMS(const G4String& name ="QGSP", G4bool quasiElastic=true);
58  virtual ~HadronPhysicsCMS();
59 
60 public:
61 
62  virtual void ConstructParticle();
63  virtual void ConstructProcess();
64 
65 private:
66 
67  void CreateModels();
68 
69  G4NeutronBuilder * theNeutrons;
70  G4BertiniNeutronBuilder * theBertiniNeutron;
71  G4BinaryNeutronBuilder * theBinaryNeutron;
72  G4FTFCNeutronBuilder * theFTFCNeutron;
73  G4FTFPNeutronBuilder * theFTFPNeutron;
74  G4LEPNeutronBuilder * theLEPNeutron;
75  G4LHEPNeutronBuilder * theLHEPNeutron;
76  G4PrecoNeutronBuilder * thePrecoNeutron;
77  G4QGSCEflowNeutronBuilder * theQGSCEflowNeutron;
78  G4QGSCNeutronBuilder * theQGSCNeutron;
79  G4QGSPNeutronBuilder * theQGSPNeutron;
80 
81  G4PiKBuilder * thePiK;
82  G4BertiniPiKBuilder * theBertiniPiK;
83  G4BinaryPiKBuilder * theBinaryPiK;
84  G4FTFCPiKBuilder * theFTFCPiK;
85  G4FTFPPiKBuilder * theFTFPPiK;
86  G4LEPPiKBuilder * theLEPPiK;
87  G4LHEPPiKBuilder * theLHEPPiK;
88  G4QGSCEflowPiKBuilder * theQGSCEflowPiK;
89  G4QGSCPiKBuilder * theQGSCPiK;
90  G4QGSPPiKBuilder * theQGSPPiK;
91 
92  G4ProtonBuilder * thePro;
93  G4BertiniProtonBuilder * theBertiniPro;
94  G4BinaryProtonBuilder * theBinaryPro;
95  G4FTFCProtonBuilder * theFTFCPro;
96  G4FTFPProtonBuilder * theFTFPPro;
97  G4LEPProtonBuilder * theLEPPro;
98  G4LHEPProtonBuilder * theLHEPPro;
99  G4PrecoProtonBuilder * thePrecoPro;
100  G4QGSCEflowProtonBuilder * theQGSCEflowPro;
101  G4QGSCProtonBuilder * theQGSCPro;
102  G4QGSPProtonBuilder * theQGSPPro;
103 
104  G4MiscLHEPBuilder * theMiscLHEP;
105 
106  G4FTFBinaryNeutronBuilder * theFTFNeutron;
107  G4FTFBinaryPiKBuilder * theFTFPiK;
108  G4FTFBinaryProtonBuilder * theFTFPro;
109 
110  G4RPGNeutronBuilder * theRPGNeutron;
111  G4RPGPiKBuilder * theRPGPiK;
112  G4RPGProtonBuilder * theRPGPro;
113 
114  G4String modelName;
115  G4bool QuasiElastic;
116 };
117 
118 #endif
119 
G4LHEPProtonBuilder * theLHEPPro
G4RPGNeutronBuilder * theRPGNeutron
G4MiscLHEPBuilder * theMiscLHEP
G4LHEPNeutronBuilder * theLHEPNeutron
G4FTFCNeutronBuilder * theFTFCNeutron
G4FTFCPiKBuilder * theFTFCPiK
G4QGSPProtonBuilder * theQGSPPro
G4FTFPNeutronBuilder * theFTFPNeutron
G4FTFBinaryNeutronBuilder * theFTFNeutron
G4RPGProtonBuilder * theRPGPro
virtual void ConstructParticle()
G4BertiniProtonBuilder * theBertiniPro
G4QGSCEflowProtonBuilder * theQGSCEflowPro
G4BertiniPiKBuilder * theBertiniPiK
HadronPhysicsCMS(const G4String &name="QGSP", G4bool quasiElastic=true)
G4QGSCEflowNeutronBuilder * theQGSCEflowNeutron
G4FTFBinaryPiKBuilder * theFTFPiK
G4LEPNeutronBuilder * theLEPNeutron
G4FTFBinaryProtonBuilder * theFTFPro
G4LEPProtonBuilder * theLEPPro
G4FTFPPiKBuilder * theFTFPPiK
G4PiKBuilder * thePiK
virtual ~HadronPhysicsCMS()
G4FTFPProtonBuilder * theFTFPPro
G4BinaryProtonBuilder * theBinaryPro
G4QGSPNeutronBuilder * theQGSPNeutron
G4ProtonBuilder * thePro
G4BertiniNeutronBuilder * theBertiniNeutron
G4NeutronBuilder * theNeutrons
G4LEPPiKBuilder * theLEPPiK
G4BinaryPiKBuilder * theBinaryPiK
G4QGSPPiKBuilder * theQGSPPiK
G4QGSCProtonBuilder * theQGSCPro
G4PrecoNeutronBuilder * thePrecoNeutron
G4BinaryNeutronBuilder * theBinaryNeutron
virtual void ConstructProcess()
G4RPGPiKBuilder * theRPGPiK
G4FTFCProtonBuilder * theFTFCPro
G4PrecoProtonBuilder * thePrecoPro
G4QGSCPiKBuilder * theQGSCPiK
G4LHEPPiKBuilder * theLHEPPiK
G4QGSCEflowPiKBuilder * theQGSCEflowPiK
G4QGSCNeutronBuilder * theQGSCNeutron