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

update to geant4.9.3

Location:
trunk/examples/extended/electromagnetic/TestEm0/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc

    r807 r1230  
    2626
    2727//
    28 // $Id: DetectorConstruction.cc,v 1.9 2006/12/08 16:38:38 maire Exp $
    29 // GEANT4 tag $Name: $
     28// $Id: DetectorConstruction.cc,v 1.10 2009/11/14 18:04:20 maire Exp $
     29// GEANT4 tag $Name: geant4-09-03-cand-01 $
    3030//
    3131//
     
    8383 
    8484  G4Element* H  = new G4Element("Hydrogen" ,"H" , z= 1., a=   1.01*g/mole);
     85  G4Element* C  = new G4Element("Carbon"   ,"C" , z= 6., a=  12.01*g/mole); 
    8586  G4Element* N  = new G4Element("Nitrogen" ,"N" , z= 7., a=  14.01*g/mole);
    8687  G4Element* O  = new G4Element("Oxygen"   ,"O" , z= 8., a=  16.00*g/mole);
    8788  G4Element* Ge = new G4Element("Germanium","Ge", z=32., a=  72.59*g/mole);
     89  G4Element* Pb = new G4Element("Lead"     ,"Pb", z=82., a= 207.19*g/mole); 
    8890  G4Element* Bi = new G4Element("Bismuth"  ,"Bi", z=83., a= 208.98*g/mole);
    8991 
     
    110112  ///H2O->SetChemicalFormula("H_2O");
    111113  H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV);
    112  
     114       
    113115  G4Material* steam =
    114116  new G4Material("WaterSteam", density= 1.0*mg/cm3, ncomponents=1);
     
    132134  new G4Material("Lead"       , z=82., a=207.19*g/mole, density= 11.35*g/cm3);
    133135  new G4Material("Uranium"    , z=92., a=238.03*g/mole, density= 18.95*g/cm3);
    134  
    135 
     136   
     137  G4Material* ams =
     138  new G4Material("ams", density= 7.409*g/cm3, ncomponents=3);
     139  ams->AddElement(Pb, fractionmass = 94.81*perCent);
     140  ams->AddElement(C , fractionmass =  4.79*perCent);
     141  ams->AddElement(H , fractionmass =  0.40*perCent);   
     142   
    136143  G4cout << *(G4Material::GetMaterialTable()) << G4endl;
    137144}
  • trunk/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:35:48 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/TestEm0/src/PhysListEmStandard.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:35:50 gunter Exp $
    28 // GEANT4 tag $Name: $
     27// $Id: PhysListEmStandard.cc,v 1.3 2009/11/14 18:04:20 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3939#include "G4PhotoElectricEffect.hh"
    4040
    41 #include "G4MultipleScattering.hh"
    42 
     41#include "G4eMultipleScattering.hh"
    4342#include "G4eIonisation.hh"
    4443#include "G4eBremsstrahlung.hh"
    4544#include "G4eplusAnnihilation.hh"
    4645
     46#include "G4MuMultipleScattering.hh"
    4747#include "G4MuIonisation.hh"
    4848#include "G4MuBremsstrahlung.hh"
    4949#include "G4MuPairProduction.hh"
    5050
     51#include "G4hMultipleScattering.hh"
    5152#include "G4hIonisation.hh"
    5253#include "G4ionIonisation.hh"
     
    8384    } else if (particleName == "e-") {
    8485      //electron
    85       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
    86       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
    87       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);
     86      pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1);
     87      pmanager->AddProcess(new G4eIonisation,         -1, 2,2);
     88      pmanager->AddProcess(new G4eBremsstrahlung,     -1, 3,3);
    8889           
    8990    } else if (particleName == "e+") {
    9091      //positron
    91       pmanager->AddProcess(new G4MultipleScattering, -1, 1,1);
    92       pmanager->AddProcess(new G4eIonisation,        -1, 2,2);
    93       pmanager->AddProcess(new G4eBremsstrahlung,    -1, 3,3);
    94       pmanager->AddProcess(new G4eplusAnnihilation,   0,-1,4);
     92      pmanager->AddProcess(new G4eMultipleScattering, -1, 1,1);
     93      pmanager->AddProcess(new G4eIonisation,         -1, 2,2);
     94      pmanager->AddProcess(new G4eBremsstrahlung,     -1, 3,3);
     95      pmanager->AddProcess(new G4eplusAnnihilation,    0,-1,4);
    9596     
    9697    } else if( particleName == "mu+" ||
    9798               particleName == "mu-"    ) {
    9899      //muon 
    99       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
    100       pmanager->AddProcess(new G4MuIonisation,      -1, 2,2);
    101       pmanager->AddProcess(new G4MuBremsstrahlung,  -1, 3,3);
    102       pmanager->AddProcess(new G4MuPairProduction,  -1, 4,4);       
     100      pmanager->AddProcess(new G4MuMultipleScattering,-1, 1,1);
     101      pmanager->AddProcess(new G4MuIonisation,        -1, 2,2);
     102      pmanager->AddProcess(new G4MuBremsstrahlung,    -1, 3,3);
     103      pmanager->AddProcess(new G4MuPairProduction,    -1, 4,4);       
    103104     
    104105    } else if( particleName == "alpha" || particleName == "GenericIon" ) {
    105       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
    106       pmanager->AddProcess(new G4ionIonisation,     -1, 2,2);
     106      pmanager->AddProcess(new G4hMultipleScattering,-1, 1,1);
     107      pmanager->AddProcess(new G4ionIonisation,      -1, 2,2);
    107108
    108109    } else if ((!particle->IsShortLived()) &&
     
    110111               (particle->GetParticleName() != "chargedgeantino")) {
    111112      //all others charged particles except geantino
    112       pmanager->AddProcess(new G4MultipleScattering,-1,1,1);
    113       pmanager->AddProcess(new G4hIonisation,       -1,2,2);
     113      pmanager->AddProcess(new G4hMultipleScattering,-1,1,1);
     114      pmanager->AddProcess(new G4hIonisation,        -1,2,2);
    114115    }
    115116  }
  • trunk/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc

    r807 r1230  
    2525//
    2626//
    27 // $Id: PhysicsList.cc,v 1.5 2006/08/17 13:50:45 vnivanch Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     27// $Id: PhysicsList.cc,v 1.8 2009/11/17 22:48:26 maire Exp $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3535 
    3636#include "PhysListEmStandard.hh"
     37#include "G4EmLivermorePhysics.hh"
     38#include "G4EmPenelopePhysics.hh"
    3739
    3840#include "G4LossTableManager.hh"
     
    180182  // Em options
    181183  //
     184  // Main options and setting parameters are shown here.
     185  // Several of them have default values.
     186  //
    182187  G4EmProcessOptions emOptions;
    183   emOptions.SetBuildCSDARange(true);
     188 
     189  //physics tables
     190  //
     191  emOptions.SetMinEnergy(100*eV);       //default   
     192  emOptions.SetMaxEnergy(100*TeV);      //default 
     193  emOptions.SetDEDXBinning(12*20);      //default=12*7 
     194  emOptions.SetLambdaBinning(12*20);    //default=12*7
     195
     196  emOptions.SetBuildCSDARange(true);     
    184197  emOptions.SetMaxEnergyForCSDARange(100*TeV);
    185   emOptions.SetDEDXBinningForCSDARange(120);
     198  emOptions.SetDEDXBinningForCSDARange(12*20);
     199 
     200  emOptions.SetSplineFlag(true);        //default
     201     
    186202  emOptions.SetVerbose(0); 
    187203}
     
    202218    delete emPhysicsList;
    203219    emPhysicsList = new PhysListEmStandard(name);
     220
     221  } else if (name == "penelope"){
     222    emName = name;
     223    delete emPhysicsList;
     224    emPhysicsList = new G4EmPenelopePhysics();
     225
     226  } else if (name == "livermore"){
     227    emName = name;
     228    delete emPhysicsList;
     229    emPhysicsList = new G4EmLivermorePhysics();
    204230       
    205231  } else {
     
    218244
    219245void PhysicsList::SetCuts()
    220 {   
     246{
     247  // fixe lower limit for cut
     248  G4ProductionCutsTable::GetProductionCutsTable()->SetEnergyRange(100*eV, 1*GeV);
     249 
    221250  // set cut values for gamma at first and for e- second and next for e+,
    222251  // because some processes for e+/e- need cut values for gamma
  • trunk/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:35: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/TestEm0/src/PrimaryGeneratorAction.cc

    r807 r1230  
    2626//
    2727// $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:35:58 gunter Exp $
    28 // GEANT4 tag $Name: $
     28// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2929//
    3030//
  • trunk/examples/extended/electromagnetic/TestEm0/src/RunAction.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: RunAction.cc,v 1.9 2006/12/08 16:38:38 maire Exp $
    27 // GEANT4 tag $Name: geant4-09-01-patch-02 $
     26// $Id: RunAction.cc,v 1.10 2007/12/17 17:22:44 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5959  //set precision for printing
    6060  G4int prec = G4cout.precision(6);
    61    
     61 
     62  //instanciate EmCalculator
     63  G4EmCalculator emCal;
     64  //  emCal.SetVerbose(2);
     65     
    6266  // get particle
    6367  G4ParticleDefinition* particle = primary->GetParticleGun()
     
    7781         << material->GetName() << " (density: "
    7882         << G4BestUnit(density,"Volumic Mass") << ";   radiation length: "
    79          << G4BestUnit(radl,   "Length")       << ")" << G4endl;         
     83         << G4BestUnit(radl,   "Length")       << ")" << G4endl;
    8084
    8185  // get cuts   
     
    9094          << G4endl;
    9195   }
    92          
     96   
     97  // max energy transfert
     98  if (charge != 0.) {
     99  G4double Mass_c2 = particle->GetPDGMass();
     100  G4double moverM = electron_mass_c2/Mass_c2;
     101  G4double gamM1 = energy/Mass_c2, gam = gamM1 + 1., gamP1 = gam + 1.;
     102  G4double Tmax =
     103            (2*electron_mass_c2*gamM1*gamP1)/(1.+2*gam*moverM+moverM*moverM);
     104  G4double range = emCal.GetCSDARange(Tmax,G4Electron::Electron(),material);
     105 
     106  G4cout << "\n Max_energy _transferable : " << G4BestUnit(Tmax,"Energy")
     107         << " (" << G4BestUnit(range,"Length") << ")" << G4endl;           
     108  }
     109         
    93110  // get processList and extract EM processes (but not MultipleScattering)
    94111  G4ProcessVector* plist = particle->GetProcessManager()->GetProcessList();
     
    114131    G4cout << "\t" << std::setw(13) << emName[j] << "\t";
    115132  G4cout << "\t" << std::setw(13) <<"total";
    116      
    117   //instanciate EmCalculator
    118   G4EmCalculator emCal;
    119   //  emCal.SetVerbose(2);
    120133 
    121134  //compute cross section per atom (only for single material)
Note: See TracChangeset for help on using the changeset viewer.