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/TestEm18
Files:
40 edited

Legend:

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

    r807 r1230  
    1 # $Id: GNUmakefile,v 1.1 2007/02/13 17:57:19 maire Exp $
     1# $Id: GNUmakefile,v 1.2 2008/06/11 22:57:25 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/TestEm18/TestEm18.cc

    r807 r1230  
    2626//
    2727// $Id: TestEm18.cc,v 1.1 2007/02/13 17:57:19 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/TestEm18/electron.mac

    r807 r1230  
    1 # $Id: electron.mac,v 1.1 2007/02/13 17:57:20 maire Exp $
     1# $Id: electron.mac,v 1.2 2009/10/12 21:47:57 maire Exp $
    22#
    33# macro file for TestEm18.cc
     
    88/testem/det/setMat Water
    99/testem/det/setSize 1 cm
     10#
     11/testem/phys/addPhysics standard
    1012#
    1113/testem/phys/setCuts 100 um
  • trunk/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/DetectorMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/EventAction.hh

    r807 r1230  
    2525//
    2626// $Id: EventAction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/EventMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: EventMessenger.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/HistoManager.hh

    r807 r1230  
    2525//
    2626// $Id: HistoManager.hh,v 1.2 2007/11/13 16:43:59 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/TestEm18/include/HistoMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.hh,v 1.2 2007/11/13 16:43:59 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/TestEm18/include/PhysListEmLivermore.hh

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmLivermore.hh,v 1.1 2007/02/13 17:57:20 maire Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    31 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     27// $Id: PhysListEmLivermore.hh,v 1.2 2009/10/12 21:47:57 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    3229
    3330#ifndef PhysListEmLivermore_h
     
    4138class PhysListEmLivermore : public G4VPhysicsConstructor
    4239{
    43 public: 
     40public:
    4441  PhysListEmLivermore(const G4String& name = "Livermore");
     42
    4543  virtual ~PhysListEmLivermore();
    4644
    47 public:
    48   // This method is dummy for physics
    49   void ConstructParticle() {};
    50  
    51   // This method will be invoked in the Construct() method.
    52   // each physics process will be instantiated and
    53   // registered to the process manager of each particle type
    54   void ConstructProcess();
     45  virtual void ConstructParticle() { };
     46  virtual void ConstructProcess();
    5547};
    5648
     
    6456
    6557
    66 
    67 
  • trunk/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysListEmPenelope.hh,v 1.1 2007/02/13 17:57:20 maire Exp $
    27 // GEANT4 tag $Name:  $
    2826//
    29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     27// $Id: PhysListEmPenelope.hh,v 1.2 2009/10/12 21:47:57 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    3129
    3230#ifndef PhysListEmPenelope_h
     
    4038class PhysListEmPenelope : public G4VPhysicsConstructor
    4139{
    42 public:
    43   PhysListEmPenelope(const G4String& name = "penelope");
     40public:
     41  PhysListEmPenelope(const G4String& name = "Penelope");
     42
    4443  virtual ~PhysListEmPenelope();
    4544
    46 public:
    47   // This method is dummy for physics
    48   void ConstructParticle() {};
    49  
    50   // This method will be invoked in the Construct() method.
    51   // each physics process will be instantiated and
    52   // registered to the process manager of each particle type
    53   void ConstructProcess();
     45  virtual void ConstructParticle() { };
     46  virtual void ConstructProcess();
    5447};
    5548
     
    6356
    6457
    65 
    66 
  • trunk/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh

    r807 r1230  
    2525//
    2626// $Id: PhysListEmStandard.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/PhysicsList.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsList.hh,v 1.1 2007/02/13 17:57:20 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsList.hh,v 1.3 2009/03/06 18:24:07 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5757    void SetCutForElectron(G4double);
    5858    void SetCutForPositron(G4double);
    59    
     59     
    6060  private:
    6161 
  • trunk/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsListMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsListMessenger.hh,v 1.3 2009/03/06 18:24:07 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6060    G4UIcmdWithADoubleAndUnit* gammaCutCmd;
    6161    G4UIcmdWithADoubleAndUnit* electCutCmd;
    62     G4UIcmdWithADoubleAndUnit* allCutCmd;       
     62    G4UIcmdWithADoubleAndUnit* allCutCmd;
    6363};
    6464
  • trunk/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/RunAction.hh

    r807 r1230  
    2525//
    2626// $Id: RunAction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/StackingAction.hh

    r807 r1230  
    2525//
    2626// $Id: StackingAction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/StepMax.hh

    r807 r1230  
    2525//
    2626// $Id: StepMax.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/StepMaxMessenger.hh

    r807 r1230  
    2525//
    2626// $Id: StepMaxMessenger.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/SteppingAction.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.hh,v 1.1 2007/02/13 17:57: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/TestEm18/include/SteppingVerbose.hh

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.hh,v 1.1 2007/02/13 17:57:20 maire 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/TestEm18/proton.mac

    r807 r1230  
    1 # $Id: proton.mac,v 1.1 2007/02/13 17:57:20 maire Exp $
     1# $Id: proton.mac,v 1.2 2009/02/22 17:48:53 maire Exp $
    22#
    33# macro file for TestEm18.cc
     
    1616/gun/energy 100 MeV
    1717#
    18 /testem/histo/setFileName proton
     18/testem/histo/setFileName proton
     19/testem/histo/setFileType hbook
     20#
    1921/testem/histo/setHisto 1 100 0 10 MeV   #continuous eLoss
    2022/testem/histo/setHisto 2 100 0 10 MeV   #secondary  eLoss
  • trunk/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: DetectorConstruction.cc,v 1.2 2007/02/16 11:59:47 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: DetectorConstruction.cc,v 1.3 2009/03/06 18:24:07 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    113113  new G4Material("Tungsten"   , z=74., a=183.85*g/mole, density= 19.30*g/cm3);
    114114  new G4Material("Lead"       , z=82., a=207.19*g/mole, density= 11.35*g/cm3);
    115 
     115 
     116  new G4Material("ArgonGas"   , z=18., a=39.948*g/mole, density= 1.782*mg/cm3,
     117                 kStateGas, 273.15*kelvin, 1*atmosphere);
     118                 
    116119  G4cout << *(G4Material::GetMaterialTable()) << G4endl;
    117120}
  • trunk/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/EventAction.cc

    r807 r1230  
    2525//
    2626// $Id: EventAction.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/EventMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: EventMessenger.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/HistoManager.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: HistoManager.cc,v 1.2 2007/11/13 16:43:59 maire Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: HistoManager.cc,v 1.5 2008/09/26 20:26:01 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5454 
    5555  fileName[0] = "testem18";
    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++) {
     
    217217void HistoManager::PrintHisto(G4int ih)
    218218{
    219  if (ih < MaxHisto) ascii[ih] = true;
     219 if (ih < MaxHisto) { ascii[ih] = true; ascii[0] = true; }
    220220 else
    221221    G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih
     
    230230{
    231231#ifdef G4ANALYSIS_USE
    232  
     232
     233 if (!ascii[0]) return;
     234 
    233235 G4String name = fileName[0] + ".ascii";
    234236 std::ofstream File(name, std::ios::out);
     
    243245      for (G4int iBin=0; iBin<Nbins[ih]; iBin++) {
    244246         File << "  " << iBin << "\t"
    245               << histo[ih]->binMean(iBin) << "\t"
     247              << 0.5*(histo[ih]->axis().binLowerEdge(iBin) +
     248                      histo[ih]->axis().binUpperEdge(iBin)) << "\t"
    246249              << histo[ih]->binHeight(iBin)
    247250              << G4endl;
  • trunk/examples/extended/electromagnetic/TestEm18/src/HistoMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.cc,v 1.2 2007/11/13 16:43:59 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/TestEm18/src/PhysListEmLivermore.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmLivermore.cc,v 1.1 2007/02/13 17:57:20 maire Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysListEmLivermore.cc,v 1.3 2009/11/19 18:46:04 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/TestEm18/src/PhysListEmPenelope.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmPenelope.cc,v 1.1 2007/02/13 17:57:20 maire Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysListEmPenelope.cc,v 1.3 2009/11/19 18:46:04 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/TestEm18/src/PhysListEmStandard.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysListEmStandard.cc,v 1.1 2007/02/13 17:57:20 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysListEmStandard.cc,v 1.2 2009/11/19 18:46:04 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    8181    } else if (particleName == "e-") {
    8282      //electron
    83       pmanager->AddProcess(new G4eIonisation,        -1, 1,1);
    84       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 2,2);
     83      pmanager->AddProcess(new G4eIonisation,        -1, 1, 1);
     84      pmanager->AddProcess(new G4eBremsstrahlung,    -1, 2, 2);
    8585           
    8686    } else if (particleName == "e+") {
    8787      //positron
    88       pmanager->AddProcess(new G4eIonisation,        -1, 1,1);
    89       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 2,2);
    90       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1,3);
     88      pmanager->AddProcess(new G4eIonisation,        -1, 1, 1);
     89      pmanager->AddProcess(new G4eBremsstrahlung,    -1, 2, 2);
     90      pmanager->AddProcess(new G4eplusAnnihilation,   0,-1, 3);
    9191           
    9292    } else if (particleName == "mu+" ||
    9393               particleName == "mu-"    ) {
    9494      //muon 
    95       pmanager->AddProcess(new G4MuIonisation,       -1, 1,1);
    96       pmanager->AddProcess(new G4MuBremsstrahlung,   -1, 2,2);
    97       pmanager->AddProcess(new G4MuPairProduction,   -1, 3,3);
     95      pmanager->AddProcess(new G4MuIonisation,       -1, 1, 1);
     96      pmanager->AddProcess(new G4MuBremsstrahlung,   -1, 2, 2);
     97      pmanager->AddProcess(new G4MuPairProduction,   -1, 3, 3);
    9898             
    9999    } else if (particleName == "alpha" || particleName == "GenericIon" ) {
    100       pmanager->AddProcess(new G4ionIonisation,      -1, 1,1);
     100      pmanager->AddProcess(new G4ionIonisation,      -1, 1, 1);
    101101     
    102102    } else if ((!particle->IsShortLived()) &&
     
    104104               (particle->GetParticleName() != "chargedgeantino")) {
    105105      //all others charged particles except geantino
    106       pmanager->AddProcess(new G4hIonisation,        -1,1,1);
     106      pmanager->AddProcess(new G4hIonisation,        -1, 1, 1);
    107107    }
    108108  }
  • trunk/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsList.cc,v 1.2 2007/11/20 14:15:18 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsList.cc,v 1.5 2009/03/06 18:24:07 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5454  cutForGamma     = defaultCutValue;
    5555  cutForElectron  = defaultCutValue;
    56  
     56   
    5757  SetVerboseLevel(1);
    5858}
     
    185185  //physics tables
    186186  //
    187   emOptions.SetMinEnergy(100*eV);   
    188   emOptions.SetMaxEnergy(100*TeV); 
    189   emOptions.SetDEDXBinning(1200); 
    190   emOptions.SetLambdaBinning(1200);
     187  emOptions.SetMinEnergy(100*eV);       //default   
     188  emOptions.SetMaxEnergy(100*TeV);      //default 
     189  emOptions.SetDEDXBinning(12*20);      //default=12*7 
     190  emOptions.SetLambdaBinning(12*20);    //default=12*7
     191  emOptions.SetSplineFlag(true); 
    191192 
    192193  //energy loss
    193194  // 
    194   emOptions.SetStepFunction(0.2, 10*um);
    195   emOptions.SetLinearLossLimit(1.e-6);
     195  emOptions.SetStepFunction(0.2, 10*um);        //default=(0.2, 1*mm)   
     196  emOptions.SetLinearLossLimit(1.e-2);          //default
    196197         
    197198  //build CSDA range
     
    199200  emOptions.SetBuildCSDARange(true);
    200201  emOptions.SetMaxEnergyForCSDARange(100*TeV); 
    201   emOptions.SetDEDXBinningForCSDARange(1200);
     202  emOptions.SetDEDXBinningForCSDARange(12*20);
     203   
     204  //ionization
     205  //
     206  emOptions.SetSubCutoff(false);        //default 
    202207}
    203208
     
    228233void PhysicsList::SetCuts()
    229234{
    230 
    231235  if (verboseLevel >0){
    232236    G4cout << "PhysicsList::SetCuts:";
  • trunk/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsListMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsListMessenger.cc,v 1.3 2009/03/06 18:24:07 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6969  allCutCmd->SetUnitCategory("Length");
    7070  allCutCmd->SetRange("cut>0.0");
    71   allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 
     71  allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
    7272}
    7373
     
    101101     pPhysicsList->SetCutForGamma(cut);
    102102     pPhysicsList->SetCutForElectron(cut);
    103     } 
     103    }
    104104}
    105105
  • trunk/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/RunAction.cc

    r807 r1230  
    2525//
    2626// $Id: RunAction.cc,v 1.2 2007/02/16 11:59:47 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/TestEm18/src/StackingAction.cc

    r807 r1230  
    2525//
    2626// $Id: StackingAction.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/StepMax.cc

    r807 r1230  
    2525//
    2626// $Id: StepMax.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/StepMaxMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: StepMaxMessenger.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/SteppingAction.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.cc,v 1.1 2007/02/13 17:57: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/TestEm18/src/SteppingVerbose.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.cc,v 1.1 2007/02/13 17:57:20 maire 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.