Changeset 1230 for trunk/examples/extended/medical/fanoCavity2
- Timestamp:
- Jan 8, 2010, 3:02:48 PM (14 years ago)
- Location:
- trunk/examples/extended/medical/fanoCavity2
- Files:
-
- 39 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/medical/fanoCavity2/GNUmakefile
r807 r1230 1 # $Id: GNUmakefile,v 1. 1 2007/10/15 16:20:23 maireExp $1 # $Id: GNUmakefile,v 1.2 2008/06/11 15:27:31 vnivanch Exp $ 2 2 # -------------------------------------------------------------- 3 3 # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. … … 17 17 #### G4ANALYSIS_USE := true 18 18 19 ifdef G4ANALYSIS_USE20 CPPFLAGS += -DG4ANALYSIS_USE21 endif22 23 19 include $(G4INSTALL)/config/architecture.gmk 24 25 ifdef G4ANALYSIS_USE26 # for the aida-config command see the README file27 CPPFLAGS += `aida-config --include`28 LOADLIBS += `aida-config --lib`29 endif30 20 31 21 include $(G4INSTALL)/config/binmake.gmk … … 34 24 rm -f g4*.prim g4*.eps g4*.wrl 35 25 rm -f .DAWN_* 36 26 37 27 histclean: 38 28 rm ${G4WORKDIR}/tmp/${G4SYSTEM}/${G4TARGET}/HistoManager.o -
trunk/examples/extended/medical/fanoCavity2/basic.mac
r807 r1230 1 # $Id: basic.mac,v 1. 2 2007/11/05 13:19:16 maire Exp $1 # $Id: basic.mac,v 1.4 2009/10/31 18:05:56 maire Exp $ 2 2 # 3 3 /control/verbose 2 … … 7 7 /testem/det/wallThickness 5 cm 8 8 # 9 /testem/phys/addPhysics standard_opt3 10 # 9 11 /run/initialize 10 12 # … … 12 14 /process/eLoss/fluct false 13 15 # 14 / gun/energy 10 keV16 /process/eLoss/StepFunction 0.2 10 um 15 17 # 16 / testem/event/printModulo 50000018 /gun/energy 1 MeV 17 19 # 18 /run/beamOn 10000000 20 /testem/event/printModulo 50000 21 # 22 /run/beamOn 500000 -
trunk/examples/extended/medical/fanoCavity2/essai.mac
r807 r1230 1 # $Id: essai.mac,v 1. 3 2007/11/12 18:19:30maire Exp $1 # $Id: essai.mac,v 1.5 2009/10/31 18:05:56 maire Exp $ 2 2 # 3 3 /control/verbose 2 4 4 /run/verbose 2 5 5 # 6 /testem/det/wallMater Water 7 /testem/det/wallThickness 5 mm 8 /testem/det/worldRadius 5 mm 6 /testem/phys/addPhysics standard_opt3 9 7 # 10 8 /run/initialize 11 9 # 12 /process/inactivate msc 13 /process/eLoss/fluct false 10 /gun/energy 1 MeV 14 11 # 15 /gun/energy 10 keV 16 /gun/direction 0 1 0 12 /testem/event/printModulo 100000 17 13 # 18 /testem/event/printModulo 20000 19 # 20 #/run/beamOn 200000 14 /run/beamOn 1000000 -
trunk/examples/extended/medical/fanoCavity2/fanoCavity2.cc
r807 r1230 25 25 // 26 26 // $Id: fanoCavity2.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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/DetectorConstruction.hh
r807 r1230 25 25 // 26 26 // $Id: DetectorConstruction.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/DetectorMessenger.hh
r807 r1230 25 25 // 26 26 // $Id: DetectorMessenger.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/EventAction.hh
r807 r1230 25 25 // 26 26 // $Id: EventAction.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/EventActionMessenger.hh
r807 r1230 25 25 // 26 26 // $Id: EventActionMessenger.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/HistoManager.hh
r807 r1230 25 25 // 26 26 // $Id: HistoManager.hh,v 1.3 2007/11/12 18:19:30 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/HistoMessenger.hh
r807 r1230 25 25 // 26 26 // $Id: HistoMessenger.hh,v 1.2 2007/11/12 18:19:30 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/MyMollerBhabhaModel.hh
r807 r1230 25 25 // 26 26 // $Id: MyMollerBhabhaModel.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -
trunk/examples/extended/medical/fanoCavity2/include/PhysicsList.hh
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: PhysicsList.hh,v 1.2 2009/10/31 18:05:56 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 26 28 // 27 // $Id: PhysicsList.hh,v 1.1 2007/10/15 16:20:23 maire Exp $28 // GEANT4 tag $Name: $29 //30 //31 32 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 33 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 36 33 #define PhysicsList_h 1 37 34 38 #include "G4V UserPhysicsList.hh"35 #include "G4VModularPhysicsList.hh" 39 36 #include "globals.hh" 37 38 class G4VPhysicsConstructor; 40 39 41 40 class DetectorConstruction; … … 44 43 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 45 44 46 class PhysicsList: public G4V UserPhysicsList45 class PhysicsList: public G4VModularPhysicsList 47 46 { 48 49 50 ~PhysicsList();47 public: 48 PhysicsList(DetectorConstruction*); 49 virtual ~PhysicsList(); 51 50 52 // Construct particle and physics 53 void ConstructParticle(); 54 void ConstructProcess(); 55 56 void SetCuts(); 51 void ConstructParticle(); 52 53 void AddPhysicsList(const G4String& name); 54 void ConstructProcess(); 55 void AddStepMax(); 56 57 void SetCuts(); 57 58 58 // these methods Construct physics processes and register them 59 void ConstructEM(); 60 void AddStepMax(); 61 62 void SingleCoulombScattering (G4bool); 63 void RegisterBrem (G4bool); 64 65 private: 66 DetectorConstruction* detector; 67 G4bool singleScattering; 68 G4bool registerBrem; 69 PhysicsListMessenger* pMessenger; 59 private: 60 61 DetectorConstruction* detector; 62 PhysicsListMessenger* pMessenger; 63 64 G4String emName; 65 G4VPhysicsConstructor* emPhysicsList; 70 66 }; 71 67 … … 74 70 #endif 75 71 76 77 -
trunk/examples/extended/medical/fanoCavity2/include/PhysicsListMessenger.hh
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: PhysicsListMessenger.hh,v 1. 1 2007/10/15 16:20:23maire Exp $27 // GEANT4 tag $Name: $26 // $Id: PhysicsListMessenger.hh,v 1.2 2009/10/31 18:05:56 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 33 33 #define PhysicsListMessenger_h 1 34 34 35 #include "G4UImessenger.hh" 35 36 #include "globals.hh" 36 #include "G4UImessenger.hh"37 37 38 38 class PhysicsList; 39 39 class G4UIdirectory; 40 class G4UIcmdWithABool; 40 class G4UIcmdWithADoubleAndUnit; 41 class G4UIcmdWithAString; 41 42 42 43 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 44 45 class PhysicsListMessenger: public G4UImessenger 45 46 { 46 public: 47 public: 48 47 49 PhysicsListMessenger(PhysicsList* ); 48 50 ~PhysicsListMessenger(); … … 50 52 void SetNewValue(G4UIcommand*, G4String); 51 53 52 private: 53 PhysicsList* pPhysicsList; 54 G4UIdirectory* physDir; 55 G4UIcmdWithABool* singleScat; 56 G4UIcmdWithABool* brem; 54 private: 55 56 PhysicsList* pPhysicsList; 57 58 G4UIdirectory* physDir; 59 G4UIcmdWithAString* pListCmd; 57 60 }; 58 61 -
trunk/examples/extended/medical/fanoCavity2/include/PrimaryGeneratorAction.hh
r807 r1230 25 25 // 26 26 // $Id: PrimaryGeneratorAction.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/ProcessesCount.hh
r807 r1230 26 26 // 27 27 // $Id: ProcessesCount.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/RunAction.hh
r807 r1230 25 25 // 26 26 // $Id: RunAction.hh,v 1.2 2007/10/31 16:16:20 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/StepMax.hh
r807 r1230 25 25 // 26 26 // $Id: StepMax.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/StepMaxMessenger.hh
r807 r1230 25 25 // 26 26 // $Id: StepMaxMessenger.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/SteppingAction.hh
r807 r1230 25 25 // 26 26 // $Id: SteppingAction.hh,v 1.2 2007/10/31 16:16:20 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/SteppingVerbose.hh
r807 r1230 25 25 // 26 26 // $Id: SteppingVerbose.hh,v 1.1 2007/10/15 16:20:23 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/include/TrackingAction.hh
r807 r1230 25 25 // 26 26 // $Id: TrackingAction.hh,v 1.2 2007/10/31 16:16:20 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/run01.mac
r807 r1230 1 # $Id: run01.mac,v 1. 2 2007/10/31 16:16:20maire Exp $1 # $Id: run01.mac,v 1.3 2009/10/31 18:05:56 maire Exp $ 2 2 # 3 3 /control/verbose 2 4 4 /run/verbose 2 5 # 6 /testem/phys/addPhysics standard_opt3 5 7 # 6 8 /run/initialize -
trunk/examples/extended/medical/fanoCavity2/src/DetectorConstruction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 29 29 // -
trunk/examples/extended/medical/fanoCavity2/src/DetectorMessenger.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/EventAction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/EventActionMessenger.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/HistoManager.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: HistoManager.cc,v 1. 3 2007/11/12 18:19:30maire 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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 54 54 55 55 fileName[0] = "fanocavity2"; 56 fileType = " hbook";57 fileOption = "--noErrors uncompress";56 fileType = "root"; 57 fileOption = "--noErrors export=root uncompress"; 58 58 // histograms 59 59 for (G4int k=0; k<MaxHisto; k++) { … … 224 224 if (ih > MaxHisto) { 225 225 G4cout << "---> warning from HistoManager::RemoveHisto() : histo " << ih 226 << "does not exist "<< G4endl;226 << "does not exist (fac = " << fac << ")" << G4endl; 227 227 return; 228 228 } -
trunk/examples/extended/medical/fanoCavity2/src/HistoMessenger.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/MyMollerBhabhaModel.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/PhysicsList.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: PhysicsList.cc,v 1.7 2009/10/31 18:05:01 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 26 28 // 27 // $Id: PhysicsList.cc,v 1.1 2007/10/15 16:20:23 maire Exp $28 // GEANT4 tag $Name: $29 //30 31 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 32 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 34 32 #include "PhysicsList.hh" 35 33 #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" 37 41 38 42 #include "G4ParticleDefinition.hh" 39 #include "G4ParticleTypes.hh"40 #include "G4ParticleTable.hh"41 43 42 44 #include "G4ProcessManager.hh" 43 45 #include "G4LossTableManager.hh" 44 46 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 45 60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 46 61 47 62 PhysicsList::PhysicsList(DetectorConstruction* det) 48 : G4V UserPhysicsList(), detector(det)63 : G4VModularPhysicsList(), detector(det) 49 64 { 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); 55 75 56 G4LossTableManager::Instance(); 76 G4LossTableManager::Instance(); 57 77 } 58 78 … … 60 80 61 81 PhysicsList::~PhysicsList() 62 { delete pMessenger; } 82 { 83 delete emPhysicsList; 84 delete pMessenger; 85 } 63 86 64 87 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 66 89 void PhysicsList::ConstructParticle() 67 90 { 91 // pseudo-particles 68 92 G4Geantino::GeantinoDefinition(); 93 G4ChargedGeantino::ChargedGeantinoDefinition(); 94 95 // gamma 69 96 G4Gamma::GammaDefinition(); 70 97 98 // leptons 71 99 G4Electron::ElectronDefinition(); 72 100 G4Positron::PositronDefinition(); 73 101 74 G4Proton::ProtonDefinition(); 102 // baryons 103 G4Proton::ProtonDefinition(); 75 104 } 76 105 … … 80 109 { 81 110 AddTransportation(); 82 ConstructEM(); 111 emPhysicsList->ConstructProcess(); 112 83 113 AddStepMax(); 84 114 } 85 115 86 116 //....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 else128 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 else142 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 else158 pmanager->AddProcess(new G4MultipleScattering, -1, ++iAlong, ++iPost);159 160 pmanager->AddProcess(new G4hIonisation, -1, ++iAlong, ++iPost);161 }162 }163 164 // Em options165 //166 G4EmProcessOptions emOptions;167 168 //multiple scattering169 //170 emOptions.SetMscStepLimitation(fUseDistanceToBoundary);171 emOptions.SetSkin(2.);172 173 //physics tables174 //175 emOptions.SetMinEnergy(100*eV);176 emOptions.SetMaxEnergy(10*GeV);177 emOptions.SetDEDXBinning(800);178 emOptions.SetLambdaBinning(800);179 180 //energy loss181 //182 emOptions.SetStepFunction(0.2, 10*um);183 emOptions.SetLinearLossLimit(1.e-6);184 185 //build CSDA range186 //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"195 117 196 118 void PhysicsList::AddStepMax() … … 204 126 G4ProcessManager* pmanager = particle->GetProcessManager(); 205 127 206 if (stepMaxProcess->IsApplicable(*particle) )128 if (stepMaxProcess->IsApplicable(*particle) && !particle->IsShortLived()) 207 129 { 208 130 pmanager ->AddDiscreteProcess(stepMaxProcess); 209 131 } 132 } 133 } 134 135 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 136 137 void 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; 210 173 } 211 174 } … … 227 190 SetCutValue(defaultCutValue, "e-"); 228 191 SetCutValue(defaultCutValue, "e+"); 192 SetCutValue(defaultCutValue, "proton"); 229 193 } 230 194 231 195 //....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 24 24 // ******************************************************************** 25 25 // 26 // $Id: PhysicsListMessenger.cc,v 1. 1 2007/10/15 16:20:23maire 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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 34 34 #include "PhysicsList.hh" 35 35 #include "G4UIdirectory.hh" 36 #include "G4UIcmdWithABool.hh" 36 #include "G4UIcmdWithADoubleAndUnit.hh" 37 #include "G4UIcmdWithAString.hh" 37 38 38 39 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 40 41 PhysicsListMessenger::PhysicsListMessenger(PhysicsList* pPhys) 41 42 :pPhysicsList(pPhys) 42 { 43 { 43 44 physDir = new G4UIdirectory("/testem/phys/"); 44 45 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); 57 51 } 58 52 … … 61 55 PhysicsListMessenger::~PhysicsListMessenger() 62 56 { 63 delete singleScat; 64 delete brem; 65 delete physDir; 57 delete pListCmd; 58 delete physDir; 66 59 } 67 60 … … 70 63 void PhysicsListMessenger::SetNewValue(G4UIcommand* command, 71 64 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);} 78 68 } 79 69 -
trunk/examples/extended/medical/fanoCavity2/src/PrimaryGeneratorAction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/RunAction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/StepMax.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/StepMaxMessenger.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/SteppingAction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/SteppingVerbose.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/src/TrackingAction.cc
r807 r1230 25 25 // 26 26 // $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 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/medical/fanoCavity2/stepfunction.mac
r807 r1230 1 # $Id: stepfunction.mac,v 1. 1 2007/10/15 16:29:06 maire Exp $1 # $Id: stepfunction.mac,v 1.2 2009/10/31 18:05:56 maire Exp $ 2 2 # 3 3 /control/verbose 2 4 4 /run/verbose 2 5 # 6 /testem/phys/addPhysics standard_opt3 5 7 # 6 8 /run/initialize
Note: See TracChangeset
for help on using the changeset viewer.