Changeset 1340 for trunk/source/processes/hadronic/models/incl/include
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/incl/include
- Files:
-
- 12 edited
-
G4Abla.hh (modified) (5 diffs)
-
G4AblaDataDefs.hh (modified) (2 diffs)
-
G4AblaEvaporation.hh (modified) (3 diffs)
-
G4AblaFissionBase.hh (modified) (4 diffs)
-
G4Incl.hh (modified) (13 diffs)
-
G4InclAblaCascadeInterface.hh (modified) (2 diffs)
-
G4InclAblaLightIonInterface.hh (modified) (4 diffs)
-
G4InclCascadeInterface.hh (modified) (3 diffs)
-
G4InclDataDefs.hh (modified) (17 diffs)
-
G4InclLightIonInterface.hh (modified) (2 diffs)
-
G4InclRandomNumbers.hh (modified) (4 diffs)
-
G4Ranecu.hh (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/incl/include/G4Abla.hh
r962 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4Abla.hh,v 1.1 1 2008/06/25 17:20:03kaitanie Exp $26 // $Id: G4Abla.hh,v 1.13 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 33 33 #include "globals.hh" 34 34 35 #include "G4VInclLogger.hh" 35 36 #include "G4InclRandomNumbers.hh" 36 37 #include "G4AblaDataDefs.hh" … … 75 76 76 77 /** 78 * Register the INCL/ABLA internal variable logger. 79 */ 80 void registerLogger(G4VInclLogger *theLogger); 81 82 /** 77 83 * Set verbosity level. 78 84 */ 79 void setVerboseLevel(G4int level) { 80 verboseLevel = level; 81 } 85 void setVerboseLevel(G4int level); 82 86 83 87 /** … … 102 106 * @param eventnumber number of the event 103 107 */ 104 void breakItUp(G4 double nucleusA, G4doublenucleusZ, G4double nucleusMass, G4double excitationEnergy,108 void breakItUp(G4int nucleusA, G4int nucleusZ, G4double nucleusMass, G4double excitationEnergy, 105 109 G4double angularMomentum, G4double recoilEnergy, G4double momX, G4double momY, G4double momZ, 106 110 G4int eventnumber); … … 322 326 G4Volant *volant; 323 327 G4VarNtp *varntp; 328 329 G4VInclLogger *theLogger; 324 330 }; 325 331 -
trunk/source/processes/hadronic/models/incl/include/G4AblaDataDefs.hh
r962 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4AblaDataDefs.hh,v 1. 9 2008/06/25 17:20:04kaitanie Exp $26 // $Id: G4AblaDataDefs.hh,v 1.11 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 189 189 190 190 //#define VOLANTSIZE 200 191 #define VOLANTSIZE 2000191 #define VOLANTSIZE 301 192 192 /** 193 193 * Evaporation and fission output data. -
trunk/source/processes/hadronic/models/incl/include/G4AblaEvaporation.hh
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4AblaEvaporation.hh,v 1. 1 2007/09/11 13:18:42 miheikkiExp $26 // $Id: G4AblaEvaporation.hh,v 1.3 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Defines an interface to evaporation models of Bertini cascase (BERT) 28 28 // based on INUCL code. … … 35 35 #include "G4Fragment.hh" 36 36 #include "G4DynamicParticle.hh" 37 38 37 #include "G4Abla.hh" 39 38 … … 96 95 G4double CoulombBarrier; 97 96 97 /** 98 * ABLA evaporation 99 */ 100 G4Abla *abla; 101 G4VarNtp *varntp; 102 98 103 #ifdef DEBUG 99 104 -
trunk/source/processes/hadronic/models/incl/include/G4AblaFissionBase.hh
r1337 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4AblaFissionBase.hh,v 1. 3 2010/06/14 16:10:01 gcosmoExp $26 // $Id: G4AblaFissionBase.hh,v 1.5 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 35 35 36 36 #include "globals.hh" 37 #include "G4InclUtils.hh" 37 38 38 39 /* … … 50 51 G4double &A2, G4double &Z2, G4double &E2, G4double &K2) = 0; 51 52 53 void setVerboseLevel(G4int level) { 54 verboseLevel = level; 55 if(verboseLevel > G4InclUtils::silent) { 56 about(); 57 G4cout <<";; Fission model verbosity level set to " << verboseLevel << G4endl; 58 } 59 } 60 52 61 void about() { 53 G4cout << aboutModel << G4endl;62 G4cout << ";; " << aboutModel << G4endl; 54 63 } 55 64 … … 59 68 60 69 private: 70 G4int verboseLevel; 61 71 G4String aboutModel; 62 72 }; -
trunk/source/processes/hadronic/models/incl/include/G4Incl.hh
r1315 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4Incl.hh,v 1.1 6 2010/04/27 16:02:37kaitanie Exp $26 // $Id: G4Incl.hh,v 1.18 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 39 39 #include "G4Abla.hh" 40 40 #include <fstream> 41 #include "G4VInclLogger.hh" 42 #include "G4InclInput.hh" 41 43 42 44 using namespace std; … … 63 65 * @param varntp a pointer to G4VarNtp structure. 64 66 */ 65 G4Incl(G4Hazard *hazard, G4 Calincl*calincl, G4Ws *ws, G4Mat *mat, G4VarNtp *varntp);67 G4Incl(G4Hazard *hazard, G4InclInput *calincl, G4Ws *ws, G4Mat *mat, G4VarNtp *varntp); 66 68 67 69 /** … … 85 87 void dumpBl2(std::ofstream& dumpOut); // Dump the contents of G4Bl2. 86 88 void dumpBl3(std::ofstream& dumpOut); // Dump the contents of G4Bl3. 89 90 /** 91 * Set Fermi break-up use flag. 92 */ 93 void setUseFermiBreakUp(G4bool useIt); 94 95 /** 96 * Set projectile spectator use flag. 97 * 98 * Select whether or not to produce so-called spectator nucleus from 99 * the projectile nucleons that do not hit the target. 100 */ 101 void setUseProjectileSpectators(G4bool useIt); 87 102 88 103 /** … … 101 116 void setSpl2Data(G4Spl2 *newSpl2); 102 117 void setMatData(G4Mat *newMat); 103 void set CalinclData(G4Calincl*newCalincl);118 void setInput(G4InclInput *newCalincl); 104 119 void setLightNucData(G4LightNuc *newLightNuc); 105 120 void setLightGausNucData(G4LightGausNuc *newLightGausNuc); … … 115 130 void setKindData(G4Kind *newKind); 116 131 132 /** 133 * Register the logger. 134 */ 135 void registerLogger(G4VInclLogger *aLogger) { 136 if(aLogger != 0) { 137 theLogger = aLogger; 138 abla->registerLogger(aLogger); 139 } 140 } 141 117 142 public: 118 143 /** 119 144 * Process one event with INCL4 only. 120 145 */ 121 void processEventIncl( );146 void processEventIncl(G4InclInput *input); 122 147 123 148 /** 124 149 * Process one event with INCL4 and built-in ABLA evaporation and fission. 125 150 */ 126 void processEventInclAbla(G4 int eventnumber);151 void processEventInclAbla(G4InclInput *input, G4int eventnumber); 127 152 128 153 public: // Methods used to initialize INCL … … 280 305 void pnu(G4int *ibert_p, G4int *nopart_p, G4int *izrem_p, G4int *iarem_p, G4double *esrem_p, 281 306 G4double *erecrem_p, G4double *alrem_p, G4double *berem_p, G4double *garem_p, 282 G4double *bimpact_p, G4int *l_p); 307 G4double *bimpact_p, G4int *l_p, G4double *xjrem, G4double *yjrem, G4double *zjrem); 308 309 //C projection de JREM sur Z: 310 // MREM=ANINT(ZJREM/197.328) 311 // IF (MREM.GT.JREM) MREM=JREM 312 // IF (MREM.LT.-JREM) MREM=-JREM 283 313 284 314 /** … … 460 490 * @return a double value 461 491 */ 462 G4double transmissionProb(G4double E, G4double iz, G4double izn, G4double r, G4double v0); 492 // G4double transmissionProb(G4double E, G4double iz, G4double izn, G4double r, G4double v0); 493 // G4double transmissionProb(G4double E, G4int iz, G4int izn, G4double r, G4double v0) 494 G4double transmissionProb(G4double E, G4int iz, G4int ia, G4int izn, G4double r, G4double v0); 495 // G4double transmissionProb(G4double E, G4int iz, G4int ia, G4int izn,G4double R, G4double v0); 496 // G4double transmissionProb(G4double E, G4double iz, G4double izn, G4double r, G4double v0); 497 498 void projo_spec(G4int ia1, G4int ips, 499 G4double fmpinc, G4double pinc, G4double tlab); 500 501 void ordered(G4double t, G4int nb); 463 502 464 503 /** … … 536 575 * @param A mass number (double parameter) 537 576 */ 538 G4double radius(G4 doubleA);577 G4double radius(G4int A); 539 578 540 579 /** Parametrisation de la section efficace de réaction calculée par incl4.1 … … 686 725 687 726 /** 688 * G4Calincl689 */ 690 G4 Calincl*calincl;727 * INCL input data structure 728 */ 729 G4InclInput *calincl; 691 730 692 731 /** … … 744 783 */ 745 784 G4Kind *kindstruct; 785 786 /** 787 * Projectile properties. 788 */ 789 G4Bev *bev; 746 790 747 791 /** … … 820 864 G4int densFunction; 821 865 866 /** 867 * Use fermi break-up? 868 */ 869 G4bool useFermiBreakup; 870 871 /** 872 * Projectile spectator nucleus support? 873 */ 874 G4bool useProjSpect; 875 876 /** 877 * Type of the particle at index i. 878 * 879 * The extension to large composite projectiles the value is 880 * negative for projectile spectators. Otherwise the particle types 881 * are given in exactly the same way as in G4Calincl::f[6]. 882 * @see G4Calincl::f 883 */ 822 884 G4int kind[300]; //= (*kind_p); 823 885 G4double ep[300]; // = (*ep_p); … … 826 888 G4double gam[300]; // = (*gam_p); 827 889 890 G4VBe *be; 891 G4InclProjSpect *ps; 892 G4InclFermi *fermi; 893 G4QuadvectProjo *qvp; 828 894 G4Volant *volant; 829 895 G4Abla *abla; 830 896 G4InclRandomInterface *randomGenerator; 831 897 898 G4VInclLogger *theLogger; 832 899 G4int inside_step; // Flag to determine whether we are inside or outside a simulation step 833 900 }; -
trunk/source/processes/hadronic/models/incl/include/G4InclAblaCascadeInterface.hh
r1196 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclAblaCascadeInterface.hh,v 1. 8 2009/11/18 10:43:14kaitanie Exp $26 // $Id: G4InclAblaCascadeInterface.hh,v 1.9 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 129 129 G4Hazard *hazard; // The random seeds used by INCL. 130 130 G4VarNtp *varntp; 131 G4 Calincl*calincl;131 G4InclInput *calincl; 132 132 G4Ws *ws; 133 133 G4Mat *mat; -
trunk/source/processes/hadronic/models/incl/include/G4InclAblaLightIonInterface.hh
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclAblaLightIonInterface.hh,v 1. 5 2007/10/31 10:44:22 miheikkiExp $26 // $Id: G4InclAblaLightIonInterface.hh,v 1.7 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 46 46 #define G4INCLABLALIGHTIONINTERFACE_H 1 47 47 48 #include "G4Nucleon.hh"49 #include "G4Nucleus.hh"50 #include "G4HadronicInteraction.hh"51 48 #include "G4VIntraNuclearTransportModel.hh" 52 49 #include "G4KineticTrackVector.hh" … … 108 105 G4Hazard *hazard; // The random seeds used by INCL. 109 106 G4VarNtp *varntp; 110 G4 Calincl*calincl;107 G4InclInput *calincl; 111 108 G4Ws *ws; 112 109 G4Mat *mat; … … 119 116 G4double previousTargetA; 120 117 G4double previousTargetZ; 118 G4bool useProjectileSpectator; 119 G4bool useFermiBreakup; 121 120 }; 122 121 -
trunk/source/processes/hadronic/models/incl/include/G4InclCascadeInterface.hh
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclCascadeInterface.hh,v 1. 5 2007/10/31 10:44:22 miheikkiExp $26 // $Id: G4InclCascadeInterface.hh,v 1.6 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 59 59 #include "G4AblaDataDefs.hh" 60 60 #include "G4Incl.hh" 61 #include "G4InclInput.hh" 61 62 62 63 #include <fstream> … … 107 108 G4Hazard *hazard; // The random seeds used by INCL. 108 109 G4VarNtp *varntp; 109 G4 Calincl *calincl;110 G4InclInput *inclInput; 110 111 G4Ws *ws; 111 112 G4Mat *mat; -
trunk/source/processes/hadronic/models/incl/include/G4InclDataDefs.hh
r1196 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclDataDefs.hh,v 1. 7 2009/11/18 10:43:14 kaitanieExp $26 // $Id: G4InclDataDefs.hh,v 1.10 2010/10/28 15:35:50 gcosmo Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 36 36 #define InclDataDefs_hh 1 37 37 38 #include "G4Nucleus.hh" 39 #include "G4HadProjectile.hh" 40 #include "G4ParticleTable.hh" 41 #include "G4Track.hh" 42 43 class G4InclFermi { 44 public: 45 G4InclFermi() { 46 G4double hc = 197.328; 47 G4double fmp = 938.2796; 48 pf=1.37*hc; 49 pf2=pf*pf; 50 tf=std::sqrt(pf*pf+fmp*fmp)-fmp; 51 }; 52 ~G4InclFermi() {}; 53 54 G4double tf,pf,pf2; 55 }; 56 57 #define max_a_proj 61 58 59 /** 60 * (eps_c,p1_s,p2_s,p3_s,eps_c used to store the kinematics of 61 * nucleons for composit projectiles before entering the potential) 62 */ 63 class G4QuadvectProjo { 64 public: 65 G4QuadvectProjo() {}; 66 ~G4QuadvectProjo() {}; 67 68 G4double eps_c[max_a_proj],p3_c[max_a_proj], 69 p1_s[max_a_proj],p2_s[max_a_proj],p3_s[max_a_proj], 70 t_c[max_a_proj]; 71 }; 72 73 class G4VBe { 74 public: 75 G4VBe() {}; 76 ~G4VBe() {}; 77 78 G4int ia_be, iz_be; 79 G4double rms_be, pms_be, bind_be; 80 }; 81 82 /** 83 * Projectile spectator 84 */ 85 class G4InclProjSpect { 86 public: 87 G4InclProjSpect() { 88 // G4cout <<"Projectile spectator data structure created!" << G4endl; 89 }; 90 ~G4InclProjSpect() {}; 91 92 void clear() { 93 for(G4int i = 0; i < 21; i++) tab[i] = 0.0; 94 for(G4int i = 0; i < 61; i++) n_projspec[i] = 0; 95 a_projspec = 0; 96 z_projspec = 0; 97 m_projspec = 0.0; 98 ex_projspec = 0.0; 99 p1_projspec = 0.0; 100 p2_projspec = 0.0; 101 p3_projspec = 0.0; 102 }; 103 104 G4double tab[21]; 105 G4int n_projspec[61]; 106 G4int a_projspec,z_projspec; 107 G4double ex_projspec,t_projspec, p1_projspec, p2_projspec, p3_projspec, m_projspec; 108 }; 109 38 110 #define FSIZE 15 39 111 /** … … 42 114 class G4Calincl { 43 115 public: 44 G4Calincl() {}; 116 G4Calincl() { 117 isExtendedProjectile = false; 118 }; 119 120 G4Calincl(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus, G4bool inverseKinematics = false) { 121 for(int i = 0; i < 15; i++) { 122 f[i] = 0.0; // Initialize INCL input data 123 } 124 125 usingInverseKinematics = inverseKinematics; 126 127 f[0] = theNucleus.GetA_asInt(); // Target mass number 128 f[1] = theNucleus.GetZ_asInt(); // Target charge number 129 f[6] = getBulletType(aTrack.GetDefinition()); // Projectile type (INCL particle code) 130 f[2] = aTrack.GetKineticEnergy() / MeV; // Projectile energy (total, in MeV) 131 f[5] = 1.0; // Time scaling 132 f[4] = 45.0; // Nuclear potential 133 setExtendedProjectileInfo(aTrack.GetDefinition()); 134 // G4cout <<"Projectile type = " << f[6] << G4endl; 135 // G4cout <<"Energy = " << f[2] << G4endl; 136 // G4cout <<"Target A = " << f[0] << " Z = " << f[1] << G4endl; 137 }; 138 45 139 ~G4Calincl() {}; 46 140 141 static void printProjectileTargetInfo(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus) { 142 G4cout <<"Projectile = " << aTrack.GetDefinition()->GetParticleName() << G4endl; 143 G4cout <<" four-momentum: " << aTrack.Get4Momentum() << G4endl; 144 G4cout <<"Energy = " << aTrack.GetKineticEnergy() / MeV << G4endl; 145 G4cout <<"Target A = " << theNucleus.GetA_asInt() << " Z = " << theNucleus.GetZ_asInt() << G4endl; 146 } 147 148 static G4bool canUseInverseKinematics(const G4HadProjectile &aTrack, const G4Nucleus &theNucleus) { 149 G4int targetA = theNucleus.GetA_asInt(); 150 const G4ParticleDefinition *projectileDef = aTrack.GetDefinition(); 151 G4int projectileA = projectileDef->GetAtomicMass(); 152 // G4int projectileZ = projectileDef->GetAtomicNumber(); 153 if(targetA > 0 && targetA < 18 && (projectileDef != G4Proton::Proton() && 154 projectileDef != G4Neutron::Neutron() && 155 projectileDef != G4PionPlus::PionPlus() && 156 projectileDef != G4PionZero::PionZero() && 157 projectileDef != G4PionMinus::PionMinus()) && 158 projectileA > 1) { 159 return true; 160 } else { 161 return false; 162 } 163 } 164 165 G4double bulletE() { 166 return f[2]; 167 } 168 169 G4int getBulletType() { 170 return G4int(f[6]); 171 }; 172 173 void setExtendedProjectileInfo(const G4ParticleDefinition *pd) { 174 if(getBulletType(pd) == -666) { 175 extendedProjectileA = pd->GetAtomicMass(); 176 extendedProjectileZ = pd->GetAtomicNumber(); 177 isExtendedProjectile = true; 178 } else { 179 isExtendedProjectile = false; 180 } 181 }; 182 183 G4int getBulletType(const G4ParticleDefinition *pd) { 184 G4ParticleTable *pt = G4ParticleTable::GetParticleTable(); 185 186 if(pd == G4Proton::Proton()) { 187 return 1; 188 } else if(pd == G4Neutron::Neutron()) { 189 return 2; 190 } else if(pd == G4PionPlus::PionPlus()) { 191 return 3; 192 } else if(pd == G4PionMinus::PionMinus()) { 193 return 5; 194 } else if(pd == G4PionZero::PionZero()) { 195 return 4; 196 } else if(pd == G4Deuteron::Deuteron()) { 197 return 6; 198 } else if(pd == G4Triton::Triton()) { 199 return 7; 200 } else if(pd == G4He3::He3()) { 201 return 8; 202 } else if(pd == G4Alpha::Alpha()) { 203 return 9; 204 } else if(pd == pt->GetIon(6, 12, 0.0)) { // C12 special case. This should be phased-out in favor of "extended projectile" 205 return -12; 206 } else { // Is this extended projectile? 207 G4int A = pd->GetAtomicMass(); 208 G4int Z = pd->GetAtomicNumber(); 209 if(A > 4 && A <= 16 && Z > 2 && Z <= 8) { // Ions from Lithium to Oxygen 210 return -666; // Code of an extended projectile 211 } 212 } 213 G4cout <<"Error! Projectile " << pd->GetParticleName() << " not defined!" << G4endl; 214 return 0; 215 }; 216 217 G4bool isInverseKinematics() { 218 return usingInverseKinematics; 219 }; 220 221 G4double targetA() { return f[0]; }; 222 G4double targetZ() { return f[1]; }; 223 224 G4int extendedProjectileA; 225 G4int extendedProjectileZ; 226 G4bool isExtendedProjectile; 227 47 228 /** 48 229 * Here f is an array containing the following initial values: … … 69 250 */ 70 251 G4int icoup; 252 253 G4bool usingInverseKinematics; 71 254 }; 72 255 … … 206 389 class G4Ws { 207 390 public: 208 G4Ws() {}; 391 G4Ws() { 392 fneck = 0.0; 393 }; 209 394 ~G4Ws() {}; 210 395 … … 256 441 */ 257 442 G4double bmax; 443 444 G4double fneck; 258 445 }; 259 446 … … 311 498 G4int ind1[BL1SIZE],ind2[BL1SIZE]; 312 499 G4double ta; 500 501 void dump(G4int numberOfParticles) { 502 static G4int dumpNumber = 0; 503 G4cout <<"Dump number" << dumpNumber << " of particle 4-momenta (G4Bl1):" << G4endl; 504 G4cout <<"ta = " << ta << G4endl; 505 for(G4int i = 0; i < numberOfParticles; i++) { 506 G4cout <<"i = " << i << " p1 = " << p1[i] << " p2 = " << p2[i] << " p3 = " << p3[i] << " eps = " << eps[i] << G4endl; 507 } 508 dumpNumber++; 509 } 313 510 }; 314 511 … … 383 580 */ 384 581 G4double rab2; 582 583 void dump() { 584 static G4int dumpNumber = 0; 585 G4cout <<"Dump number" << dumpNumber << " of particle positions (G4Bl3):" << G4endl; 586 G4cout <<" ia1 = " << ia1 << G4endl; 587 G4cout <<" ia2 = " << ia2 << G4endl; 588 G4cout <<" rab2 = " << rab2 << G4endl; 589 for(G4int i = 0; i <= (ia1 + ia2); i++) { 590 G4cout <<"i = " << i << " x1 = " << x1[i] << " x2 = " << x2[i] << " x3 = " << x3[i] << G4endl; 591 } 592 dumpNumber++; 593 } 385 594 }; 386 595 … … 510 719 }; 511 720 721 /** 722 * Projectile parameters. 723 */ 724 class G4Bev { 725 public: 726 /** 727 * Initialize all variables to zero. 728 */ 729 G4Bev() { 730 ia_be = 0; 731 iz_be = 0; 732 rms_be = 0.0; 733 pms_be = 0.0; 734 bind_be = 0.0; 735 }; 736 ~G4Bev() {}; 737 738 /** 739 * Mass number. 740 */ 741 G4int ia_be; 742 743 /** 744 * Charge number. 745 */ 746 G4int iz_be; 747 748 /** 749 * rms 750 */ 751 G4double rms_be; 752 753 /** 754 * pms 755 */ 756 G4double pms_be; 757 758 /** 759 * bind 760 */ 761 G4double bind_be; 762 }; 763 512 764 #define VARSIZE 3 513 765 #define VAEPSSIZE 250 … … 567 819 }; 568 820 569 #define VARNTPSIZE 255821 #define VARNTPSIZE 301 570 822 class G4VarNtp { 571 823 public: … … 582 834 targetA = 0; 583 835 targetZ = 0; 836 masp = 0.0; mzsp = 0.0; exsp = 0.0; 837 // To be deleted? 838 spectatorA = 0; 839 spectatorZ = 0; 840 spectatorEx = 0.0; 841 spectatorM = 0.0; 842 spectatorT = 0.0; 843 spectatorP1 = 0.0; 844 spectatorP2 = 0.0; 845 spectatorP3 = 0.0; 584 846 massini = 0; 585 847 mzini = 0; … … 590 852 pyrem = 0; 591 853 pzrem = 0; 854 erecrem = 0; 592 855 mulncasc = 0; 593 856 mulnevap = 0; … … 600 863 iafis = 0; 601 864 ntrack = 0; 865 needsFermiBreakup = false; 602 866 for(G4int i = 0; i < VARNTPSIZE; i++) { 603 867 itypcasc[i] = 0; … … 612 876 } 613 877 878 /** 879 * Add a particle to the INCL/ABLA final output. 880 */ 614 881 void addParticle(G4double A, G4double Z, G4double E, G4double P, G4double theta, G4double phi) { 615 882 if(full[particleIndex]) { … … 752 1019 753 1020 /** 1021 * Projectile spectator A, Z, Eex; 1022 */ 1023 G4double masp, mzsp, exsp, mrem; 1024 1025 /** 1026 * Spectator nucleus mass number for light ion projectile support. 1027 */ 1028 G4int spectatorA; 1029 1030 /** 1031 * Spectator nucleus charge number for light ion projectile support. 1032 */ 1033 G4int spectatorZ; 1034 1035 /** 1036 * Spectator nucleus excitation energy for light ion projectile support. 1037 */ 1038 G4double spectatorEx; 1039 1040 /** 1041 * Spectator nucleus mass. 1042 */ 1043 G4double spectatorM; 1044 1045 /** 1046 * Spectator nucleus kinetic energy. 1047 */ 1048 G4double spectatorT; 1049 1050 /** 1051 * Spectator nucleus momentum x-component. 1052 */ 1053 G4double spectatorP1; 1054 1055 /** 1056 * Spectator nucleus momentum y-component. 1057 */ 1058 G4double spectatorP2; 1059 1060 /** 1061 * Spectator nucleus momentum z-component. 1062 */ 1063 G4double spectatorP3; 1064 1065 /** 754 1066 * A of the remnant. 755 1067 */ … … 766 1078 G4double exini; 767 1079 768 G4double pcorem, mcorem, pxrem, pyrem, pzrem ;1080 G4double pcorem, mcorem, pxrem, pyrem, pzrem, erecrem; 769 1081 770 1082 /** … … 826 1138 827 1139 /** 1140 * Does this nucleus require Fermi break-up treatment? Only 1141 * applicable when used together with Geant4. 1142 * true = do fermi break-up (and skip ABLA part) 1143 * false = use ABLA 1144 */ 1145 G4bool needsFermiBreakup; 1146 1147 /** 828 1148 * emitted in cascade (0) or evaporation (1). 829 1149 */ -
trunk/source/processes/hadronic/models/incl/include/G4InclLightIonInterface.hh
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclLightIonInterface.hh,v 1. 5 2007/10/31 10:44:22 miheikkiExp $26 // $Id: G4InclLightIonInterface.hh,v 1.6 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 108 108 G4Hazard *hazard; // The random seeds used by INCL. 109 109 G4VarNtp *varntp; 110 G4 Calincl*calincl;110 G4InclInput *calincl; 111 111 G4Ws *ws; 112 112 G4Mat *mat; -
trunk/source/processes/hadronic/models/incl/include/G4InclRandomNumbers.hh
r1337 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4InclRandomNumbers.hh,v 1. 4 2010/06/14 16:10:01 gcosmoExp $26 // $Id: G4InclRandomNumbers.hh,v 1.6 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 54 54 */ 55 55 virtual G4double getRandom() = 0; 56 56 virtual void printSeeds() = 0; 57 57 private: 58 58 G4long seed; … … 77 77 return 0.5; 78 78 } 79 80 void printSeeds() {}; 79 81 }; 80 82 … … 96 98 return G4UniformRand(); 97 99 } 100 101 void printSeeds() { 102 G4cout <<"Using Geant4 random number generator." << G4endl; 103 }; 98 104 }; 99 105 -
trunk/source/processes/hadronic/models/incl/include/G4Ranecu.hh
r967 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4Ranecu.hh,v 1. 3 2008/06/25 17:20:04kaitanie Exp $26 // $Id: G4Ranecu.hh,v 1.5 2010/10/26 02:47:59 kaitanie Exp $ 27 27 // Translation of INCL4.2/ABLA V3 28 28 // Pekka Kaitaniemi, HIP (translation) … … 39 39 40 40 G4double getRandom(); 41 void printSeeds() { 42 G4cout <<"Seed1 = " << iseed1 << G4endl; 43 G4cout <<"Seed2 = " << iseed2 << G4endl; 44 }; 41 45 42 46 private:
Note:
See TracChangeset
for help on using the changeset viewer.
