Ignore:
Timestamp:
Apr 20, 2009, 5:54:05 PM (15 years ago)
Author:
garnier
Message:

update to geant4.9.2

Location:
trunk/source/processes/hadronic/models/cascade/cascade
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/cascade/cascade/include/G4CascadSpecialFunctions.hh

    r962 r1007  
    4545                        G4int is);
    4646
    47   void printCrossSections();
    48 
    4947  std::pair<G4int, G4double> getPositionInEnergyScaleEMS(G4double e);
    5048
  • trunk/source/processes/hadronic/models/cascade/cascade/include/G4CascadeMomentum.hh

    r967 r1007  
    2525//
    2626// $Id: G4CascadeMomentum.hh,v 1.1 2008/09/22 10:06:32 gcosmo Exp $
    27 // GEANT4 tag $Name: geant4-09-02-ref-02 $
     27// GEANT4 tag $Name: geant4-09-02 $
    2828//
    2929//
  • trunk/source/processes/hadronic/models/cascade/cascade/include/G4ElementaryParticleCollider.hh

    r962 r1007  
    4646                            G4InuclParticle* target);
    4747
    48   G4bool HighEnergyFlag() const {
    49     return high_energy;
    50   }
    51 
    5248private:
    5349
     50//   G4CascadeKplusPChannel kpp;
     51//   G4CascadeKplusNChannel kpn;
     52//   G4CascadeKzeroPChannel k0p;
     53//   G4CascadeKzeroNChannel k0n;
     54//   G4CascadeKminusPChannel kmp;
     55//   G4CascadeKminusNChannel kmn;
     56//   G4CascadeKzeroBarPChannel k0bp;
     57//   G4CascadeKzeroBarNChannel k0bn;
     58//   G4CascadeLambdaPChannel lp;
     59//   G4CascadeLambdaNChannel ln;
     60//   G4CascadeSigmaPlusPChannel spp;
     61//   G4CascadeSigmaPlusNChannel spn;
     62//   G4CascadeSigmaZeroPChannel s0p;
     63//   G4CascadeSigmaZeroNChannel s0n;
     64//   G4CascadeSigmaMinusPChannel smp;
     65//   G4CascadeSigmaMinusNChannel smn;
     66//   G4CascadeXiZeroPChannel x0p;
     67//   G4CascadeXiZeroNChannel x0n;
     68//   G4CascadeXiMinusPChannel xmp;
     69//   G4CascadeXiMinusNChannel xmn;
     70
    5471  G4int verboseLevel;
    55   mutable G4bool high_energy;     // Flag indicates beginning of string-like behavior
    56 
    57   G4int generateMultiplicity(G4int is, G4double ekin) const;
     72  G4int generateMultiplicity(G4int is,
     73                             G4double ekin) const;
    5874
    5975  void collide(G4InuclElementaryParticle* bullet,
  • trunk/source/processes/hadronic/models/cascade/cascade/include/G4NucleiModel.hh

    r962 r1007  
    133133  G4CascadParticle initializeCascad(G4InuclElementaryParticle* particle);
    134134
    135   std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> >
    136   initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
     135  std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> > initializeCascad(G4InuclNuclei* bullet, G4InuclNuclei* target);
    137136
    138137  std::pair<G4int, G4int> getTypesOfNucleonsInvolved() const {
    139138    return std::pair<G4int, G4int>(current_nucl1, current_nucl2);
    140139  };
    141 
    142140  G4bool worthToPropagate(const G4CascadParticle& cparticle) const;
    143141   
     
    145143                                            G4int zone) const;
    146144
    147   G4bool highEnergyInteraction() const {
    148     return high_energy_interaction;
    149   }
    150 
    151 private:
    152  
    153   G4int verboseLevel;
    154   G4bool high_energy_interaction;
    155 
     145private:
     146G4int verboseLevel;
    156147  G4bool passFermi(const std::vector<G4InuclElementaryParticle>& particles,
    157148                   G4int zone);
  • trunk/source/processes/hadronic/models/cascade/cascade/src/G4CascadSpecialFunctions.cc

    r962 r1007  
    113113  }
    114114
    115   // was 0.2 since the beginning
    116   const G4double corr_fac = 1.0;
     115  const G4double corr_fac = 0.2;
    117116  G4double csec = 0.0;
    118117 
     
    177176
    178177  return std::pair<G4int, G4double>(ik, sk);
    179 }
    180 
    181 void
    182 G4CascadSpecialFunctions::printCrossSections()
    183 {
    184   const G4double ke[74] =
    185     {0.00, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10,
    186      0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.25,
    187      0.30, 0.35, 0.40, 0.45, 0.50, 0.55, 0.60, 0.65, 0.70, 0.75, 0.80,
    188      0.85, 0.90, 0.95, 1.00, 1.05, 1.10, 1.15, 1.20, 1.25, 1.30, 1.35,
    189      1.40, 1.45, 1.50, 1.55, 1.60, 1.65, 1.70, 1.75, 1.80, 1.85, 1.90,
    190      1.95, 2.00, 2.20, 2.40, 2.60, 2.80, 3.00, 4.00, 5.00, 6.00, 7.00,
    191      8.00, 9.00, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0};
    192 
    193   const G4String channel_names[7] = {"pp", "pn", "pi+p", "nn", "pi-p", "pi+n", "pi0p"};
    194 
    195   G4cout << " Kinetic energies in GeV " << G4endl;
    196   for (G4int i = 0; i < 12; i++) {
    197     G4int istart = i*6;
    198     G4int istop = istart + 6;
    199     for (G4int e = istart; e < istop; e++) G4cout << ke[e] << "  " ;
    200     G4cout << G4endl;
    201   }
    202   G4cout << G4endl;
    203 
    204   for (G4int channel = 1; channel < 8; channel++) {
    205     G4cout << " Channel " << channel_names[channel-1] << G4endl;
    206     for (G4int i = 0; i < 12; i++) {
    207       G4int istart = i*6;
    208       G4int istop = istart + 6;
    209       for (G4int t = istart; t < istop; t++) G4cout << crossSection(ke[t], channel) << "  " ;
    210       G4cout << G4endl;
    211     }
    212     G4cout << G4endl;
    213   }
    214178}
    215179
  • trunk/source/processes/hadronic/models/cascade/cascade/src/G4ElementaryParticleCollider.cc

    r962 r1007  
    5454
    5555G4ElementaryParticleCollider::G4ElementaryParticleCollider()
    56   : verboseLevel(1), high_energy(false)
     56  : verboseLevel(1)
    5757{
    5858  if (verboseLevel > 3) {
    5959    G4cout << " >>> G4ElementaryParticleCollider ctor " << G4endl;
    60 
    61     printCrossSections();
    6260  }
    6361}
     
    177175G4int
    178176G4ElementaryParticleCollider::generateMultiplicity(G4int is,
    179                                                    G4double ekin) const
     177                                                   G4double ekin) const 
    180178{
    181179  if (verboseLevel > 3) {
     
    379377    G4double sl = inuclRndm();
    380378    G4double ptot = 0.0;
    381     mul = 5;
    382     high_energy = true;
    383 
     379
     380    mul = 4;
    384381    for (G4int i = 0; i < 5; i++) {
    385382      ptot += sigm[i] / stot;
     
    387384      if (sl <= ptot) {
    388385        mul = i;
    389         high_energy = false;
    390386        break;
    391387      }
     
    537533    } else { // 2 -> many
    538534
    539       if (high_energy) multiplicity = 6;
    540 
    541535      if ( (is > 10 && is < 14) || (is > 14 && is < 63) ) {
    542536        particle_kinds =
     
    704698            };
    705699          };
    706         };
     700        };
    707701      };
    708702
     
    715709
    716710      };
    717     }  // 2->many
     711    };
    718712  };
    719713
     
    724718  return particles;
    725719}
    726 
    727720
    728721std::vector<G4double>
  • trunk/source/processes/hadronic/models/cascade/cascade/src/G4IntraNucleiCascader.cc

    r962 r1007  
    158158                                                        theElementaryParticleCollider);
    159159      if (verboseLevel > 2) {
    160         G4cout << " New particles from G4NucleiModel::generateParticleFate "
    161                << new_cascad_particles.size() << G4endl;
     160        G4cout << " ew particles " << new_cascad_particles.size() << G4endl;
    162161      }
    163162
     
    219218        }
    220219
    221       } else if (model.highEnergyInteraction() ) { // high energy projectile-nucleon interaction
     220      } else { // interaction
     221
    222222        cascad_particles.pop_back();
    223         for (G4int i = 0; i < G4int(new_cascad_particles.size()); i++) {
    224           // send secondaries straight to output - no further cascade
    225           // for now, don't check for Coulomb barrier?
    226           output_particles.push_back(new_cascad_particles[i].getParticle() );
    227         }
    228         std::pair<G4int, G4int> holes = model.getTypesOfNucleonsInvolved();
    229         theExitonConfiguration.incrementHoles(holes.first);
    230         if (holes.second > 0) theExitonConfiguration.incrementHoles(holes.second);
    231 
    232       } else { // medium energy projectile-nucleon interaction
    233         cascad_particles.pop_back();
     223
    234224        for (G4int i = 0; i < G4int(new_cascad_particles.size()); i++)
    235225          cascad_particles.push_back(new_cascad_particles[i]);
     226
    236227        std::pair<G4int, G4int> holes = model.getTypesOfNucleonsInvolved();
     228
    237229        theExitonConfiguration.incrementHoles(holes.first);
     230
    238231        if (holes.second > 0) theExitonConfiguration.incrementHoles(holes.second);
    239       }
    240     }
     232
     233      };
     234    };
    241235
    242236    // Cascade is finished. Check if it's OK.
  • trunk/source/processes/hadronic/models/cascade/cascade/src/G4NucleiModel.cc

    r962 r1007  
    5454
    5555G4NucleiModel::G4NucleiModel()
    56   : verboseLevel(2), high_energy_interaction(false) {
     56  : verboseLevel(2) {
    5757
    5858  if (verboseLevel > 3) {
     
    760760}
    761761
    762 std::vector<G4CascadParticle>
    763 G4NucleiModel::generateParticleFate(G4CascadParticle& cparticle,
    764                                     G4ElementaryParticleCollider* theElementaryParticleCollider) {
     762std::vector<G4CascadParticle> G4NucleiModel::generateParticleFate(G4CascadParticle& cparticle,
     763                                                                    G4ElementaryParticleCollider* theElementaryParticleCollider) {
    765764
    766765  if (verboseLevel > 3) {
     
    814813
    815814        G4CollisionOutput output = theElementaryParticleCollider->collide(&bullet, &target);
    816         high_energy_interaction = theElementaryParticleCollider->HighEnergyFlag();
    817815
    818816        if (verboseLevel > 2){
Note: See TracChangeset for help on using the changeset viewer.