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

update to geant4.9.3

Location:
trunk/examples/extended/medical/fanoCavity2/src
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/examples/extended/medical/fanoCavity2/src/DetectorConstruction.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorConstruction.cc,v 1.2 2007/11/05 13:19:16 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828
    2929//
  • trunk/examples/extended/medical/fanoCavity2/src/DetectorMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: DetectorMessenger.cc,v 1.2 2007/11/05 13:19:16 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/EventAction.cc

    r807 r1230  
    2525//
    2626// $Id: EventAction.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/EventActionMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: EventActionMessenger.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/HistoManager.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: HistoManager.cc,v 1.3 2007/11/12 18:19:30 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: HistoManager.cc,v 1.5 2008/09/28 16:15:39 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    5454 
    5555  fileName[0] = "fanocavity2";
    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++) {
     
    224224 if (ih > MaxHisto) {
    225225    G4cout << "---> warning from HistoManager::RemoveHisto() : histo " << ih
    226            << "does not exist" << G4endl;
     226           << "does not exist  (fac = " << fac << ")" << G4endl;
    227227    return;
    228228  }
  • trunk/examples/extended/medical/fanoCavity2/src/HistoMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: HistoMessenger.cc,v 1.2 2007/11/12 18:19:30 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/MyMollerBhabhaModel.cc

    r807 r1230  
    2525//
    2626// $Id: MyMollerBhabhaModel.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/PhysicsList.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
     26// $Id: PhysicsList.cc,v 1.7 2009/10/31 18:05:01 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2628//
    27 // $Id: PhysicsList.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 
    3129//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    3230//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3432#include "PhysicsList.hh"
    3533#include "PhysicsListMessenger.hh"
    36 #include "DetectorConstruction.hh"
     34
     35#include "PhysListEmStandard_option0.hh"
     36#include "PhysListEmStandard_option3.hh"
     37#include "PhysListEmStandard_GS.hh"
     38#include "PhysListEmStandard_SS.hh"
     39
     40#include "StepMax.hh"
    3741
    3842#include "G4ParticleDefinition.hh"
    39 #include "G4ParticleTypes.hh"
    40 #include "G4ParticleTable.hh"
    4143
    4244#include "G4ProcessManager.hh"
    4345#include "G4LossTableManager.hh"
    4446
     47// Bosons
     48#include "G4ChargedGeantino.hh"
     49#include "G4Geantino.hh"
     50#include "G4Gamma.hh"
     51
     52// leptons
     53#include "G4Electron.hh"
     54#include "G4Positron.hh"
     55
     56// Hadrons
     57#include "G4Proton.hh"
     58
     59
    4560//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    4661
    4762PhysicsList::PhysicsList(DetectorConstruction* det)
    48 : G4VUserPhysicsList(), detector(det)
     63: G4VModularPhysicsList(), detector(det)
    4964{
    50   defaultCutValue = 10.*km;
    51   singleScattering = false;
    52   registerBrem = false;
    53   pMessenger = new PhysicsListMessenger(this);
    54   SetVerboseLevel(1);
     65  G4LossTableManager::Instance();
     66  pMessenger = new PhysicsListMessenger(this);
     67   
     68  // EM physics
     69  emName = G4String("standard_opt3");
     70  emPhysicsList = new PhysListEmStandard_option3(emName,detector);
     71     
     72  defaultCutValue = 10*km;
     73
     74  SetVerboseLevel(1); 
    5575 
    56   G4LossTableManager::Instance(); 
     76  G4LossTableManager::Instance();
    5777}
    5878
     
    6080
    6181PhysicsList::~PhysicsList()
    62 { delete pMessenger; }
     82{
     83  delete emPhysicsList;
     84  delete pMessenger; 
     85}
    6386
    6487//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    6689void PhysicsList::ConstructParticle()
    6790{
     91  // pseudo-particles
    6892  G4Geantino::GeantinoDefinition();
     93  G4ChargedGeantino::ChargedGeantinoDefinition();
     94 
     95  // gamma
    6996  G4Gamma::GammaDefinition();
    70 
     97 
     98  // leptons
    7199  G4Electron::ElectronDefinition();
    72100  G4Positron::PositronDefinition();
    73101
    74   G4Proton::ProtonDefinition();
     102  // baryons
     103  G4Proton::ProtonDefinition(); 
    75104}
    76105
     
    80109{
    81110  AddTransportation();
    82   ConstructEM();
     111  emPhysicsList->ConstructProcess();
     112
    83113  AddStepMax();
    84114}
    85115
    86116//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    87 
    88 #include "G4ComptonScattering.hh"
    89 #include "G4GammaConversion.hh"
    90 #include "G4PhotoElectricEffect.hh"
    91 
    92 #include "G4MultipleScattering.hh"
    93 #include "G4CoulombScattering.hh"
    94 
    95 #include "G4eIonisation.hh"
    96 #include "MyMollerBhabhaModel.hh"
    97 #include "G4eBremsstrahlung.hh"
    98 #include "G4eplusAnnihilation.hh"
    99 
    100 #include "G4hIonisation.hh"
    101 
    102 #include "G4EmProcessOptions.hh"
    103 #include "G4MscStepLimitType.hh"
    104 
    105 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    106 
    107 
    108 void PhysicsList::ConstructEM()
    109 {
    110   theParticleIterator->reset();
    111   while( (*theParticleIterator)() ){
    112     G4ParticleDefinition* particle = theParticleIterator->value();
    113     G4ProcessManager* pmanager = particle->GetProcessManager();
    114     G4String particleName = particle->GetParticleName();
    115     G4int iAlong = 0, iPost = 0;
    116      
    117     if (particleName == "gamma") {
    118                  
    119       pmanager->AddDiscreteProcess(new G4PhotoElectricEffect);
    120       pmanager->AddDiscreteProcess(new G4ComptonScattering);         
    121       pmanager->AddDiscreteProcess(new G4GammaConversion);
    122      
    123     } else if (particleName == "e-") {
    124 
    125       if (singleScattering)
    126         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    127         else   
    128         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    129      
    130       G4eIonisation* eIoni = new G4eIonisation();
    131       eIoni->SetEmModel(new MyMollerBhabhaModel);             
    132       pmanager->AddProcess(eIoni,                      -1, ++iAlong, ++iPost);
    133      
    134       if (registerBrem)
    135         pmanager->AddProcess(new G4eBremsstrahlung,    -1, ++iAlong, ++iPost);     
    136        
    137     } else if (particleName == "e+") {
    138    
    139       if (singleScattering)
    140         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    141         else   
    142         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    143      
    144       G4eIonisation* pIoni = new G4eIonisation();
    145       pIoni->SetEmModel(new MyMollerBhabhaModel);                   
    146       pmanager->AddProcess(pIoni,                      -1, ++iAlong, ++iPost);
    147      
    148       if (registerBrem) {
    149         pmanager->AddProcess(new G4eBremsstrahlung,    -1, ++iAlong, ++iPost);
    150         pmanager->AddProcess(new G4eplusAnnihilation,   0, -1,       ++iPost);
    151       }
    152      
    153     } else if (particleName == "proton") {
    154    
    155       if (singleScattering)
    156         pmanager->AddProcess(new G4CoulombScattering,  -1, -1,       ++iPost);
    157         else   
    158         pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);
    159        
    160       pmanager->AddProcess(new G4hIonisation,          -1, ++iAlong, ++iPost);
    161     }
    162   }
    163  
    164   // Em options
    165   //
    166   G4EmProcessOptions emOptions;
    167  
    168   //multiple scattering
    169   //
    170   emOptions.SetMscStepLimitation(fUseDistanceToBoundary);
    171   emOptions.SetSkin(2.);
    172  
    173   //physics tables
    174   //
    175   emOptions.SetMinEnergy(100*eV);   
    176   emOptions.SetMaxEnergy(10*GeV); 
    177   emOptions.SetDEDXBinning(800); 
    178   emOptions.SetLambdaBinning(800);
    179  
    180   //energy loss
    181   // 
    182   emOptions.SetStepFunction(0.2, 10*um);
    183   emOptions.SetLinearLossLimit(1.e-6);
    184          
    185   //build CSDA range
    186   //
    187   emOptions.SetBuildCSDARange(true);
    188   emOptions.SetMaxEnergyForCSDARange(10*GeV); 
    189   emOptions.SetDEDXBinningForCSDARange(800);   
    190 }
    191 
    192 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    193 
    194 #include "StepMax.hh"
    195117
    196118void PhysicsList::AddStepMax()
     
    204126      G4ProcessManager* pmanager = particle->GetProcessManager();
    205127
    206       if (stepMaxProcess->IsApplicable(*particle))
     128      if (stepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived())
    207129        {
    208130          pmanager ->AddDiscreteProcess(stepMaxProcess);
    209131        }
     132  }
     133}
     134
     135//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     136
     137void PhysicsList::AddPhysicsList(const G4String& name)
     138{
     139  if (verboseLevel>-1) {
     140    G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl;
     141  }
     142
     143  if (name == emName) return;
     144
     145  if (name == "standard_opt0") {
     146
     147    emName = name;
     148    delete emPhysicsList;
     149    emPhysicsList = new PhysListEmStandard_option0(name,detector);
     150   
     151  } else if (name == "standard_opt3") {
     152
     153    emName = name;
     154    delete emPhysicsList;
     155    emPhysicsList = new PhysListEmStandard_option3(name,detector);
     156   
     157  } else if (name == "standard_GS") {
     158
     159    emName = name;
     160    delete emPhysicsList;
     161    emPhysicsList = new PhysListEmStandard_GS(name,detector);   
     162   
     163  } else if (name == "standard_SS") {
     164
     165    emName = name;
     166    delete emPhysicsList;
     167    emPhysicsList = new PhysListEmStandard_SS(name,detector);   
     168  } else {
     169
     170    G4cout << "PhysicsList::AddPhysicsList: <" << name << ">"
     171           << " is not defined"
     172           << G4endl;
    210173  }
    211174}
     
    227190  SetCutValue(defaultCutValue, "e-");
    228191  SetCutValue(defaultCutValue, "e+");
     192  SetCutValue(defaultCutValue, "proton"); 
    229193}
    230194
    231195//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    232 
    233 void PhysicsList::SingleCoulombScattering(G4bool flag)
    234 {
    235   singleScattering = flag;
    236 }
    237 
    238 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    239 
    240 void PhysicsList::RegisterBrem(G4bool flag)
    241 {
    242   registerBrem = flag;
    243 }
    244 
    245 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
    246 
    247 
    248 
    249 
  • trunk/examples/extended/medical/fanoCavity2/src/PhysicsListMessenger.cc

    r807 r1230  
    2424// ********************************************************************
    2525//
    26 // $Id: PhysicsListMessenger.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     26// $Id: PhysicsListMessenger.cc,v 1.2 2009/10/31 18:05:01 maire Exp $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    3434#include "PhysicsList.hh"
    3535#include "G4UIdirectory.hh"
    36 #include "G4UIcmdWithABool.hh"
     36#include "G4UIcmdWithADoubleAndUnit.hh"
     37#include "G4UIcmdWithAString.hh"
    3738
    3839//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
     
    4041PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys)
    4142:pPhysicsList(pPhys)
    42 {
     43{ 
    4344  physDir = new G4UIdirectory("/testem/phys/");
    4445  physDir->SetGuidance("physics list commands");
    45  
    46   singleScat = new G4UIcmdWithABool("/testem/phys/singleScattering",this);
    47   singleScat->SetGuidance("apply single Coulomb scattering process");
    48   singleScat->SetParameterName("flag",true);
    49   singleScat->SetDefaultValue(true);
    50   singleScat->AvailableForStates(G4State_PreInit);
    51        
    52   brem = new G4UIcmdWithABool("/testem/phys/registerBrem",this);
    53   brem->SetGuidance("register Brems in PhysicsList");
    54   brem->SetParameterName("flag",true);
    55   brem->SetDefaultValue(true);
    56   brem->AvailableForStates(G4State_PreInit);   
     46
     47  pListCmd = new G4UIcmdWithAString("/testem/phys/addPhysics",this); 
     48  pListCmd->SetGuidance("Add modula physics list.");
     49  pListCmd->SetParameterName("PList",false);
     50  pListCmd->AvailableForStates(G4State_PreInit);
    5751}
    5852
     
    6155PhysicsListMessenger::~PhysicsListMessenger()
    6256{
    63   delete singleScat;
    64   delete brem;
    65   delete physDir;   
     57  delete pListCmd;
     58  delete physDir;
    6659}
    6760
     
    7063void PhysicsListMessenger::SetNewValue(G4UIcommand* command,
    7164                                          G4String newValue)
    72 
    73   if (command == singleScat)
    74    {pPhysicsList->SingleCoulombScattering(singleScat->GetNewBoolValue(newValue));}
    75            
    76   if (command == brem)
    77    {pPhysicsList->RegisterBrem(brem->GetNewBoolValue(newValue));}     
     65{           
     66  if( command == pListCmd )
     67   { pPhysicsList->AddPhysicsList(newValue);}
    7868}
    7969
  • trunk/examples/extended/medical/fanoCavity2/src/PrimaryGeneratorAction.cc

    r807 r1230  
    2525//
    2626// $Id: PrimaryGeneratorAction.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/RunAction.cc

    r807 r1230  
    2525//
    2626// $Id: RunAction.cc,v 1.3 2007/11/05 13:19:16 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/StepMax.cc

    r807 r1230  
    2525//
    2626// $Id: StepMax.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/StepMaxMessenger.cc

    r807 r1230  
    2525//
    2626// $Id: StepMaxMessenger.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/SteppingAction.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingAction.cc,v 1.2 2007/10/31 16:16: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/medical/fanoCavity2/src/SteppingVerbose.cc

    r807 r1230  
    2525//
    2626// $Id: SteppingVerbose.cc,v 1.1 2007/10/15 16:20:23 maire Exp $
    27 // GEANT4 tag $Name: $
     27// GEANT4 tag $Name: geant4-09-03-cand-01 $
    2828//
    2929//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
  • trunk/examples/extended/medical/fanoCavity2/src/TrackingAction.cc

    r807 r1230  
    2525//
    2626// $Id: TrackingAction.cc,v 1.2 2007/10/31 16:16: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.