ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4INCLXXInterfaceStore.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4INCLXXInterfaceStore.hh
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 // INCL++ intra-nuclear cascade model
27 // Alain Boudard, CEA-Saclay, France
28 // Joseph Cugnon, University of Liege, Belgium
29 // Jean-Christophe David, CEA-Saclay, France
30 // Pekka Kaitaniemi, CEA-Saclay, France, and Helsinki Institute of Physics, Finland
31 // Sylvie Leray, CEA-Saclay, France
32 // Davide Mancusi, CEA-Saclay, France
33 //
34 #define INCLXX_IN_GEANT4_MODE 1
35 
36 #include "globals.hh"
37 
45 #ifndef G4INCLXXINTERFACESTORE_HH_
46 #define G4INCLXXINTERFACESTORE_HH_
47 
48 #include "G4INCLXXInterface.hh"
49 #include "G4INCLCascade.hh"
50 #include "G4INCLVersion.hh"
51 #include "G4INCLConfig.hh"
52 #include <list>
53 #include <sstream>
54 
57 
65  public:
66 
69 
71  static void DeleteInstance();
72 
75 
77 
78  const std::string &getINCLXXVersionName();
79 
80 
81 
83  void SetAccurateProjectile(const G4bool b);
84 
86  void SetMaxClusterMass(const G4int aMass);
87 
89  void SetCascadeMinEnergyPerNucleon(const G4double anEnergy);
90 
92  void SetConservationTolerance(const G4double aTolerance);
93 
94 
95 
96 
103 
110 
113 
114 
115 
116 
118  G4int GetMaxProjMassINCL() const;
119 
120 
121 
122 
125 
126 
127 
128 
133  void EmitWarning(const G4String &message);
134 
139  void EmitBigWarning(const G4String &message) const;
140 
143 
145  void SetTally(G4INCLXXVInterfaceTally * const aTally);
146 
148  void SetINCLPhysics(const G4String &option);
149 
151  void UseAblaDeExcitation();
152 
153  private:
154 
161 
168 
170  void DeleteModel();
171 
173 
175 
180 
182 
184 
186 
189 
192 
193  std::string versionName;
194 };
195 
196 #endif // G4INCLXXINTERFACESTORE_HH_