CMS 3D CMS Logo

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 
9 #include "G4PiKBuilder.hh"
10 #include "G4BertiniPiKBuilder.hh"
11 #include "G4BinaryPiKBuilder.hh"
12 #include "G4FTFPPiKBuilder.hh"
13 #include "G4QGSPPiKBuilder.hh"
14 
15 #include "G4ProtonBuilder.hh"
16 #include "G4BertiniProtonBuilder.hh"
17 #include "G4BinaryProtonBuilder.hh"
18 #include "G4FTFPProtonBuilder.hh"
19 #include "G4QGSPProtonBuilder.hh"
20 
21 #include "G4NeutronBuilder.hh"
22 #include "G4BertiniNeutronBuilder.hh"
23 #include "G4BinaryNeutronBuilder.hh"
24 #include "G4FTFPNeutronBuilder.hh"
25 #include "G4QGSPNeutronBuilder.hh"
26 
27 #include "G4FTFBinaryNeutronBuilder.hh"
28 #include "G4FTFBinaryPiKBuilder.hh"
29 #include "G4FTFBinaryProtonBuilder.hh"
30 
31 class HadronPhysicsCMS : public G4VPhysicsConstructor {
32 
33 public:
34 
35  HadronPhysicsCMS(const G4String& name ="QGSP", G4bool quasiElastic=true);
36  ~HadronPhysicsCMS() override;
37 
38  void ConstructParticle() override;
39  void ConstructProcess() override;
40 
41 private:
42 
43  void CreateModels();
44 
45  G4NeutronBuilder * theNeutrons;
46  G4BertiniNeutronBuilder * theBertiniNeutron;
47  G4BinaryNeutronBuilder * theBinaryNeutron;
48  G4FTFPNeutronBuilder * theFTFPNeutron;
49  G4QGSPNeutronBuilder * theQGSPNeutron;
50 
51  G4PiKBuilder * thePiK;
52  G4BertiniPiKBuilder * theBertiniPiK;
53  G4BinaryPiKBuilder * theBinaryPiK;
54  G4FTFPPiKBuilder * theFTFPPiK;
55  G4QGSPPiKBuilder * theQGSPPiK;
56 
57  G4ProtonBuilder * thePro;
58  G4BertiniProtonBuilder * theBertiniPro;
59  G4BinaryProtonBuilder * theBinaryPro;
60  G4FTFPProtonBuilder * theFTFPPro;
61  G4QGSPProtonBuilder * theQGSPPro;
62 
63 
64  G4FTFBinaryNeutronBuilder * theFTFNeutron;
65  G4FTFBinaryPiKBuilder * theFTFPiK;
66  G4FTFBinaryProtonBuilder * theFTFPro;
67 
68  G4String modelName;
69  G4bool QuasiElastic;
70 };
71 
72 #endif
73 
G4QGSPProtonBuilder * theQGSPPro
G4FTFPNeutronBuilder * theFTFPNeutron
G4FTFBinaryNeutronBuilder * theFTFNeutron
G4BertiniProtonBuilder * theBertiniPro
~HadronPhysicsCMS() override
G4BertiniPiKBuilder * theBertiniPiK
HadronPhysicsCMS(const G4String &name="QGSP", G4bool quasiElastic=true)
G4FTFBinaryPiKBuilder * theFTFPiK
G4FTFBinaryProtonBuilder * theFTFPro
G4FTFPPiKBuilder * theFTFPPiK
G4PiKBuilder * thePiK
G4FTFPProtonBuilder * theFTFPPro
G4BinaryProtonBuilder * theBinaryPro
G4QGSPNeutronBuilder * theQGSPNeutron
G4ProtonBuilder * thePro
G4BertiniNeutronBuilder * theBertiniNeutron
G4NeutronBuilder * theNeutrons
void ConstructParticle() override
G4BinaryPiKBuilder * theBinaryPiK
G4QGSPPiKBuilder * theQGSPPiK
G4BinaryNeutronBuilder * theBinaryNeutron
void ConstructProcess() override