Ignore:
Timestamp:
Jan 8, 2010, 3:02:48 PM (15 years ago)
Author:
garnier
Message:

update to geant4.9.3

Location:
trunk/examples/extended/electromagnetic/TestEm14
Files:
36 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/extended/electromagnetic/TestEm14/GNUmakefile

    r807 r1230  
    1 # $Id: GNUmakefile,v 1.3 2006/10/24 16:54:16 maire Exp $
     1# $Id: GNUmakefile,v 1.4 2008/06/11 22:47:10 maire Exp $
    22# --------------------------------------------------------------
    33# GNUmakefile for examples module.  Gabriele Cosmo, 06/04/98.
     
    1717#### G4ANALYSIS_USE := true
    1818
    19 ifdef G4ANALYSIS_USE
    20   CPPFLAGS += -DG4ANALYSIS_USE
    21 endif
    22 
    2319include $(G4INSTALL)/config/architecture.gmk
    24 
    25 ifdef G4ANALYSIS_USE
    26   # for the aida-config command see the README file
    27   CPPFLAGS += `aida-config --include`
    28   LOADLIBS += `aida-config --lib` 
    29 endif
    3020
    3121include $(G4INSTALL)/config/binmake.gmk
  • trunk/examples/extended/electromagnetic/TestEm14/TestEm14.cc

    r807 r1230  
    2525//
    2626// $Id: TestEm14.cc,v 1.4 2007/06/23 22:23:20 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/compton.mac

    r807 r1230  
    1 # $Id: compton.mac,v 1.3 2006/09/06 09:56:06 maire Exp $
     1# $Id: compton.mac,v 1.4 2009/09/25 11:43:33 maire Exp $
    22#
    33# Macro file for "TestEm14.cc"
     
    1212#
    1313/testem/phys/addPhysics standard
    14 ####/testem/phys/addPhysics livermore
    15 ####/testem/phys/addPhysics penelope
    1614#
    1715/run/initialize
     
    2422/gun/energy 300 keV
    2523#
    26 /testem/histo/setFileName compton
    27 /testem/histo/setFileType hbook
     24/testem/histo/setFileName testem14
     25/testem/histo/setFileType root
    2826/testem/histo/setHisto 1  100 0. 300. keV       #energy  of primary 
    2927/testem/histo/setHisto 2  200 -1. +1. none      #costeta of primary
  • trunk/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.hh,v 1.3 2006/06/29 16:44:56 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:44:58 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/EventAction.hh

    r807 r1230  
    2525//
    2626// $Id: EventAction.hh,v 1.3 2006/06/29 16:45:00 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/EventActionMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:45:02 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh

    r807 r1230  
    2525//
    2626// $Id: HistoManager.hh,v 1.4 2007/11/13 12:13:32 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/HistoMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.hh,v 1.4 2007/11/13 12:13:32 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:45:10 gunter Exp $
    28 // GEANT4 tag $Name:  $
     26// $Id: PhysListEmLivermore.hh,v 1.4 2009/11/19 10:36:37 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2928//
    3029//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    4241{
    4342  public:
    44     PhysListEmLivermore(const G4String& name = "Livermore");
     43    PhysListEmLivermore(const G4String& name = "livermore");
    4544   ~PhysListEmLivermore();
    4645
  • trunk/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 //
    27 // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:45:12 gunter Exp $
    28 // GEANT4 tag $Name:  $
     26// $Id: PhysListEmPenelope.hh,v 1.4 2009/11/19 10:36:37 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2928//
    3029//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    4241{
    4342  public:
    44     PhysListEmPenelope(const G4String& name = "Penelope");
     43    PhysListEmPenelope(const G4String& name = "penelope");
    4544   ~PhysListEmPenelope();
    4645
  • trunk/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh

    r807 r1230  
    2525//
    2626// $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 16:45:14 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh

    r807 r1230  
    2626//
    2727// $Id: PhysicsList.hh,v 1.3 2006/06/29 16:45:16 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:45:18 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:45:20 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh

    r807 r1230  
    2525//
    2626// $Id: ProcessesCount.hh,v 1.3 2006/06/29 16:45:22 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/RunAction.hh

    r807 r1230  
    2525//
    2626// $Id: RunAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingMessenger.hh,v 1.2 2006/06/29 16:45:29 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/include/SteppingVerbose.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.hh,v 1.3 2006/06/29 16:45:31 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//   This class manages the verbose outputs in G4SteppingManager.
  • trunk/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.cc,v 1.4 2006/06/29 16:45:33 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:45:35 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/EventAction.cc

    r807 r1230  
    2525//
    2626// $Id: EventAction.cc,v 1.3 2006/06/29 16:45:37 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/EventActionMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:45:39 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: HistoManager.cc,v 1.5 2007/11/13 12:13:32 maire Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: HistoManager.cc,v 1.7 2008/09/24 18:53:56 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5454 
    5555  fileName[0] = "testem14";
    56   fileType    = "hbook";
    57   fileOption  = "--noErrors uncompress"; 
     56  fileType    = "root";
     57  fileOption  = "--noErrors export=root uncompress"; 
    5858  // histograms
    5959  for (G4int k=0; k<MaxHisto; k++) {
     
    218218void HistoManager::PrintHisto(G4int ih)
    219219{
    220  if (ih < MaxHisto) ascii[ih] = true;
     220 if (ih < MaxHisto) { ascii[ih] = true; ascii[0] = true; }
    221221 else
    222222    G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih
     
    231231{
    232232#ifdef G4ANALYSIS_USE
     233 
     234 if (!ascii[0]) return;
    233235 
    234236 G4String name = fileName[0] + ".ascii";
  • trunk/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.cc,v 1.4 2007/11/13 12:17:07 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmLivermore.cc,v 1.2 2006/06/29 16:45:47 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysListEmLivermore.cc,v 1.4 2009/11/19 10:36:37 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3535#include "G4ProcessManager.hh"
    3636
    37 #include "G4LowEnergyCompton.hh"
    38 #include "G4LowEnergyGammaConversion.hh"
    39 #include "G4LowEnergyPhotoElectric.hh"
    40 #include "G4LowEnergyRayleigh.hh"
     37// gamma
    4138
    42 #include "G4LowEnergyIonisation.hh"
    43 #include "G4LowEnergyBremsstrahlung.hh"
     39#include "G4PhotoElectricEffect.hh"
     40#include "G4LivermorePhotoElectricModel.hh"
     41
     42#include "G4ComptonScattering.hh"
     43#include "G4LivermoreComptonModel.hh"
     44
     45#include "G4GammaConversion.hh"
     46#include "G4LivermoreGammaConversionModel.hh"
     47
     48#include "G4RayleighScattering.hh"
     49#include "G4LivermoreRayleighModel.hh"
     50
     51// e-
     52
    4453#include "G4eIonisation.hh"
     54#include "G4LivermoreIonisationModel.hh"
     55#include "G4UniversalFluctuation.hh"
     56
    4557#include "G4eBremsstrahlung.hh"
     58#include "G4LivermoreBremsstrahlungModel.hh"
     59
     60// e+
     61
    4662#include "G4eplusAnnihilation.hh"
     63
     64// mu
    4765
    4866#include "G4MuIonisation.hh"
     
    5068#include "G4MuPairProduction.hh"
    5169
    52 #include "G4hLowEnergyIonisation.hh"
     70// hadrons, ions
     71
     72#include "G4hIonisation.hh"
     73#include "G4ionIonisation.hh"
     74
    5375
    5476//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6789void PhysListEmLivermore::ConstructProcess()
    6890{
    69   // Add LowEn or standard EM Processes
     91  // Add standard EM Processes
    7092
    7193  theParticleIterator->reset();
     
    7496    G4ProcessManager* pmanager = particle->GetProcessManager();
    7597    G4String particleName = particle->GetParticleName();
    76      
     98
     99    //Applicability range for Livermore models
     100    //for higher energies, the Standard models are used   
     101    G4double highEnergyLimit = 1*GeV;
     102         
    77103    if (particleName == "gamma") {
    78104      // gamma         
    79       pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric);
    80       pmanager->AddDiscreteProcess(new G4LowEnergyCompton);
    81       pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
    82       pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh);
     105
     106      G4PhotoElectricEffect* phot = new G4PhotoElectricEffect();
     107      G4LivermorePhotoElectricModel*
     108      photModel = new G4LivermorePhotoElectricModel();
     109      photModel->SetHighEnergyLimit(highEnergyLimit);
     110      phot->AddEmModel(0, photModel);
     111      pmanager->AddDiscreteProcess(phot);
     112
     113      G4ComptonScattering* compt = new G4ComptonScattering();
     114      G4LivermoreComptonModel*
     115      comptModel = new G4LivermoreComptonModel();
     116      comptModel->SetHighEnergyLimit(highEnergyLimit);
     117      compt->AddEmModel(0, comptModel);
     118      pmanager->AddDiscreteProcess(compt);
     119
     120      G4GammaConversion* conv = new G4GammaConversion();
     121      G4LivermoreGammaConversionModel*
     122      convModel = new G4LivermoreGammaConversionModel();
     123      convModel->SetHighEnergyLimit(highEnergyLimit);
     124      conv->AddEmModel(0, convModel);
     125      pmanager->AddDiscreteProcess(conv);
     126
     127      G4RayleighScattering* rayl = new G4RayleighScattering();
     128      G4LivermoreRayleighModel*
     129      raylModel = new G4LivermoreRayleighModel();
     130      raylModel->SetHighEnergyLimit(highEnergyLimit);
     131      rayl->AddEmModel(0, raylModel);
     132      pmanager->AddDiscreteProcess(rayl);
    83133     
    84134    } else if (particleName == "e-") {
    85135      //electron
    86       pmanager->AddProcess(new G4LowEnergyIonisation,     -1, 1, 1);
    87       pmanager->AddProcess(new G4LowEnergyBremsstrahlung, -1,-1, 2);
    88            
     136
     137      G4eIonisation* eIoni = new G4eIonisation();
     138      G4LivermoreIonisationModel*
     139      eIoniModel = new G4LivermoreIonisationModel();
     140      eIoniModel->SetHighEnergyLimit(highEnergyLimit);
     141      eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() );
     142      pmanager->AddProcess(eIoni,                   -1, 1, 1);
     143     
     144      G4eBremsstrahlung* eBrem = new G4eBremsstrahlung();
     145      G4LivermoreBremsstrahlungModel*
     146      eBremModel = new G4LivermoreBremsstrahlungModel();
     147      eBremModel->SetHighEnergyLimit(highEnergyLimit);
     148      eBrem->AddEmModel(0, eBremModel);
     149      pmanager->AddProcess(eBrem,                   -1, 2, 2);
     150           
    89151    } else if (particleName == "e+") {
    90152      //positron
    91       pmanager->AddProcess(new G4eIonisation,        -1, 1, 1);
    92       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 2, 2);
    93       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1, 3);
     153      pmanager->AddProcess(new G4eIonisation,       -1, 1, 1);
     154      pmanager->AddProcess(new G4eBremsstrahlung,   -1, 2, 2);
     155      pmanager->AddProcess(new G4eplusAnnihilation,  0,-1, 3);
    94156     
    95157    } else if( particleName == "mu+" ||
    96158               particleName == "mu-"    ) {
    97159      //muon 
    98       pmanager->AddProcess(new G4MuIonisation,       -1, 1, 1);
    99       pmanager->AddProcess(new G4MuBremsstrahlung,   -1, 2, 2);
    100       pmanager->AddProcess(new G4MuPairProduction,   -1, 3, 3);       
     160      pmanager->AddProcess(new G4MuIonisation,      -1, 1, 1);
     161      pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 2, 2);
     162      pmanager->AddProcess(new G4MuPairProduction,  -1, 3, 3);       
    101163     
     164    } else if( particleName == "alpha" || particleName == "GenericIon" ) {
     165      pmanager->AddProcess(new G4ionIonisation,     -1, 1, 1);
     166
    102167    } else if ((!particle->IsShortLived()) &&
    103168               (particle->GetPDGCharge() != 0.0) &&
    104169               (particle->GetParticleName() != "chargedgeantino")) {
    105170      //all others charged particles except geantino
    106       pmanager->AddProcess(new G4hLowEnergyIonisation, -1, 1, 1);
     171      pmanager->AddProcess(new G4hIonisation,      -1, 1, 1);
    107172    }
    108173  }
  • trunk/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:45:49 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysListEmPenelope.cc,v 1.4 2009/11/19 10:36:37 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3535#include "G4ProcessManager.hh"
    3636
    37 #include "G4PenelopeCompton.hh"
    38 #include "G4PenelopeGammaConversion.hh"
    39 #include "G4PenelopePhotoElectric.hh"
    40 #include "G4PenelopeRayleigh.hh"
     37// gamma
    4138
    42 #include "G4PenelopeIonisation.hh"
    43 #include "G4PenelopeBremsstrahlung.hh"
    44 #include "G4PenelopeAnnihilation.hh"
     39#include "G4PhotoElectricEffect.hh"
     40#include "G4PenelopePhotoElectricModel.hh"
     41
     42#include "G4ComptonScattering.hh"
     43#include "G4PenelopeComptonModel.hh"
     44
     45#include "G4GammaConversion.hh"
     46#include "G4PenelopeGammaConversionModel.hh"
     47
     48#include "G4RayleighScattering.hh"
     49#include "G4PenelopeRayleighModel.hh"
     50
     51// e-
     52
     53#include "G4eIonisation.hh"
     54#include "G4PenelopeIonisationModel.hh"
     55#include "G4UniversalFluctuation.hh"
     56
     57#include "G4eBremsstrahlung.hh"
     58#include "G4PenelopeBremsstrahlungModel.hh"
     59
     60// e+
     61
     62#include "G4eplusAnnihilation.hh"
     63#include "G4PenelopeAnnihilationModel.hh"
     64
     65// mu
    4566
    4667#include "G4MuIonisation.hh"
     
    4869#include "G4MuPairProduction.hh"
    4970
     71// hadrons, ions
     72
    5073#include "G4hIonisation.hh"
    5174#include "G4ionIonisation.hh"
     75
    5276
    5377//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6690void PhysListEmPenelope::ConstructProcess()
    6791{
    68   // Add Penelope or standard EM Processes
     92  // Add standard EM Processes
    6993
    7094  theParticleIterator->reset();
     
    7397    G4ProcessManager* pmanager = particle->GetProcessManager();
    7498    G4String particleName = particle->GetParticleName();
    75      
     99
     100    //Applicability range for Penelope models
     101    //for higher energies, the Standard models are used   
     102    G4double highEnergyLimit = 1*GeV;
     103         
    76104    if (particleName == "gamma") {
    77105      // gamma         
    78       pmanager->AddDiscreteProcess(new G4PenelopePhotoElectric);
    79       pmanager->AddDiscreteProcess(new G4PenelopeCompton);
    80       pmanager->AddDiscreteProcess(new G4PenelopeGammaConversion);
    81       pmanager->AddDiscreteProcess(new G4PenelopeRayleigh);
     106
     107      G4PhotoElectricEffect* phot = new G4PhotoElectricEffect();
     108      G4PenelopePhotoElectricModel*
     109      photModel = new G4PenelopePhotoElectricModel();
     110      photModel->SetHighEnergyLimit(highEnergyLimit);
     111      phot->AddEmModel(0, photModel);
     112      pmanager->AddDiscreteProcess(phot);
     113
     114      G4ComptonScattering* compt = new G4ComptonScattering();
     115      G4PenelopeComptonModel*
     116      comptModel = new G4PenelopeComptonModel();
     117      comptModel->SetHighEnergyLimit(highEnergyLimit);
     118      compt->AddEmModel(0, comptModel);
     119      pmanager->AddDiscreteProcess(compt);
     120
     121      G4GammaConversion* conv = new G4GammaConversion();
     122      G4PenelopeGammaConversionModel*
     123      convModel = new G4PenelopeGammaConversionModel();
     124      convModel->SetHighEnergyLimit(highEnergyLimit);
     125      conv->AddEmModel(0, convModel);
     126      pmanager->AddDiscreteProcess(conv);
     127
     128      G4RayleighScattering* rayl = new G4RayleighScattering();
     129      G4PenelopeRayleighModel*
     130      raylModel = new G4PenelopeRayleighModel();
     131      raylModel->SetHighEnergyLimit(highEnergyLimit);
     132      rayl->AddEmModel(0, raylModel);
     133      pmanager->AddDiscreteProcess(rayl);
    82134     
    83135    } else if (particleName == "e-") {
    84136      //electron
    85       pmanager->AddProcess(new G4PenelopeIonisation,     -1, 1, 1);
    86       pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 2);
    87            
     137
     138      G4eIonisation* eIoni = new G4eIonisation();
     139      G4PenelopeIonisationModel*
     140      eIoniModel = new G4PenelopeIonisationModel();
     141      eIoniModel->SetHighEnergyLimit(highEnergyLimit);
     142      eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() );
     143      pmanager->AddProcess(eIoni,                   -1, 1, 1);
     144     
     145      G4eBremsstrahlung* eBrem = new G4eBremsstrahlung();
     146      G4PenelopeBremsstrahlungModel*
     147      eBremModel = new G4PenelopeBremsstrahlungModel();
     148      eBremModel->SetHighEnergyLimit(highEnergyLimit);
     149      eBrem->AddEmModel(0, eBremModel);
     150      pmanager->AddProcess(eBrem,                   -1, 2, 2);
     151           
    88152    } else if (particleName == "e+") {
    89153      //positron
    90       pmanager->AddProcess(new G4PenelopeIonisation,     -1, 1, 1);
    91       pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 2);     
    92       pmanager->AddProcess(new G4PenelopeAnnihilation,    0,-1, 3);
     154      G4eIonisation* eIoni = new G4eIonisation();
     155      G4PenelopeIonisationModel*
     156      eIoniModel = new G4PenelopeIonisationModel();
     157      eIoniModel->SetHighEnergyLimit(highEnergyLimit);
     158      eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() );
     159      pmanager->AddProcess(eIoni,                   -1, 1, 1);
    93160     
     161      G4eBremsstrahlung* eBrem = new G4eBremsstrahlung();
     162      G4PenelopeBremsstrahlungModel*
     163      eBremModel = new G4PenelopeBremsstrahlungModel();
     164      eBremModel->SetHighEnergyLimit(highEnergyLimit);
     165      eBrem->AddEmModel(0, eBremModel);
     166      pmanager->AddProcess(eBrem,                   -1, 2, 2);     
     167
     168      G4eplusAnnihilation* eAnni = new G4eplusAnnihilation();
     169      G4PenelopeAnnihilationModel*
     170      eAnniModel = new G4PenelopeAnnihilationModel();
     171      eAnniModel->SetHighEnergyLimit(highEnergyLimit);
     172      eAnni->AddEmModel(0, eAnniModel);
     173      pmanager->AddProcess(eAnni,                    0,-1, 3);
     174           
    94175    } else if( particleName == "mu+" ||
    95176               particleName == "mu-"    ) {
    96177      //muon 
    97       pmanager->AddProcess(new G4MuIonisation,       -1, 1, 1);
    98       pmanager->AddProcess(new G4MuBremsstrahlung,   -1, 2, 2);
    99       pmanager->AddProcess(new G4MuPairProduction,   -1, 3, 3);       
     178      pmanager->AddProcess(new G4MuIonisation,      -1, 1, 1);
     179      pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 2, 2);
     180      pmanager->AddProcess(new G4MuPairProduction,  -1, 3, 3);       
    100181     
    101182    } else if( particleName == "alpha" || particleName == "GenericIon" ) {
    102       pmanager->AddProcess(new G4ionIonisation,      -1, 1, 1);
    103      
     183      pmanager->AddProcess(new G4ionIonisation,     -1, 1, 1);
     184
    104185    } else if ((!particle->IsShortLived()) &&
    105186               (particle->GetPDGCharge() != 0.0) &&
    106187               (particle->GetParticleName() != "chargedgeantino")) {
    107188      //all others charged particles except geantino
    108       pmanager->AddProcess(new G4hIonisation,        -1, 1, 1);
     189      pmanager->AddProcess(new G4hIonisation,       -1, 1, 1);
    109190    }
    110191  }
  • trunk/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc

    r807 r1230  
    2626//
    2727// $Id: PhysListEmStandard.cc,v 1.4 2006/10/24 16:54:16 maire Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysicsList.cc,v 1.4 2006/10/24 16:54:16 maire Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysicsList.cc,v 1.6 2009/11/19 10:36:37 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3535 
    3636#include "PhysListEmStandard.hh"
    37 
    3837#include "PhysListEmLivermore.hh"
    3938#include "PhysListEmPenelope.hh"
     
    200199
    201200  if (name == "standard") {
    202 
    203201    emName = name;
    204202    delete emPhysicsList;
    205203    emPhysicsList = new PhysListEmStandard(name);
    206       
     204   
    207205  } else if (name == "livermore") {
    208206    emName = name;
     
    214212    delete emPhysicsList;
    215213    emPhysicsList = new PhysListEmPenelope(name);
    216            
     214                   
    217215  } else {
    218216    G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
  • trunk/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:45:55 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:45:57 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/RunAction.cc

    r807 r1230  
    2525//
    2626// $Id: RunAction.cc,v 1.4 2006/09/06 09:56:06 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.cc,v 1.5 2007/06/23 22:23:20 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingMessenger.cc,v 1.2 2006/06/29 16:46:03 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/electromagnetic/TestEm14/src/SteppingVerbose.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:46:05 gunter Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Note: See TracChangeset for help on using the changeset viewer.