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 public:
33  HadronPhysicsCMS(const G4String& name = "QGSP", G4bool quasiElastic = true);
34  ~HadronPhysicsCMS() override;
35 
36  void ConstructParticle() override;
37  void ConstructProcess() override;
38 
39 private:
40  void CreateModels();
41 
42  G4NeutronBuilder* theNeutrons;
43  G4BertiniNeutronBuilder* theBertiniNeutron;
44  G4BinaryNeutronBuilder* theBinaryNeutron;
45  G4FTFPNeutronBuilder* theFTFPNeutron;
46  G4QGSPNeutronBuilder* theQGSPNeutron;
47 
48  G4PiKBuilder* thePiK;
49  G4BertiniPiKBuilder* theBertiniPiK;
50  G4BinaryPiKBuilder* theBinaryPiK;
51  G4FTFPPiKBuilder* theFTFPPiK;
52  G4QGSPPiKBuilder* theQGSPPiK;
53 
54  G4ProtonBuilder* thePro;
55  G4BertiniProtonBuilder* theBertiniPro;
56  G4BinaryProtonBuilder* theBinaryPro;
57  G4FTFPProtonBuilder* theFTFPPro;
58  G4QGSPProtonBuilder* theQGSPPro;
59 
60  G4FTFBinaryNeutronBuilder* theFTFNeutron;
61  G4FTFBinaryPiKBuilder* theFTFPiK;
62  G4FTFBinaryProtonBuilder* theFTFPro;
63 
64  G4String modelName;
65  G4bool QuasiElastic;
66 };
67 
68 #endif
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