![]() |
|
|||
File indexing completed on 2025-02-23 09:20:10
0001 // 0002 // ******************************************************************** 0003 // * License and Disclaimer * 0004 // * * 0005 // * The Geant4 software is copyright of the Copyright Holders of * 0006 // * the Geant4 Collaboration. It is provided under the terms and * 0007 // * conditions of the Geant4 Software License, included in the file * 0008 // * LICENSE and available at http://cern.ch/geant4/license . These * 0009 // * include a list of copyright holders. * 0010 // * * 0011 // * Neither the authors of this software system, nor their employing * 0012 // * institutes,nor the agencies providing financial support for this * 0013 // * work make any representation or warranty, express or implied, * 0014 // * regarding this software system or assume any liability for its * 0015 // * use. Please see the license in the file LICENSE and URL above * 0016 // * for the full disclaimer and the limitation of liability. * 0017 // * * 0018 // * This code implementation is the result of the scientific and * 0019 // * technical work of the GEANT4 collaboration. * 0020 // * By using, copying, modifying or distributing the software (or * 0021 // * any work based on the software) you agree to acknowledge its * 0022 // * use in resulting scientific publications, and indicate your * 0023 // * acceptance of all terms of the Geant4 Software license. * 0024 // ******************************************************************** 0025 // 0026 // 0027 // Previous authors: G. Guerrieri and M. G. Pia, INFN Genova, Italy 0028 // Authors (since 2007): S. Guatelli, University of Wollongong, Australia 0029 // 0030 // 0031 // 0032 // ********************************** 0033 // * * 0034 // * G4HumanPhantomPhysicsList.cc * 0035 // * * 0036 // ********************************** 0037 // 0038 // 0039 #include "G4HumanPhantomPhysicsList.hh" 0040 0041 #include "G4SystemOfUnits.hh" 0042 #include "G4ParticleDefinition.hh" 0043 #include "G4ProductionCutsTable.hh" 0044 #include "G4ProcessManager.hh" 0045 #include "G4ParticleTypes.hh" 0046 #include "G4UnitsTable.hh" 0047 #include "G4ios.hh" 0048 #include "G4VModularPhysicsList.hh" 0049 #include "G4EmStandardPhysics_option4.hh" 0050 #include "G4DecayPhysics.hh" 0051 0052 G4HumanPhantomPhysicsList::G4HumanPhantomPhysicsList(): G4VModularPhysicsList() 0053 { 0054 SetVerboseLevel(1); 0055 emPhysicsList = new G4EmStandardPhysics_option4(1); 0056 decPhysicsList = new G4DecayPhysics(); 0057 // Alternatively you can substitute this physics list 0058 // with the LowEnergy Livermore or LowEnergy Penelope: 0059 // emPhysicsList = new G4EmLivermorePhysics(); 0060 // Low Energy based on Livermore Evaluated Data Libraries 0061 // 0062 // Penelope physics 0063 //emPhysicsList = new G4EmPenelopePhysics(); 0064 } 0065 0066 G4HumanPhantomPhysicsList::~G4HumanPhantomPhysicsList() 0067 { 0068 delete decPhysicsList; 0069 delete emPhysicsList; 0070 } 0071 0072 void G4HumanPhantomPhysicsList::ConstructParticle() 0073 { 0074 decPhysicsList -> ConstructParticle(); 0075 } 0076 0077 void G4HumanPhantomPhysicsList::ConstructProcess() 0078 { 0079 AddTransportation(); 0080 emPhysicsList -> ConstructProcess(); 0081 decPhysicsList -> ConstructProcess(); 0082 } 0083 0084 void G4HumanPhantomPhysicsList::SetCuts() 0085 { 0086 // The production threshold is fixed to 0.1 mm for all the particles 0087 // Secondary particles with a range bigger than 0.1 mm 0088 // are generated; otherwise their energy is considered deposited locally 0089 0090 defaultCutValue = 1. * mm; 0091 0092 const G4double cutForGamma = defaultCutValue; 0093 const G4double cutForElectron = defaultCutValue; 0094 const G4double cutForPositron = defaultCutValue; 0095 0096 SetCutValue(cutForGamma, "gamma"); 0097 SetCutValue(cutForElectron, "e-"); 0098 SetCutValue(cutForPositron, "e+"); 0099 0100 // Set the secondary production cut lower than 990. eV 0101 // Very important for high precision of lowenergy processes at low energies 0102 0103 G4double lowLimit = 250. * eV; 0104 G4double highLimit = 100. * GeV; 0105 G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(lowLimit, highLimit); 0106 0107 if (verboseLevel>0) DumpCutValuesTable(); 0108 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |