Ignore:
Timestamp:
Dec 22, 2010, 3:52:27 PM (14 years ago)
Author:
garnier
Message:

geant4 tag 9.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFinalState.cc

    r968 r1347  
    2727//080721 Create adjust_final_state method by T. Koi
    2828//080801 Residual reconstruction with theNDLDataA,Z (A, Z, and momentum are adjusted) by T. Koi
     29//101110 Set lower limit for gamma energy(1keV) by T. Koi
    2930
    3031#include "G4NeutronHPFinalState.hh"
     
    3738void G4NeutronHPFinalState::adjust_final_state ( G4LorentzVector init_4p_lab )
    3839{
     40
     41   G4double minimum_energy = 1*keV;
    3942
    4043   if ( adjustResult != true ) return;
     
    175178
    176179      // Adjust p
    177       if ( dif_4p.v().mag() < 1*MeV )
     180      //if ( dif_4p.v().mag() < 1*MeV )
     181      if ( minimum_energy < dif_4p.v().mag() && dif_4p.v().mag() < 1*MeV )
    178182      {
    179183
     
    184188      else
    185189      {
    186          //G4cout << "HP_DB Difference in dif_p is too large (>1MeV) to adjust, so that give up tuning" << G4endl;
     190         //G4cout << "HP_DB Difference in dif_p is too large (>1MeV) or too small(<1keV) to adjust, so that give up tuning" << G4endl;
    187191      }
    188192
     
    213217      nSecondaries += 2;
    214218      G4double e1 = ( dif_4p.e() -dif_4p.v().mag() ) / 2;
    215       G4double costh = 2.*G4UniformRand()-1.;
    216       G4double phi = twopi*G4UniformRand();
    217       G4ThreeVector dir( std::sin(std::acos(costh))*std::cos(phi),
    218                          std::sin(std::acos(costh))*std::sin(phi),
    219                          costh);
    220       theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , e1*dir ) );   
    221       theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , -e1*dir ) );   
     219     
     220      if ( minimum_energy < e1 ) 
     221      {
     222         G4double costh = 2.*G4UniformRand()-1.;
     223         G4double phi = twopi*G4UniformRand();
     224         G4ThreeVector dir( std::sin(std::acos(costh))*std::cos(phi),
     225                            std::sin(std::acos(costh))*std::sin(phi),
     226                            costh);
     227         theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , e1*dir ) );   
     228         theResult.AddSecondary ( new G4DynamicParticle ( G4Gamma::Gamma() , -e1*dir ) );   
     229      }
     230      else
     231      {
     232         //G4cout << "HP_DB Difference is too small(<1keV) to adjust, so that neglect it" << G4endl;
     233      }
    222234
    223235   }
Note: See TracChangeset for help on using the changeset viewer.