Geant4_10
G4DPMJET2_5CrossSection.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 // * *
21 // * Parts of this code which have been developed by QinetiQ Ltd *
22 // * under contract to the European Space Agency (ESA) are the *
23 // * intellectual property of ESA. Rights to use, copy, modify and *
24 // * redistribute this software for general public use are granted *
25 // * in compliance with any licensing, distribution and development *
26 // * policy adopted by the Geant4 Collaboration. This code has been *
27 // * written by QinetiQ Ltd for the European Space Agency, under ESA *
28 // * contract 19770/06/NL/JD (Technology Research Programme). *
29 // * *
30 // * By using, copying, modifying or distributing the software (or *
31 // * any work based on the software) you agree to acknowledge its *
32 // * use in resulting scientific publications, and indicate your *
33 // * acceptance of all terms of the Geant4 Software license. *
34 // ********************************************************************
35 //
38 //
39 // $Id: G4DPMJET2_5CrossSection.hh 77519 2013-11-25 10:54:57Z gcosmo $
40 //
41 
42 #ifndef G4DPMJET2_5CrossSection_h
43 #define G4DPMJET2_5CrossSection_h
44 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
45 //
46 // MODULE: G4DPMJET2_5CrossSection.hh
47 //
48 // Version: 0.A
49 // Date: 02/04/08
50 // Author: P R Truscott
51 // Organisation: QinetiQ Ltd, UK
52 // Customer: ESA/ESTEC, NOORDWIJK
53 // Contract: 19770/06/NL/JD
54 //
55 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56 //
57 // Class Description
58 // Reads data from a datafile generated using the DPMJET-II.5 model, based on
59 // Glauber cross-section calculations.
60 // This class makes use of data stored in GlauberCrossSection.dat in the
61 // directory defined by environment variable $G4DPMJET2_5DATA.
62 //
63 // Class Description - End
64 //
65 // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 //
68 #include "globals.hh"
69 
72 #include "G4SystemOfUnits.hh"
73 #include "G4PhysicalConstants.hh"
74 
75 #include <map>
76 
77 typedef std::map< G4int, G4DPMJET2_5CrossSectionParamSet*, std::less< G4int > >
79 
80 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
81 
83 {
84 public:
85 
87 
88  virtual ~G4DPMJET2_5CrossSection();
89 
90  virtual G4bool IsIsoApplicable(const G4DynamicParticle* theProjectile,
91  G4int ZZ, G4int AA,
92  const G4Element* elm = 0,
93  const G4Material* mat = 0);
94 
95  virtual
96  G4double GetIsoCrossSection(const G4DynamicParticle* theProjectile,
97  G4int ZZ, G4int AA,
98  const G4Isotope*,
99  const G4Element* elm = 0,
100  const G4Material* mat = 0);
101 
102  virtual void BuildPhysicsTable(const G4ParticleDefinition&);
103 
104  virtual void DumpPhysicsTable(const G4ParticleDefinition&);
105 
106 private:
107 
108  void Initialise ();
109 
110  G4int APmin;
111  G4int APmax;
112  G4int ATmin;
113  G4int ATmax;
114 
115  G4DPMJET2_5CrossSectionIndex theCrossSectionIndex;
116 
117  const G4double upperLimit;
118  const G4double lowerLimit;
119  const G4int maxA;
120 };
121 
122 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
123 
124 #endif
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual G4bool IsIsoApplicable(const G4DynamicParticle *theProjectile, G4int ZZ, G4int AA, const G4Element *elm=0, const G4Material *mat=0)
int G4int
Definition: G4Types.hh:78
Float_t mat
Definition: plot.C:40
bool G4bool
Definition: G4Types.hh:79
virtual ~G4DPMJET2_5CrossSection()
virtual void DumpPhysicsTable(const G4ParticleDefinition &)
std::map< G4int, G4DPMJET2_5CrossSectionParamSet *, std::less< G4int > > G4DPMJET2_5CrossSectionIndex
Definition of the G4DPMJET2_5CrossSectionParamSet class.
double G4double
Definition: G4Types.hh:76
virtual G4double GetIsoCrossSection(const G4DynamicParticle *theProjectile, G4int ZZ, G4int AA, const G4Isotope *, const G4Element *elm=0, const G4Material *mat=0)