Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4StringChipsParticleLevelInterface.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// Short description: Interface of QGSC to CHIPS (all soft hadrons)
27// ----------------------------------------------------------------
28//
29#ifndef G4StringChipsParticleLevelInterface_h
30#define G4StringChipsParticleLevelInterface_h
31
34
35// Open this if you wish histogramming of the impact parameter issue
36//#define hdebug_SCPLI
37
39{
40 public:
42 virtual G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack,
43 G4Nucleus& theNucleus);
44
46 G4V3DNucleus* theNucleus);
47 private:
48
50 G4double theEnergyLossPerFermi;
51
52 G4double theInnerCoreDensityCut;
53
54 G4double fractionOfSingleQuasiFreeNucleons;
55 G4double fractionOfPairedQuasiFreeNucleons;
56 G4double clusteringCoefficient;
57 G4double temperature;
58 G4double halfTheStrangenessOfSee;
59 G4double etaToEtaPrime;
60 G4double fusionToExchange;
61 G4int nop;
62
63#ifdef hdebug_SCPLI
64 //Static variables for histogramming
65 static const G4int nbh;
66 static G4double bhmax;
67 static G4double bhdb;
68 static G4double ehmax;
69 static G4double ehde;
70 static G4double toth;
71 static G4int bover;
72 static G4int eover;
73 static G4int* bhis;
74 static G4int* ehis;
75 public:
76 //Static functions
77 static void Reset()
78 {
79 bhdb=bhmax/nbh;
80 ehde=bhmax/nbh;
81 toth=0.;
82 bover=0;
83 eover=0;
84 for(G4int i=0; i<nbh; i++)
85 {
86 bhis[i]=0;
87 ehis[i]=0;
88 }
89 }
90 static void SetMaxB(G4double mB) {bhmax=mB;}
91 static void SetMaxE(G4double mE) {ehmax=mE;}
92 static G4int GetB(G4int i){return bhis[i];}
93 static G4int GetE(G4int i){return ehis[i];}
94 static G4double GetTot() {return toth;}
95 static G4int GetNbn() {return nbh;}
96 static G4double GetDB() {return bhdb;}
97 static G4double GetDE() {return ehde;}
98 static G4int GetBov() {return bover;}
99 static G4int GetEov() {return eover;}
100#endif
101};
102#endif
std::vector< G4ReactionProduct * > G4ReactionProductVector
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &theNucleus)
virtual G4ReactionProductVector * Propagate(G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)