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