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

geant4 tag 9.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc

    r1340 r1347  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: G4HEAntiSigmaZeroInelastic.cc,v 1.10 2006/06/29 20:30:08 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-03-ref-09 $
    29 //
     26// $Id: G4HEAntiSigmaZeroInelastic.cc,v 1.11 2010/11/20 04:01:33 dennis Exp $
     27// GEANT4 tag $Name: geant4-09-04-ref-00 $
    3028//
    3129
     
    3331#include "G4ios.hh"
    3432
    35 //
    3633// G4 Process: Gheisha High Energy Collision model.
    3734// This includes the high energy cascading model, the two-body-resonance model
    38 // and the low energy two-body model. Not included are the low energy stuff like
    39 // nuclear reactions, nuclear fission without any cascading and all processes for
    40 // particles at rest. 
     35// and the low energy two-body model.  Not included is the low energy stuff
     36// like nuclear reactions, nuclear fission without any cascading and all
     37// processes for particles at rest. 
    4138// First work done by J.L.Chuma and F.W.Jones, TRIUMF, June 96. 
    4239// H. Fesefeldt, RWTH-Aachen, 23-October-1996
     
    4643#include "G4Gamma.hh"
    4744
    48 G4HadFinalState *  G4HEAntiSigmaZeroInelastic::
    49 ApplyYourself( const G4HadProjectile &aTrack, G4Nucleus &targetNucleus )
    50   {
    51     G4HEVector * pv = new G4HEVector[MAXPART];
    52     const G4HadProjectile *aParticle = &aTrack;
    53     G4HEVector incidentParticle(aParticle);
    54     G4HEAntiLambdaInelastic theAntiLambdaInelastic;
    55     theAntiLambdaInelastic.SetMaxNumberOfSecondaries(MAXPART);
    56     theAntiLambdaInelastic.SetVerboseLevel(verboseLevel);
     45G4HadFinalState*
     46G4HEAntiSigmaZeroInelastic::ApplyYourself(const G4HadProjectile& aTrack,
     47                                          G4Nucleus& targetNucleus)
     48{
     49  G4HEVector* pv = new G4HEVector[MAXPART];
     50  const G4HadProjectile *aParticle = &aTrack;
     51  G4HEVector incidentParticle(aParticle);
     52  G4HEAntiLambdaInelastic theAntiLambdaInelastic;
     53  theAntiLambdaInelastic.SetMaxNumberOfSecondaries(MAXPART);
     54  theAntiLambdaInelastic.SetVerboseLevel(verboseLevel);
    5755   
    58     G4double incidentTotalMomentum = incidentParticle.getTotalMomentum();
    59     G4double pgam = G4UniformRand()*incidentTotalMomentum*0.75;
    60     G4HEVector incidentAntiLambda;
    61     incidentAntiLambda.SmulAndUpdate( incidentParticle,
    62                                      (incidentTotalMomentum - pgam)/incidentTotalMomentum);                   
    63     G4DynamicParticle * aLambda = new G4DynamicParticle();
    64     aLambda->SetDefinition(G4AntiLambda::AntiLambda());
    65     aLambda->SetMomentum(incidentAntiLambda.getMomentum());
    66     G4HadProjectile aLambdaTrack(*aLambda);
    67     G4HadFinalState * result = theAntiLambdaInelastic.ApplyYourself(aLambdaTrack, targetNucleus);               
    68     vecLength = theAntiLambdaInelastic.GetNumberOfSecondaries();
    69     pv[vecLength] = Gamma;
    70     pv[vecLength].setMomentum(incidentParticle.getMomentum());
    71     pv[vecLength].SmulAndUpdate( pv[vecLength],pgam/incidentTotalMomentum);
    72     G4DynamicParticle * aPhoton = new G4DynamicParticle();
    73     aPhoton->SetDefinition(G4Gamma::Gamma());
    74     aPhoton->SetMomentum(pv[vecLength].getMomentum());
    75     result->AddSecondary(aPhoton);
    76       delete [] pv;
    77     return result;
    78   }
    79        
     56  G4double incidentTotalMomentum = incidentParticle.getTotalMomentum();
     57  G4double pgam = G4UniformRand()*incidentTotalMomentum*0.75;
     58  G4HEVector incidentAntiLambda;
     59  incidentAntiLambda.SmulAndUpdate(incidentParticle,
     60                                   (incidentTotalMomentum - pgam)/incidentTotalMomentum);                   
     61  G4DynamicParticle* aLambda = new G4DynamicParticle();
     62  aLambda->SetDefinition(G4AntiLambda::AntiLambda());
     63  aLambda->SetMomentum(incidentAntiLambda.getMomentum());
     64  G4HadProjectile aLambdaTrack(*aLambda);
     65  G4HadFinalState* result = theAntiLambdaInelastic.ApplyYourself(aLambdaTrack, targetNucleus);         
     66  vecLength = theAntiLambdaInelastic.GetNumberOfSecondaries();
     67  pv[vecLength] = Gamma;
     68  pv[vecLength].setMomentum(incidentParticle.getMomentum());
     69  pv[vecLength].SmulAndUpdate( pv[vecLength],pgam/incidentTotalMomentum);
     70  G4DynamicParticle * aPhoton = new G4DynamicParticle();
     71  aPhoton->SetDefinition(G4Gamma::Gamma());
     72  aPhoton->SetMomentum(pv[vecLength].getMomentum());
     73  result->AddSecondary(aPhoton);
     74  delete [] pv;
     75  return result;
     76}
    8077
    81 
    82 
    83 
    84 
    85 
    86 
    87 
Note: See TracChangeset for help on using the changeset viewer.