Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
INCLXXPhysicsListHelper.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 // $Id: INCLXXPhysicsListHelper.hh 66892 2013-01-17 10:57:59Z gunter $
27 //
28 //---------------------------------------------------------------------------
29 //
30 // ClassName: INCLXXPhysicsListHelper
31 //
32 // Author: 04.03.2013 D. Mancusi
33 // Created by modifying and generalising the QGSP_INCLXX source files
34 //
35 //----------------------------------------------------------------------------
36 //
37 #ifndef TINCLXXPhysicsListHelper_h
38 #define TINCLXXPhysicsListHelper_h 1
39 
41 
42 #include "globals.hh"
43 #include "G4VModularPhysicsList.hh"
45 #include "G4String.hh"
46 
47 /**
48  * <h1>Physics list helper INCLXXPhysicsListHelper</h1>
49  *
50  * <h2>Use case</h2>
51  * This class is used to define the following INCLXX-based physics lists:
52  * * QGSP_INCLXX
53  * * QGSP_INCLXX_HP
54  * * FTFP_INCLXX
55  * * FTFP_INCLXX_HP
56  * They are mainly intended for use with energies less than 3 GeV. This is
57  * useful for e.g. spallation studies and Accelerator Driven Systems (ADS)
58  * applications.
59  *
60  * <h2>Usage</h2>
61  * The physics lists above can be activated in a simulation application by
62  * giving it as part of the user initialization to the run manager, e.g.:
63  * @code
64  * G4RunManager *runManager = new G4RunManager;
65  * G4VUserPhysicsList *physics = new QGSP_INCLXX;
66  * runManager->SetUserInitialization(physics);
67  * @endcode
68  *
69  * <h2>Hadronic models</h2>
70  * The list uses INCL++ intra-nuclear cascade model in the energy range 0 - 3
71  * GeV. Between 3 - 15 GeV Bertini cascade is used and above 15 GeV the high
72  * energy QGSP model or FTFP model. The _HP variants use NeutronHP below 20
73  * MeV.
74  *
75  * @see G4HadronPhysicsINCLXX
76  * @see G4INCLXXProtonBuilder
77  * @see G4INCLXXNeutronBuilder
78  * @see G4INCLXXPiKBuilder
79  * @see G4IonINCLXXPhysics
80  */
81 template<class T, bool withNeutronHP, bool withFTFP>
82 class TINCLXXPhysicsListHelper: public T
83 {
84 public:
86  virtual ~TINCLXXPhysicsListHelper();
87 
88 public:
89  // SetCuts()
90  virtual void SetCuts();
91 
92 private:
94  G4String name;
95 };
96 
97 #include "INCLXXPhysicsListHelper.icc"
102 
103 // 2013 by D. Mancusi
104 
105 #endif
106 
107 
108 
TINCLXXPhysicsListHelper(G4int ver=1)
const XML_Char * name
int G4int
Definition: G4Types.hh:78
virtual void SetCuts()
TINCLXXPhysicsListHelper< G4VModularPhysicsList, true, true > FTFP_INCLXX_HP
TINCLXXPhysicsListHelper< G4VModularPhysicsList, false, true > FTFP_INCLXX
TINCLXXPhysicsListHelper< G4VModularPhysicsList, false, false > QGSP_INCLXX
TINCLXXPhysicsListHelper< G4VModularPhysicsList, true, false > QGSP_INCLXX_HP
virtual ~TINCLXXPhysicsListHelper()