Ignore:
Timestamp:
Apr 6, 2009, 12:30:29 PM (15 years ago)
Author:
garnier
Message:

update processes

Location:
trunk/source/processes/hadronic/stopping
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/stopping/GNUmakefile

    r819 r962  
    1 # $Id: GNUmakefile,v 1.4 2004/02/08 14:02:44 hpw Exp $
     1# $Id: GNUmakefile,v 1.5 2008/09/01 17:12:40 vnivanch Exp $
    22# -----------------------------------------------------------
    33# GNUmakefile for hadronic stopping library.  G.Folger 10-Dec-97
     
    2525            -I$(G4BASE)/particles/hadrons/ions/include \
    2626            -I$(G4BASE)/processes/management/include \
     27            -I$(G4BASE)/processes/hadronic/management/include \
     28            -I$(G4BASE)/processes/hadronic/cross_sections/include \
    2729            -I$(G4BASE)/processes/hadronic/models/high_energy/include \
    2830            -I$(G4BASE)/processes/hadronic/models/util/include \
     
    3234            -I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
    3335            -I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
     36            -I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \
     37            -I$(G4BASE)/processes/hadronic/models/de_excitation/handler/include \
     38            -I$(G4BASE)/processes/hadronic/models/de_excitation/gem_evaporation/include \
     39            -I$(G4BASE)/processes/hadronic/models/de_excitation/multifragmentation/include \
    3440            -I$(G4BASE)/processes/hadronic/models/de_excitation/photon_evaporation/include \
    35             -I$(G4BASE)/processes/hadronic/models/de_excitation/multifragmentation/include \
    36             -I$(G4BASE)/processes/hadronic/models/de_excitation/handler/include \
    3741            -I$(G4BASE)/processes/hadronic/models/de_excitation/management/include \
    3842            -I$(G4BASE)/processes/hadronic/models/util/include \
    3943            -I$(G4BASE)/processes/hadronic/util/include \
    40               -I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \
    41               -I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \
    42               -I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \
    43               -I$(G4BASE)/processes/hadronic/models/de_excitation/gem_evaporation/include \
    44               -I$(G4BASE)/processes/hadronic/models/de_excitation/handler/include \
    45               -I$(G4BASE)/processes/hadronic/models/de_excitation/management/include \
    46               -I$(G4BASE)/processes/hadronic/models/de_excitation/multifragmentation/include \
    47               -I$(G4BASE)/processes/hadronic/models/de_excitation/photon_evaporation/include \
    48               -I$(G4BASE)/processes/hadronic/models/de_excitation/util/include \
    49               -I$(G4BASE)/processes/hadronic/models/util/include \
    50               -I$(G4BASE)/processes/hadronic/models/management/include \
    5144            -I$(G4BASE)/materials/include
    5245
  • trunk/source/processes/hadronic/stopping/History

    r819 r962  
    1515     ---------------------------------------------------------------
    1616
    17 05-May-2008 Gabriele Cosmo (hadr-stopping-V09-00-07)
    18 ----------------------------------------------------
    19 - Tag for release 9.1.p02.
     1702-Feb-2009 Vladimir Ivantchenko (hadr-stopping-V09-02-01)
     18----------------------------------------------------------
     19- added registration/deregistration to all LHEP processes
    2020
    21 05-May-2008 Vladimir Ivantchenko
    22 --------------------------------
     2123-Jan-2009 Vladimir Ivantchenko (hadr-stopping-V09-02-00)
     22----------------------------------------------------------
     23G4MuonMinusCaptureAtRest - added deregistration 
     24
     2522-Oct-2008 Dennis Wright (hadr-stopping-V09-01-05)
     26---------------------------------------------------
     27- replace G4NucleiPropertiesTable::GetBindingEnergy() with
     28  G4NucleiProperties::GetBindingEnergy() in
     29  G4KaonMinusAbsorptionAtRest.cc and G4PiMinusStopAbsorption.cc
     30- replace G4NucleiPropertiesTable::GetAtomicMass with
     31  G4NucleiProperties::GetNuclearMass in G4StopTheoDeexcitation.cc
     32
     3302-Oct-2008 Dennis Wright (hadr-stopping-V09-01-04)
     34---------------------------------------------------
     35- replace integers with corresponding process type enum values
     36
     3701-Sep-2008 Vladimir Ivantchenko (hadr-stopping-V09-01-03)
     38----------------------------------------------------------
     39G4MuonMinusCaptureAtRest - added registration in the
     40       G4HadronicprocessStore and PrintInfo by adding
     41       PreparePhysicsTable and BuildPhysicsTable methods
     42GNUmakefile - add includes
     43
     4408-Jul-2008 Dennis Wright (hadr-stopping-V09-01-02)
     45---------------------------------------------------
     46- set process sub-type to 15 for
     47  G4AntiNeutronAnnihilationAtRest, G4AntiProtonAnnihilationAtRest,
     48  G4KaonMinusAbsorption, G4KaonMinusAbsorptionAtRest,
     49  G4MuonMinusCaptureAtRest, G4NeutronCaptureAtRest,
     50  G4PiMinusAbsorptionAtRest, G4PionMinusAbsorptionAtRest
     51
     5205-May-2007 Vladimir Ivantchenko (hadr-stopping-V09-01-01)
     53----------------------------------------------------------
    2354- G4MuMinusCaptureCascade - fixed NaN value in bound muon decay
    2455
  • trunk/source/processes/hadronic/stopping/include/G4AntiNeutronAnnihilationAtRest.hh

    r819 r962  
    4242#include "G4ParticleDefinition.hh"
    4343#include "G4GHEKinematicsVector.hh"
     44#include "G4HadronicProcessType.hh"
    4445
    4546class G4AntiNeutronAnnihilationAtRest : public G4VRestProcess
     
    6061     G4bool IsApplicable(const G4ParticleDefinition&);
    6162
    62   // null physics table
    63      void BuildPhysicsTable(const G4ParticleDefinition&){}
     63     void PreparePhysicsTable(const G4ParticleDefinition&);
     64
     65     void BuildPhysicsTable(const G4ParticleDefinition&);
    6466
    6567     G4double AtRestGetPhysicalInteractionLength(const G4Track&,
  • trunk/source/processes/hadronic/stopping/include/G4AntiProtonAnnihilationAtRest.hh

    r819 r962  
    4242#include "G4ParticleDefinition.hh"
    4343#include "G4GHEKinematicsVector.hh"
     44#include "G4HadronicProcessType.hh"
    4445
    4546class G4AntiProtonAnnihilationAtRest : public G4VRestProcess
     
    6061     G4bool IsApplicable(const G4ParticleDefinition&);
    6162
    62   // null physics table
    63      void BuildPhysicsTable(const G4ParticleDefinition&){}
     63     void PreparePhysicsTable(const G4ParticleDefinition&);
     64
     65     void BuildPhysicsTable(const G4ParticleDefinition&);
    6466
    6567     G4double AtRestGetPhysicalInteractionLength(const G4Track&,
  • trunk/source/processes/hadronic/stopping/include/G4KaonMinusAbsorption.hh

    r819 r962  
    3737#include "G4ParticleDefinition.hh"
    3838#include "G4GHEKinematicsVector.hh"
     39#include "G4HadronicProcessType.hh"
    3940
    4041// Class Description:
     
    6162     G4bool IsApplicable(const G4ParticleDefinition&);
    6263
    63   // null physics table
    64      void BuildPhysicsTable(const G4ParticleDefinition&){}
     64     void PreparePhysicsTable(const G4ParticleDefinition&);
     65
     66     void BuildPhysicsTable(const G4ParticleDefinition&);
    6567
    6668     G4double AtRestGetPhysicalInteractionLength(const G4Track&,
  • trunk/source/processes/hadronic/stopping/include/G4KaonMinusAbsorptionAtRest.hh

    r819 r962  
    4747#include "G4DynamicParticle.hh"
    4848#include "G4DynamicParticleVector.hh"
    49 #include "G4NucleiPropertiesTable.hh"
    50 //#include "G4String.hh"
     49#include "G4NucleiProperties.hh"
     50#include "G4HadronicProcessType.hh"
    5151
    5252
     
    6969               return( particle == *(G4KaonMinus::KaonMinus()) );
    7070  }
     71
     72  void PreparePhysicsTable(const G4ParticleDefinition&);
     73
     74  void BuildPhysicsTable(const G4ParticleDefinition&);
    7175
    7276  // the main method ...
  • trunk/source/processes/hadronic/stopping/include/G4MuMinusCaptureCascade.hh

    r819 r962  
    2525//
    2626// $Id: G4MuMinusCaptureCascade.hh,v 1.10 2007/07/05 18:19:14 dennis Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//   G4MuMinusCaptureCascade physics process --------
  • trunk/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh

    r819 r962  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuonMinusCaptureAtRest.hh,v 1.20 2007/11/15 10:05:13 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: G4MuonMinusCaptureAtRest.hh,v 1.23 2008/10/02 20:57:52 dennis Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//  G4MuonMinusCaptureAtRest physics process
     
    5757#include "G4ReactionProductVector.hh"
    5858#include "G4MuonMinus.hh"
     59#include "G4HadronicProcessType.hh"
    5960
    6061class G4Fancy3DNucleus;
     
    7273  virtual ~G4MuonMinusCaptureAtRest();
    7374
    74   G4bool IsApplicable(const G4ParticleDefinition&);
     75  virtual G4bool IsApplicable(const G4ParticleDefinition&);
    7576
    76   void BuildPhysicsTable(const G4ParticleDefinition&)
    77   {};
     77  virtual void PreparePhysicsTable(const G4ParticleDefinition&);
    7878
    79   G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
     79  virtual void BuildPhysicsTable(const G4ParticleDefinition&);
     80
     81  virtual G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
    8082
    8183  G4double GetMeanLifeTime(const G4Track&, G4ForceCondition*)
  • trunk/source/processes/hadronic/stopping/include/G4NeutronCaptureAtRest.hh

    r819 r962  
    4343#include "G4ParticleDefinition.hh"
    4444#include "G4GHEKinematicsVector.hh"
     45#include "G4HadronicProcessType.hh"
    4546
    4647class G4NeutronCaptureAtRest : public G4VRestProcess
     
    6162     G4bool IsApplicable(const G4ParticleDefinition&);
    6263
     64     void PreparePhysicsTable(const G4ParticleDefinition&);
     65
    6366  // null physics table
    64      void BuildPhysicsTable(const G4ParticleDefinition&){}
     67     void BuildPhysicsTable(const G4ParticleDefinition&);
    6568
    6669     G4double AtRestGetPhysicalInteractionLength(const G4Track&,
  • trunk/source/processes/hadronic/stopping/include/G4PiMinusAbsorptionAtRest.hh

    r819 r962  
    4848#include "G4StopDeexcitation.hh"
    4949#include "G4StopDeexcitationAlgorithm.hh"
     50#include "G4HadronicProcessType.hh"
    5051
    5152class G4DynamicParticle;
     
    7374  G4bool IsApplicable(const G4ParticleDefinition& particle)
    7475    { return ( particle == *(G4PionMinus::PionMinus()) ); }
     76
     77  void PreparePhysicsTable(const G4ParticleDefinition&);
     78
     79  void BuildPhysicsTable(const G4ParticleDefinition&);
    7580
    7681  G4VParticleChange* AtRestDoIt(const G4Track& aTrack, const G4Step& aStep);
  • trunk/source/processes/hadronic/stopping/include/G4PionMinusAbsorptionAtRest.hh

    r819 r962  
    4242#include "G4ParticleDefinition.hh"
    4343#include "G4GHEKinematicsVector.hh"
     44#include "G4HadronicProcessType.hh"
    4445
    4546class G4PionMinusAbsorptionAtRest : public G4VRestProcess
     
    6061     G4bool IsApplicable(const G4ParticleDefinition&);
    6162
     63     void PreparePhysicsTable(const G4ParticleDefinition&);
     64
    6265  // null physics table
    63      void BuildPhysicsTable(const G4ParticleDefinition&){}
     66     void BuildPhysicsTable(const G4ParticleDefinition&);
    6467
    6568     G4double AtRestGetPhysicalInteractionLength(const G4Track&,
  • trunk/source/processes/hadronic/stopping/include/G4StopElementSelector.hh

    r819 r962  
    2525//
    2626// $Id: G4StopElementSelector.hh,v 1.10 2007/07/05 18:19:14 dennis Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// Author:        V.Ivanchenko (Vladimir.Ivantchenko@cern.ch)
  • trunk/source/processes/hadronic/stopping/src/G4AntiNeutronAnnihilationAtRest.cc

    r819 r962  
    3131#include "G4DynamicParticle.hh"
    3232#include "G4ParticleTypes.hh"
     33#include "G4HadronicProcessStore.hh"
    3334#include "Randomize.hh"
    3435#include <string.h>
     
    4142 
    4243G4AntiNeutronAnnihilationAtRest::G4AntiNeutronAnnihilationAtRest(const G4String& processName,
    43                                                                 G4ProcessType   aType ) :
     44                                                                 G4ProcessType aType) :
    4445  G4VRestProcess (processName, aType),       // initialization
    4546  massPionMinus(G4PionMinus::PionMinus()->GetPDGMass()/GeV),
     
    6364    G4cout << GetProcessName() << " is created "<< G4endl;
    6465  }
    65 
     66  SetProcessSubType(fHadronAtRest);
    6667  pv   = new G4GHEKinematicsVector [MAX_SECONDARIES+1];
    6768  eve  = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6869  gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6970
     71  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    7072}
    7173 
     
    7476G4AntiNeutronAnnihilationAtRest::~G4AntiNeutronAnnihilationAtRest()
    7577{
     78  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    7679  delete [] pv;
    7780  delete [] eve;
     
    7982}
    8083 
     84void G4AntiNeutronAnnihilationAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     85{
     86  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     87}
     88
     89void G4AntiNeutronAnnihilationAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     90{
     91  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     92}
    8193 
    8294// methods.............................................................................
     
    89101
    90102}
    91  
     103
    92104// Warning - this method may be optimized away if made "inline"
    93105G4int G4AntiNeutronAnnihilationAtRest::GetNumberOfSecondaries()
  • trunk/source/processes/hadronic/stopping/src/G4AntiProtonAnnihilationAtRest.cc

    r819 r962  
    3232#include "G4ParticleTypes.hh"
    3333#include "Randomize.hh"
     34#include "G4HadronicProcessStore.hh"
    3435#include <string.h>
    3536#include <cmath>
     
    6364    G4cout << GetProcessName() << " is created "<< G4endl;
    6465  }
    65 
     66  SetProcessSubType(fHadronAtRest);
    6667  pv   = new G4GHEKinematicsVector [MAX_SECONDARIES+1];
    6768  eve  = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6869  gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6970
     71  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    7072}
    7173 
     
    7476G4AntiProtonAnnihilationAtRest::~G4AntiProtonAnnihilationAtRest()
    7577{
     78  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    7679  delete [] pv;
    7780  delete [] eve;
     
    7982}
    8083 
     84void G4AntiProtonAnnihilationAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     85{
     86  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     87}
     88
     89void G4AntiProtonAnnihilationAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     90{
     91  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     92}
    8193 
    8294// methods.............................................................................
  • trunk/source/processes/hadronic/stopping/src/G4KaonMinusAbsorption.cc

    r819 r962  
    3232#include "G4ParticleTypes.hh"
    3333#include "Randomize.hh"
     34#include "G4HadronicProcessStore.hh"
    3435#include <string.h>
    3536#include <cmath>
     
    6162    G4cout << GetProcessName() << " is created "<< G4endl;
    6263  }
    63 
     64  SetProcessSubType(fHadronAtRest);
    6465  pv   = new G4GHEKinematicsVector [MAX_SECONDARIES+1];
    6566  eve  = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6667  gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6768
     69  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    6870}
    6971 
     
    7274G4KaonMinusAbsorption::~G4KaonMinusAbsorption()
    7375{
     76  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    7477  delete [] pv;
    7578  delete [] eve;
    7679  delete [] gkin;
    7780}
    78  
     81
     82void G4KaonMinusAbsorption::PreparePhysicsTable(const G4ParticleDefinition& p)
     83{
     84  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     85}
     86
     87void G4KaonMinusAbsorption::BuildPhysicsTable(const G4ParticleDefinition& p)
     88{
     89  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     90}
    7991 
    8092// methods.............................................................................
  • trunk/source/processes/hadronic/stopping/src/G4KaonMinusAbsorptionAtRest.cc

    r819 r962  
    4343#include "G4StopDeexcitationAlgorithm.hh"
    4444#include "G4ReactionKinematics.hh"
     45#include "G4HadronicProcessStore.hh"
    4546
    4647G4KaonMinusAbsorptionAtRest::G4KaonMinusAbsorptionAtRest(const G4String& processName,
     
    5152    G4cout << GetProcessName() << " is created "<< G4endl;
    5253  }
     54  SetProcessSubType(fHadronAtRest);
    5355
    5456  // see Cohn et al, PLB27(1968) 527;
     
    7981  sigmaMinusLambdaConversionRate = 0.55;
    8082  sigmaZeroLambdaConversionRate = 0.55;
     83
     84  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    8185}
    8286
    8387
    8488G4KaonMinusAbsorptionAtRest::~G4KaonMinusAbsorptionAtRest()
    85 { }
    86 
     89{
     90  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
     91}
     92
     93void G4KaonMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     94{
     95  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     96}
     97
     98void G4KaonMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     99{
     100  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     101}
    87102
    88103G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
     
    182197  G4double newA = nucleus->GetN();
    183198
    184   G4double bDiff = G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(Z),static_cast<G4int>(A)) -
    185     G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(newZ), static_cast<G4int>(newA));
    186 
    187   //  G4double mass = G4NucleiPropertiesTable::GetAtomicMass(static_cast<G4int>(newZ),static_cast<G4int>(newA));
     199  G4double bDiff = G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(A),static_cast<G4int>(Z)) -
     200    G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(newA), static_cast<G4int>(newZ));
     201
    188202  G4double pNucleus = pProducts.mag();
    189203 
    190204  G4StopDeexcitationAlgorithm* nucleusAlgorithm = new G4StopTheoDeexcitation();
    191205  G4StopDeexcitation stopDeexcitation(nucleusAlgorithm);
    192 
    193   // G4double difference = G4KaonMinus::KaonMinus()->GetPDGMass() - productEnergy - bDiff;
    194206
    195207  nucleus->AddExcitationEnergy(bDiff);
     
    397409  // Modify the Kaon mass to take nuclear binding energy into account 
    398410  // .. using mas formula ..
    399   //   G4double nucleonBindingEnergy =  nucleus->AtomicMass(iniA,iniZ)
    400   //                                  - nucleus->AtomicMass(newA,newZ)
    401   //                                  - nucleonMass;
    402411  // .. using mass table ..
    403   //   G4double nucleonBindingEnergy = 
    404   //            G4NucleiPropertiesTable::GetAtomicMass(iniZ,iniA)
    405   //           -G4NucleiPropertiesTable::GetAtomicMass(newZ,newA)
    406   //           -nucleonMass;
    407412  // equivalent to -'initialBindingEnergy+nucleus.GetBindingEnergy' !
    408413
    409414  G4double nucleonBindingEnergy =
    410     -G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(iniZ), static_cast<G4int>(iniA) )
    411     +G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(newZ), static_cast<G4int>(newA) );
     415    -G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(iniA), static_cast<G4int>(iniZ) )
     416    +G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(newA), static_cast<G4int>(newZ) );
    412417 
    413418  G4DynamicParticle modifiedHadron = (*stoppedHadron);
     
    523528  // ExcitationEnergy.
    524529  // .. using mass formula ..
    525   //   G4double massDifference =   nucleus->AtomicMass(A,Z)
    526   //                           - nucleus->AtomicMass(A,newZ)
    527   //                           - nucleonMassDifference;
    528530  // .. using mass table ..
    529   // G4double massDifference =
    530   //            G4NucleiPropertiesTable::GetAtomicMass(Z,A)
    531   //           -G4NucleiPropertiesTable::GetAtomicMass(newZ,A)
    532   //           -nucleonMass;
    533531  // equivalent to -'initialBindingEnergy+nucleus.GetBindingEnergy' !
    534   //G4double massDifference =
    535   //  -G4NucleiPropertiesTable::GetBindingEnergy(Z,A)
    536   //  +G4NucleiPropertiesTable::GetBindingEnergy(newZ,A);
    537  
    538  
     532
    539533  // Add energy and momentum to nucleus, change Z,A
    540   //  nucleus->AddExcitationEnergy(outNucleon->GetKineticEnergy()+massDifference);
    541534  nucleus->AddExcitationEnergy(outNucleon.GetKineticEnergy());
    542535  nucleus->AddMomentum(outNucleon.GetMomentum());
  • trunk/source/processes/hadronic/stopping/src/G4MuMinusCaptureCascade.cc

    r819 r962  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuMinusCaptureCascade.cc,v 1.15.2.1 2008/05/05 09:14:52 vnivanch Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: G4MuMinusCaptureCascade.cc,v 1.16 2008/05/05 09:09:06 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//   G4MuonMinusCaptureAtRest physics process
  • trunk/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc

    r819 r962  
    2424// ********************************************************************
    2525//
    26 // $Id: G4MuonMinusCaptureAtRest.cc,v 1.48 2007/11/19 16:49:25 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: G4MuonMinusCaptureAtRest.cc,v 1.54 2009/01/24 11:55:38 vnivanch Exp $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929//   G4MuonMinusCaptureAtRest physics process
     
    3333//
    3434// Modifications:
    35 // 18/08/2000  V.Ivanchenko Update description
     35// 18/08/2000  V.Ivanchenko Update description 
    3636// 12/12/2003  H.P.Wellisch Completly rewrite mu-nuclear part
    3737// 17/05/2006  V.Ivanchenko Cleanup
    3838// 15/11/2006  V.Ivanchenko Review and rewrite all kinematics
    3939// 24/01/2007  V.Ivanchenko Force to work with integer Z and A
     40// 23/01/2009  V.Ivanchenko Add deregistration
    4041//
    4142//-----------------------------------------------------------------------------
     
    5354#include "G4Fancy3DNucleus.hh"
    5455#include "G4ExcitationHandler.hh"
     56#include "G4HadronicProcessStore.hh"
    5557
    5658//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     
    6163  isInitialised(false)
    6264{
     65  SetProcessSubType(fHadronAtRest);
    6366  Cascade    = new G4GHEKinematicsVector [17];
    6467  pSelector  = new G4StopElementSelector();
     
    6669  theN       = new G4Fancy3DNucleus();
    6770  theHandler = new G4ExcitationHandler();
     71  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    6872}
    6973
     
    7276G4MuonMinusCaptureAtRest::~G4MuonMinusCaptureAtRest()
    7377{
     78  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    7479  delete [] Cascade;
    7580  delete pSelector;
     
    8489{
    8590  return ( &p == G4MuonMinus::MuonMinus() );
     91}
     92
     93//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     94
     95void G4MuonMinusCaptureAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     96{
     97  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     98}
     99
     100//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
     101
     102void G4MuonMinusCaptureAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     103{
     104  G4HadronicProcessStore::Instance()->PrintInfo(&p);
    86105}
    87106
  • trunk/source/processes/hadronic/stopping/src/G4NeutronCaptureAtRest.cc

    r819 r962  
    3232#include "G4ParticleTypes.hh"
    3333#include "Randomize.hh"
     34#include "G4HadronicProcessStore.hh"
    3435#include <string.h>
    3536#include <cmath>
     
    5455    G4cout << GetProcessName() << " is created "<< G4endl;
    5556  }
    56 
     57  SetProcessSubType(fHadronAtRest);
    5758  pv   = new G4GHEKinematicsVector [MAX_SECONDARIES+1];
    5859  eve  = new G4GHEKinematicsVector [MAX_SECONDARIES];
    5960  gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6061
     62  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    6163}
    6264 
     
    6567G4NeutronCaptureAtRest::~G4NeutronCaptureAtRest()
    6668{
     69  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    6770  delete [] pv;
    6871  delete [] eve;
     
    7073}
    7174 
     75void G4NeutronCaptureAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     76{
     77  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     78}
     79
     80void G4NeutronCaptureAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     81{
     82  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     83}
    7284 
    7385// methods.............................................................................
  • trunk/source/processes/hadronic/stopping/src/G4PiMinusAbsorptionAtRest.cc

    r819 r962  
    5757#include "G4ThreeVector.hh"
    5858#include "G4LorentzVector.hh"
     59#include "G4HadronicProcessStore.hh"
    5960
    6061// Constructor
    6162
    6263G4PiMinusAbsorptionAtRest::G4PiMinusAbsorptionAtRest(const G4String& processName,
    63                                       G4ProcessType   aType ) :
     64                                                     G4ProcessType aType) :
    6465  G4VRestProcess (processName, aType)
    6566{
    66   //  _stopAbsorption = 0;
    67   //  _stopDeexcitation = 0;
     67  SetProcessSubType(fHadronAtRest);
    6868
    6969  _indexDeexcitation = 0;
     
    7171  if (verboseLevel>0)
    7272    { G4cout << GetProcessName() << " is created "<< G4endl; }
     73  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    7374}
    7475
     
    7778
    7879G4PiMinusAbsorptionAtRest::~G4PiMinusAbsorptionAtRest()
    79 {}
    80 
     80{
     81  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
     82}
     83
     84void G4PiMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     85{
     86  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     87}
     88
     89void G4PiMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     90{
     91  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     92}
    8193
    8294G4VParticleChange* G4PiMinusAbsorptionAtRest::AtRestDoIt(const G4Track& track, const G4Step& )
  • trunk/source/processes/hadronic/stopping/src/G4PiMinusStopAbsorption.cc

    r819 r962  
    3838#include "globals.hh"
    3939#include "Randomize.hh"
    40 #include "G4NucleiPropertiesTable.hh"
    4140#include "G4NucleiProperties.hh"
    4241#include "G4ParticleTypes.hh"
     
    9493    }
    9594
    96   G4double binding = G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ) ,static_cast<G4int>(_nucleusA)) / _nucleusA;
     95  G4double binding = G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(_nucleusA) ,static_cast<G4int>(_nucleusZ)) / _nucleusA;
    9796  G4double mass = G4NucleiProperties::GetNuclearMass(static_cast<G4int>(newA),static_cast<G4int>(newZ));
    9897
     
    185184    }
    186185
    187   G4double productBinding = (G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ),static_cast<G4int>(_nucleusA)) / _nucleusA) * nAbsorptionProducts;
     186  G4double productBinding = (G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(_nucleusA),static_cast<G4int>(_nucleusZ)) / _nucleusA) * nAbsorptionProducts;
    188187  G4double mass = G4NucleiProperties::GetNuclearMass(_nucleusA - (nP + nN),_nucleusZ - nP);
    189188  G4double pNucleus = pProducts.mag();
    190189  G4double eNucleus = std::sqrt(pNucleus*pNucleus + mass*mass);
    191190  G4double tNucleus = eNucleus - mass;
    192   G4double temp = G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ - nP),static_cast<G4int>(_nucleusA - (nP + nN))) -
    193     G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(_nucleusZ),static_cast<G4int>(_nucleusA));
     191  G4double temp =
     192    G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(_nucleusA - (nP + nN)),static_cast<G4int>(_nucleusZ - nP)) -
     193    G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(_nucleusA),static_cast<G4int>(_nucleusZ));
    194194  energy = productEnergy + productBinding + tNucleus;
    195195 
  • trunk/source/processes/hadronic/stopping/src/G4PionMinusAbsorptionAtRest.cc

    r819 r962  
    3232#include "G4ParticleTypes.hh"
    3333#include "Randomize.hh"
     34#include "G4HadronicProcessStore.hh"
    3435#include <string.h>
    3536#include <cmath>
     
    5657    G4cout << GetProcessName() << " is created "<< G4endl;
    5758  }
    58 
     59  SetProcessSubType(fHadronAtRest);
    5960  pv   = new G4GHEKinematicsVector [MAX_SECONDARIES+1];
    6061  eve  = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6162  gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
    6263
     64  G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
    6365}
    6466 
     
    6769G4PionMinusAbsorptionAtRest::~G4PionMinusAbsorptionAtRest()
    6870{
     71  G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
    6972  delete [] pv;
    7073  delete [] eve;
     
    7275}
    7376 
     77void G4PionMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
     78{
     79  G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
     80}
     81
     82void G4PionMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
     83{
     84  G4HadronicProcessStore::Instance()->PrintInfo(&p);
     85}
    7486 
    7587// methods.............................................................................
  • trunk/source/processes/hadronic/stopping/src/G4StopElementSelector.cc

    r819 r962  
    2525//
    2626// $Id: G4StopElementSelector.cc,v 1.16 2007/10/02 18:27:43 vnivanch Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-02-ref-02 $
    2828//
    2929// File: G4StopElementSelector
  • trunk/source/processes/hadronic/stopping/src/G4StopTheoDeexcitation.cc

    r819 r962  
    4242#include "G4ThreeVector.hh"
    4343#include "G4LorentzVector.hh"
    44 #include "G4NucleiPropertiesTable.hh"
     44#include "G4NucleiProperties.hh"
    4545#include "G4Fragment.hh"
    4646#include "G4ExcitationHandler.hh"
     
    6969  //  theHandler.SetMaxAandZForFermiBreakUp(2, 1);
    7070  // Min excitation energy (per nucleon) for use MultiFrag
    71   // theHandler.SetMinEForMultiFrag(3*MeV);
     71
    7272  theHandler.SetMinEForMultiFrag(300*GeV);
    7373
    7474  // Deexcite the nucleus
    7575
    76   G4double atomicMass = G4NucleiPropertiesTable::GetAtomicMass(static_cast<G4int>(Z),static_cast<G4int>(A));
     76  G4double atomicMass = G4NucleiProperties::GetNuclearMass(static_cast<G4int>(A),static_cast<G4int>(Z));
    7777  G4double m = atomicMass + excitation;
    7878  G4double pMag = p.mag();
     
    8080  G4Fragment theExcitedNucleus(static_cast<G4int>(A),static_cast<G4int>(Z),initialMomentum);
    8181
    82   //  theExcitedNucleus.SetA(A);
    83   //  theExcitedNucleus.SetZ(Z);
    84   //  theExcitedNucleus.SetExcitationEnergy(excitation);
    85   //  theExcitedNucleus.SetMomentum(initialMomentum);
    86 
    87   //  G4cout << "Theo input " << A << " " << Z << " "
    88   //     << pMag << " " << atomicMass << G4endl
    89   //     << "Theo -     " << excitation << " " << initialMomentum.mag() << G4endl
    90   //     << "Fragment - " << theExcitedNucleus.GetExcitationEnergy() << " "
    91   //     << theExcitedNucleus.GetMomentum().mag() << G4endl;
    92 
    9382  return theHandler.BreakItUp(theExcitedNucleus);
    9483}
Note: See TracChangeset for help on using the changeset viewer.