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

update to geant4.9.3

Location:
trunk/examples/advanced/microbeam/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/advanced/microbeam/src/MicrobeamEMField.cc

    r807 r1230  
    2525//
    2626// -------------------------------------------------------------------
    27 // $Id: MicrobeamEMField.cc,v 1.6 2007/07/06 06:52:54 sincerti Exp $
     27// $Id: MicrobeamEMField.cc,v 1.9 2009/04/30 10:23:57 sincerti Exp $
    2828// -------------------------------------------------------------------
    2929
     
    5858// ***********************
    5959 
    60    // MAGNETIC FIELD VALUE FOR 3 MeV ALPHAS
    61   G4double switchingField = 0.0589768635 * tesla ;
     60  // MAGNETIC FIELD VALUE FOR 3 MeV ALPHAS
     61  //  G4double switchingField = 0.0589768635 * tesla ;
     62  G4double switchingField =   0.0590201 * tesla ;
    6263 
    6364  // BEAM START
     
    181182  G4double xoprime, zoprime;
    182183 
    183 if (z>=-1400*mm & z <-200*mm)
     184if (z>=-1400*mm && z <-200*mm)
    184185{
    185186  Bx=0; By=0; Bz=0;
     
    523524
    524525if (
    525 (Bfield[0]==0. &
    526 Bfield[1]==0. &
    527 Bfield[2]==0. &
    528 Bfield[4]==0. &
    529 Bfield[5]==0. &
    530 Bfield[6]==0. )
    531 )
     526     (Bfield[0]==0. &&
     527      Bfield[1]==0. &&
     528      Bfield[2]==0. &&
     529      Bfield[3]==0. &&
     530      Bfield[4]==0. &&
     531      Bfield[5]==0. )
     532   )
    532533{
    533534
  • trunk/examples/advanced/microbeam/src/MicrobeamPhantomConfiguration.cc

    r807 r1230  
    2525//
    2626// -------------------------------------------------------------------
    27 // $Id: MicrobeamPhantomConfiguration.cc,v 1.5 2006/06/29 16:05:31 gunter Exp $
     27// $Id: MicrobeamPhantomConfiguration.cc,v 1.6 2008/06/16 07:46:11 sincerti Exp $
    2828// -------------------------------------------------------------------
    2929
     
    8787    if (mat==2) // NUCLEUS
    8888        {
    89           if (den==1) density = denNucl1;
    90           if (den==2) density = denNucl2;
    91           if (den==3) density = denNucl3;
     89          if (den==1) density = denNucl1*(g/cm3);
     90          if (den==2) density = denNucl2*(g/cm3);
     91          if (den==3) density = denNucl3*(g/cm3);
    9292          nucleusMass   = nucleusMass   + density * dx * dy * dz ;
    9393        }
     
    9595    if (mat==1) // CYTOPLASM
    9696        {
    97           if (den==1) density = denCyto1;
    98           if (den==2) density = denCyto2;
    99           if (den==3) density = denCyto3;
     97          if (den==1) density = denCyto1*(g/cm3);
     98          if (den==2) density = denCyto2*(g/cm3);
     99          if (den==3) density = denCyto3*(g/cm3);
    100100          cytoplasmMass = cytoplasmMass + density * dx * dy * dz ;
    101101        }
     
    106106
    107107  fclose(fMap);
    108  
    109   nucleusMass   = nucleusMass * 1e-6 ;
    110   cytoplasmMass = cytoplasmMass * 1e-6 ;
    111  
     108
    112109  return 0;
    113110}
  • trunk/examples/advanced/microbeam/src/MicrobeamPhysicsList.cc

    r807 r1230  
    2525//
    2626// -------------------------------------------------------------------
    27 // $Id: MicrobeamPhysicsList.cc,v 1.6 2006/11/23 12:24:20 sincerti Exp $
     27// $Id: MicrobeamPhysicsList.cc,v 1.8 2009/04/30 10:23:57 sincerti Exp $
    2828// -------------------------------------------------------------------
    2929
     
    107107}
    108108
    109 #include "G4MultipleScattering.hh"
     109// *** Processes and models
     110
     111// gamma
     112
     113#include "G4PhotoElectricEffect.hh"
     114#include "G4LivermorePhotoElectricModel.hh"
     115
     116#include "G4ComptonScattering.hh"
     117#include "G4LivermoreComptonModel.hh"
     118
     119#include "G4GammaConversion.hh"
     120#include "G4LivermoreGammaConversionModel.hh"
     121
     122#include "G4RayleighScattering.hh"
     123#include "G4LivermoreRayleighModel.hh"
     124
     125// e-
     126
     127#include "G4eMultipleScattering.hh"
     128#include "G4UniversalFluctuation.hh"
     129
    110130#include "G4eIonisation.hh"
     131#include "G4LivermoreIonisationModel.hh"
     132
    111133#include "G4eBremsstrahlung.hh"
     134#include "G4LivermoreBremsstrahlungModel.hh"
     135
     136// e+
     137
    112138#include "G4eplusAnnihilation.hh"
     139
     140// mu
    113141
    114142#include "G4MuIonisation.hh"
     
    116144#include "G4MuPairProduction.hh"
    117145
    118 #include "G4LowEnergyPhotoElectric.hh"
    119 #include "G4LowEnergyCompton.hh"
    120 #include "G4LowEnergyGammaConversion.hh"
    121 #include "G4LowEnergyRayleigh.hh"
    122 
    123 #include "G4LowEnergyIonisation.hh"
    124 #include "G4LowEnergyBremsstrahlung.hh"
    125 
    126 #include "G4hLowEnergyIonisation.hh"
     146// hadrons
     147
    127148#include "G4hMultipleScattering.hh"
     149#include "G4MscStepLimitType.hh"
     150
     151#include "G4hBremsstrahlung.hh"
     152#include "G4hPairProduction.hh"
     153
     154#include "G4hIonisation.hh"
     155#include "G4ionIonisation.hh"
     156#include "G4IonParametrisedLossModel.hh"
     157
     158//
     159
     160#include "G4LossTableManager.hh"
     161#include "G4EmProcessOptions.hh"
    128162
    129163
     
    143177
    144178
    145       pmanager->AddDiscreteProcess(new G4LowEnergyCompton);     
    146 
    147       G4LowEnergyPhotoElectric * LePeprocess = new G4LowEnergyPhotoElectric();
    148       LePeprocess->ActivateAuger(true);
    149       LePeprocess->SetCutForLowEnSecPhotons(0.250 * keV);
    150       LePeprocess->SetCutForLowEnSecElectrons(0.250 * keV);
    151       pmanager->AddDiscreteProcess(LePeprocess);
    152      
    153       pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion());
    154      
    155       pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh());
    156      
    157       pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3);
    158 
     179      G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect();
     180      G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel = new G4LivermorePhotoElectricModel();
     181      thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel);
     182      pmanager->AddDiscreteProcess(thePhotoElectricEffect);
     183
     184      G4ComptonScattering* theComptonScattering = new G4ComptonScattering();
     185      G4LivermoreComptonModel* theLivermoreComptonModel = new G4LivermoreComptonModel();
     186      theComptonScattering->AddEmModel(0, theLivermoreComptonModel);
     187      pmanager->AddDiscreteProcess(theComptonScattering);
     188
     189      G4GammaConversion* theGammaConversion = new G4GammaConversion();
     190      G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel = new G4LivermoreGammaConversionModel();
     191      theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel);
     192      pmanager->AddDiscreteProcess(theGammaConversion);
     193
     194      G4RayleighScattering* theRayleigh = new G4RayleighScattering();
     195      G4LivermoreRayleighModel* theRayleighModel = new G4LivermoreRayleighModel();
     196      theRayleigh->AddEmModel(0, theRayleighModel);
     197      pmanager->AddDiscreteProcess(theRayleigh);
     198     
     199      pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5);
    159200     
    160201    } else if (particleName == "e-") {
    161202     
    162       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
    163      
    164       G4LowEnergyIonisation * LeIoprocess = new G4LowEnergyIonisation("IONI");
    165       LeIoprocess->ActivateAuger(true);
    166       LeIoprocess->SetCutForLowEnSecPhotons(0.1*keV);
    167       LeIoprocess->SetCutForLowEnSecElectrons(0.1*keV);
    168       pmanager->AddProcess(LeIoprocess, -1,  2, 2);
    169 
    170       G4LowEnergyBremsstrahlung * LeBrprocess = new G4LowEnergyBremsstrahlung();
    171       pmanager->AddProcess(LeBrprocess, -1, -1, 3);
     203      G4eMultipleScattering* msc = new G4eMultipleScattering();
     204      msc->SetStepLimitType(fUseDistanceToBoundary);
     205      pmanager->AddProcess(msc,                   -1, 1, 1);
     206     
     207      // Ionisation
     208      G4eIonisation* eIoni = new G4eIonisation();
     209      eIoni->AddEmModel(0, new G4LivermoreIonisationModel(), new G4UniversalFluctuation() );
     210      eIoni->SetStepFunction(0.2, 100*um); //     
     211      pmanager->AddProcess(eIoni,                 -1, 2, 2);
     212     
     213      // Bremsstrahlung
     214      G4eBremsstrahlung* eBrem = new G4eBremsstrahlung();
     215      eBrem->AddEmModel(0, new G4LivermoreBremsstrahlungModel());
     216      pmanager->AddProcess(eBrem,                 -1,-3, 3);
     217
     218      pmanager->AddProcess(new G4StepLimiter(), -1, -1, 4);
     219     
     220    } else if (particleName == "e+") {
     221
     222      // Identical to G4EmStandardPhysics_option3
     223   
     224      G4eMultipleScattering* msc = new G4eMultipleScattering();
     225      msc->SetStepLimitType(fUseDistanceToBoundary);
     226      pmanager->AddProcess(msc,                   -1, 1, 1);
     227
     228      G4eIonisation* eIoni = new G4eIonisation();
     229      eIoni->SetStepFunction(0.2, 100*um);     
     230      pmanager->AddProcess(eIoni,                 -1, 2, 2);
     231     
     232      pmanager->AddProcess(new G4eBremsstrahlung, -1,-3, 3);
     233     
     234      pmanager->AddProcess(new G4eplusAnnihilation,0,-1, 4);
     235     
     236      pmanager->AddProcess(new G4StepLimiter(), -1, -1, 5);
     237
     238    } else if (particleName == "GenericIon") {
     239
     240      pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
     241
     242      G4ionIonisation* ionIoni = new G4ionIonisation();
     243      ionIoni->SetEmModel(new G4IonParametrisedLossModel());
     244      ionIoni->SetStepFunction(0.1, 20*um);
     245      pmanager->AddProcess(ionIoni,                   -1, 2, 2);
     246
    172247      pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3);
    173      
    174     } else if (particleName == "e+") {
    175 
    176       pmanager->AddProcess(new G4MultipleScattering,-1, 1,1);
    177      
    178       pmanager->AddProcess(new G4eIonisation,      -1, 2,2);
    179      
    180       pmanager->AddProcess(new G4eBremsstrahlung,   -1,-1,3);
    181      
    182       pmanager->AddProcess(new G4eplusAnnihilation,  0,-1,4);
    183      
     248
     249    } else if (particleName == "alpha" ||
     250               particleName == "He3" ) {
     251
     252      // Identical to G4EmStandardPhysics_option3
     253     
     254      pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
     255
     256      G4ionIonisation* ionIoni = new G4ionIonisation();
     257      ionIoni->SetStepFunction(0.1, 20*um);
     258      pmanager->AddProcess(ionIoni,                   -1, 2, 2);
     259
    184260      pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3);
    185 
    186     } else if( particleName == "mu+" ||
    187                particleName == "mu-"    ) {
    188 
    189     } else if ((!particle->IsShortLived()) &&
    190                (particle->GetPDGCharge() != 0.0) &&
    191                (particle->GetParticleName() != "chargedgeantino")) {
    192      
    193       //pmanager->AddProcess(new G4MultipleScattering(),-1,1,1);
    194       pmanager->AddProcess(new G4hMultipleScattering(),-1,1,1);
    195      
    196       G4hLowEnergyIonisation* hLowEnergyIonisation = new G4hLowEnergyIonisation();
    197       pmanager->AddProcess(hLowEnergyIonisation,-1,2,2);
    198 
    199       hLowEnergyIonisation->SetElectronicStoppingPowerModel(particle,"ICRU_R49He");
    200       hLowEnergyIonisation->SetNuclearStoppingOn();
    201       hLowEnergyIonisation->SetNuclearStoppingPowerModel("ICRU_R49");
    202       hLowEnergyIonisation->SetFluorescence(true);
    203       hLowEnergyIonisation->ActivateAugerElectronProduction(true);
    204 
    205       pmanager->AddProcess(new G4StepLimiter(), -1, -1, 3);
    206 
    207261    }
    208262
    209 //end
     263   //
    210264
    211265  }
  • trunk/examples/advanced/microbeam/src/MicrobeamSteppingAction.cc

    r807 r1230  
    2525//
    2626// -------------------------------------------------------------------
    27 // $Id: MicrobeamSteppingAction.cc,v 1.8 2007/08/22 13:58:33 sincerti Exp $
     27// $Id: MicrobeamSteppingAction.cc,v 1.9 2008/06/16 07:46:11 sincerti Exp $
    2828// -------------------------------------------------------------------
    2929
     
    158158
    159159        {
    160          G4double dose = (e_SI*(aStep->GetTotalEnergyDeposit()/eV))/(Run->GetMassNucleus());
     160         G4double dose = (aStep->GetTotalEnergyDeposit()/joule)/(Run->GetMassNucleus()/kg);
    161161         Run->AddDoseN(dose);
    162162
     
    170170
    171171        {
    172          G4double dose = (e_SI*(aStep->GetTotalEnergyDeposit()/eV))/(Run->GetMassCytoplasm());
     172         G4double dose = (aStep->GetTotalEnergyDeposit()/joule)/(Run->GetMassCytoplasm()/kg);
    173173         Run->AddDoseC(dose);
    174174
Note: See TracChangeset for help on using the changeset viewer.