- Timestamp:
- Dec 22, 2010, 3:52:27 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh
r1340 r1347 24 24 // ******************************************************************** 25 25 // 26 // 27 // $Id: G4HEInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ 28 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 26 // $Id: G4HEInelastic.hh,v 1.17 2010/11/29 05:45:06 dennis Exp $ 27 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 28 // 30 29 // … … 71 70 { 72 71 SetParticles(); 72 verboseLevel = 0; 73 MAXPART = 0; 73 74 conserveEnergy = true; 74 75 }; … … 76 77 ~G4HEInelastic(){ }; 77 78 78 void SetMaxNumberOfSecondaries( const G4int maxnumber )79 {MAXPART = maxnumber;}79 void SetMaxNumberOfSecondaries(const G4int maxnumber) 80 {MAXPART = maxnumber;} 80 81 81 void SetVerboseLevel( const G4int level) 82 { verboseLevel = level;} 83 84 G4int verboseLevel; 85 G4int MAXPART; 86 G4bool conserveEnergy; 87 88 void ForceEnergyConservation(G4bool energyConservation) 89 { conserveEnergy = energyConservation;} 90 G4bool EnergyConservation(void) 91 { return conserveEnergy;} 92 93 G4double Amin(G4double a, G4double b); 94 G4double Amax(G4double a, G4double b); 95 G4int Imin(G4int a, G4int b); 96 G4int Imax(G4int a, G4int b); 82 void SetVerboseLevel(const G4int level) {verboseLevel = level;} 83 84 G4int verboseLevel; 85 G4int MAXPART; 86 G4bool conserveEnergy; 87 88 void ForceEnergyConservation(G4bool energyConservation) 89 {conserveEnergy = energyConservation;} 90 91 G4bool EnergyConservation(void) {return conserveEnergy;} 92 93 G4double Amin(G4double a, G4double b); 94 G4double Amax(G4double a, G4double b); 95 G4int Imin(G4int a, G4int b); 96 G4int Imax(G4int a, G4int b); 97 97 98 void FillParticleChange(G4HEVector pv[], G4int aVecLength); 99 100 G4double pmltpc(G4int np, G4int nm, G4int nz, G4int n, G4double b, G4double c); 101 102 G4int Factorial(G4int n); 103 104 G4double NuclearInelasticity(G4double incidentKineticEnergy, 105 G4double atomicWeight, 106 G4double atomicNumber); 107 G4double NuclearExcitation(G4double incidentKineticEnergy, 108 G4double atomicWeight, 109 G4double atomicNumber, 110 G4double& excitationEnergyCascade, 111 G4double& excitationEnergyEvaporation); 98 void FillParticleChange(G4HEVector pv[], G4int aVecLength); 99 100 G4double pmltpc(G4int np, G4int nm, G4int nz, 101 G4int n, G4double b, G4double c); 102 103 G4int Factorial(G4int n); 104 105 G4double NuclearInelasticity(G4double incidentKineticEnergy, 106 G4double atomicWeight, 107 G4double atomicNumber); 108 109 G4double NuclearExcitation(G4double incidentKineticEnergy, 110 G4double atomicWeight, 111 G4double atomicNumber, 112 G4double& excitationEnergyCascade, 113 G4double& excitationEnergyEvaporation); 112 114 113 void HighEnergyCascading(G4bool &successful, 114 G4HEVector pv[], 115 G4int &vecLen, 116 G4double &excitationEnergyGNP, 117 G4double &excitationEnergyDTA, 118 G4HEVector incidentParticle, 119 G4HEVector targetParticle, 120 G4double atomicWeight, 121 G4double atomicNumber); 122 123 void HighEnergyClusterProduction(G4bool &successful, 124 G4HEVector pv[], 125 G4int &vecLen, 126 G4double &excitationEnergyGNP, 127 G4double &excitationEnergyDTA, 128 G4HEVector incidentParticle, 129 G4HEVector targetParticle, 130 G4double atomicWeight, 131 G4double atomicNumber); 132 133 void TuningOfHighEnergyCascading(G4HEVector pv[], 134 G4int &vecLen, 135 G4HEVector incidentParticle, 136 G4HEVector targetParticle, 137 G4double atomicWeight, 138 G4double atomicNumber); 139 140 void MediumEnergyCascading(G4bool &successful, 115 void HighEnergyCascading(G4bool& successful, 116 G4HEVector pv[], 117 G4int& vecLen, 118 G4double& excitationEnergyGNP, 119 G4double& excitationEnergyDTA, 120 const G4HEVector& incidentParticle, 121 const G4HEVector& targetParticle, 122 G4double atomicWeight, 123 G4double atomicNumber); 124 125 void HighEnergyClusterProduction(G4bool& successful, 141 126 G4HEVector pv[], 142 G4int &vecLen,143 G4double &excitationEnergyGNP,144 G4double &excitationEnergyDTA,145 G4HEVectorincidentParticle,146 G4HEVectortargetParticle,127 G4int& vecLen, 128 G4double& excitationEnergyGNP, 129 G4double& excitationEnergyDTA, 130 const G4HEVector& incidentParticle, 131 const G4HEVector& targetParticle, 147 132 G4double atomicWeight, 148 G4double atomicNumber); 149 150 void MediumEnergyClusterProduction(G4bool &successful, 151 G4HEVector pv[], 152 G4int &vecLen, 153 G4double &excitationEnergyGNP, 154 G4double &excitationEnergyDTA, 155 G4HEVector incidentParticle, 156 G4HEVector targetParticle, 157 G4double atomicWeight, 158 G4double atomicNumber); 159 160 void QuasiElasticScattering(G4bool &successful, 161 G4HEVector pv[], 162 G4int &vecLen, 163 G4double &excitationEnergyGNP, 164 G4double &excitationEnergyDTA, 165 G4HEVector incidentParticle, 166 G4HEVector targetParticle, 167 G4double atomicWeight, 168 G4double atomicNumber); 169 170 void ElasticScattering(G4bool &successful, 171 G4HEVector pv[], 172 G4int &vecLen, 173 G4HEVector incidentParticle, 174 G4double atomicWeight, 175 G4double atomicNumber); 176 177 G4int rtmi(G4double *x, G4double xli, G4double xri, G4double eps, 178 G4int iend, G4double aa, G4double bb, G4double cc, 179 G4double dd, G4double rr); 180 181 G4double fctcos(G4double t, G4double aa, G4double bb,G4double cc, 182 G4double dd, G4double rr); 133 G4double atomicNumber); 134 135 void TuningOfHighEnergyCascading(G4HEVector pv[], 136 G4int& vecLen, 137 const G4HEVector& incidentParticle, 138 const G4HEVector& targetParticle, 139 G4double atomicWeight, 140 G4double atomicNumber); 141 142 void MediumEnergyCascading(G4bool& successful, 143 G4HEVector pv[], 144 G4int& vecLen, 145 G4double& excitationEnergyGNP, 146 G4double& excitationEnergyDTA, 147 const G4HEVector& incidentParticle, 148 const G4HEVector& targetParticle, 149 G4double atomicWeight, 150 G4double atomicNumber); 151 152 void MediumEnergyClusterProduction(G4bool& successful, 153 G4HEVector pv[], 154 G4int& vecLen, 155 G4double& excitationEnergyGNP, 156 G4double& excitationEnergyDTA, 157 const G4HEVector& incidentParticle, 158 const G4HEVector& targetParticle, 159 G4double atomicWeight, 160 G4double atomicNumber); 161 162 void QuasiElasticScattering(G4bool& successful, 163 G4HEVector pv[], 164 G4int& vecLen, 165 G4double& excitationEnergyGNP, 166 G4double& excitationEnergyDTA, 167 const G4HEVector& incidentParticle, 168 const G4HEVector& targetParticle, 169 G4double atomicWeight, 170 G4double atomicNumber); 171 172 void ElasticScattering(G4bool& successful, 173 G4HEVector pv[], 174 G4int& vecLen, 175 const G4HEVector& incidentParticle, 176 G4double atomicWeight, 177 G4double atomicNumber); 178 179 G4int rtmi(G4double *x, G4double xli, G4double xri, G4double eps, 180 G4int iend, G4double aa, G4double bb, G4double cc, 181 G4double dd, G4double rr); 182 183 G4double fctcos(G4double t, G4double aa, G4double bb,G4double cc, 184 G4double dd, G4double rr); 183 185 184 void 185 186 187 G4int &vecLen,188 G4HEVectorincidentParticle,189 G4HEVectortargetParticle);190 191 G4double 192 193 194 186 void StrangeParticlePairProduction(const G4double availableEnergy, 187 const G4double centerOfMassEnergy, 188 G4HEVector pv[], 189 G4int& vecLen, 190 const G4HEVector& incidentParticle, 191 const G4HEVector& targetParticle); 192 193 G4double NBodyPhaseSpace(const G4double totalEnergy, 194 const G4bool constantCrossSection, 195 G4HEVector pv[], 196 G4int &vecLen); 195 197 196 G4double 197 198 199 200 201 202 203 G4double 204 205 void 206 207 G4double 198 G4double NBodyPhaseSpace(G4int npart, 199 G4HEVector pv[], 200 G4double wmax, 201 G4double wfcn, 202 G4int maxtrial, 203 G4int ntrial); 204 205 G4double gpdk(G4double a, G4double b, G4double c); 206 207 void QuickSort(G4double arr[], const G4int lidx, const G4int ridx); 208 209 G4double Alam(G4double a, G4double b, G4double c); 208 210 209 G4double 211 G4double CalculatePhaseSpaceWeight( G4int npart); 210 212 211 G4double 212 G4double 213 G4double 214 G4int 215 void 213 G4double normal(void); 214 G4double GammaRand(G4double avalue); 215 G4double Erlang(G4int mvalue); 216 G4int Poisson(G4double x); 217 void SetParticles(void); 216 218 217 219 G4HEVector PionPlus; … … 248 250 }; 249 251 250 #endif 251 252 252 #endif
Note: See TracChangeset
for help on using the changeset viewer.