From 335178b520e3db6d0c9cc9a71b08618b7fc51dd4 Mon Sep 17 00:00:00 2001 From: Alexis Pereda Date: Thu, 25 May 2023 17:00:46 +0200 Subject: [PATCH] update dosimetry/DNA example to use DNA Activator --- dosimetry/DNA/output.mac | 33 -------------- dosimetry/DNA/output/plot.C | 47 -------------------- dosimetry/DNA/plot.C | 47 -------------------- dosimetry/{DNA => dna}/GateMaterials.db | 0 dosimetry/{DNA => dna}/README | 17 +++---- dosimetry/{DNA => dna}/geometry.mac | 0 dosimetry/{DNA/mixedDNA.mac => dna/main.mac} | 4 +- dosimetry/dna/output.mac | 33 ++++++++++++++ dosimetry/{DNA => dna}/physics.mac | 12 +++-- dosimetry/dna/plot.C | 43 ++++++++++++++++++ dosimetry/{DNA => dna}/readme.md | 19 ++++---- dosimetry/{DNA => dna}/source.mac | 4 +- dosimetry/{DNA => dna}/verbose.mac | 0 dosimetry/{DNA => dna}/visu.mac | 0 14 files changed, 104 insertions(+), 155 deletions(-) delete mode 100644 dosimetry/DNA/output.mac delete mode 100644 dosimetry/DNA/output/plot.C delete mode 100755 dosimetry/DNA/plot.C rename dosimetry/{DNA => dna}/GateMaterials.db (100%) rename dosimetry/{DNA => dna}/README (63%) rename dosimetry/{DNA => dna}/geometry.mac (100%) rename dosimetry/{DNA/mixedDNA.mac => dna/main.mac} (95%) create mode 100644 dosimetry/dna/output.mac rename dosimetry/{DNA => dna}/physics.mac (78%) create mode 100644 dosimetry/dna/plot.C rename dosimetry/{DNA => dna}/readme.md (60%) rename dosimetry/{DNA => dna}/source.mac (72%) rename dosimetry/{DNA => dna}/verbose.mac (100%) rename dosimetry/{DNA => dna}/visu.mac (100%) diff --git a/dosimetry/DNA/output.mac b/dosimetry/DNA/output.mac deleted file mode 100644 index bfb4b375..00000000 --- a/dosimetry/DNA/output.mac +++ /dev/null @@ -1,33 +0,0 @@ -#Energy Spectrum Target1 - -/gate/actor/addActor EnergySpectrumActor MyActor1 -/gate/actor/MyActor1/save Target1.root -/gate/actor/MyActor1/attachTo Target1 -/gate/actor/MyActor1/energySpectrum/setEmin 0 eV -/gate/actor/MyActor1/energySpectrum/setEmax 10.0 keV -/gate/actor/MyActor1/energySpectrum/setNumberOfBins 50 -/gate/actor/MyActor1/energyLossHisto/setEmin 0 eV -/gate/actor/MyActor1/energyLossHisto/setEmax 10.0 keV -/gate/actor/MyActor1/energyLossHisto/setNumberOfBins 50 - -#Energy Spectrum Target2 -/gate/actor/addActor EnergySpectrumActor MyActor2 -/gate/actor/MyActor2/save Target2.root -/gate/actor/MyActor2/attachTo Target2 -/gate/actor/MyActor2/energySpectrum/setEmin 0 eV -/gate/actor/MyActor2/energySpectrum/setEmax 10.0 keV -/gate/actor/MyActor2/energySpectrum/setNumberOfBins 50 -/gate/actor/MyActor2/energyLossHisto/setEmin 0 eV -/gate/actor/MyActor2/energyLossHisto/setEmax 10.0 keV -/gate/actor/MyActor2/energyLossHisto/setNumberOfBins 50 - -#Energy Spectrum Target3 -/gate/actor/addActor EnergySpectrumActor MyActor3 -/gate/actor/MyActor3/save Target3.root -/gate/actor/MyActor3/attachTo Target3 -/gate/actor/MyActor3/energySpectrum/setEmin 0 eV -/gate/actor/MyActor3/energySpectrum/setEmax 10.0 keV -/gate/actor/MyActor3/energySpectrum/setNumberOfBins 50 -/gate/actor/MyActor3/energyLossHisto/setEmin 0 eV -/gate/actor/MyActor3/energyLossHisto/setEmax 10.0 keV -/gate/actor/MyActor3/energyLossHisto/setNumberOfBins 50 diff --git a/dosimetry/DNA/output/plot.C b/dosimetry/DNA/output/plot.C deleted file mode 100644 index 048b39a2..00000000 --- a/dosimetry/DNA/output/plot.C +++ /dev/null @@ -1,47 +0,0 @@ -// ********************************************************************* -// To execute this macro under ROOT, -// 1 - launch ROOT (usually type 'root' at your machine's prompt) -// 2 - type '.X plot.C' at the ROOT session prompt -// by Q.T.PHAM and Y.PERROT -// ********************************************************************* -{ -gROOT->Reset(); -gStyle->SetPalette(1); -gROOT->SetStyle("Plain"); -Double_t scale; - -c1 = new TCanvas ("c1","graph",66,52,1000,500); - - -TFile* f =new TFile ("Target1.root"); -f.ls(); - -TH1F * h1 = (TH1F*)f.Get("energySpectrum"); -h1->SetLineColor(kBlue); -h1->SetTitle("Production of Secondary Particles"); -h1->GetXaxis()->SetTitle("Edep (MeV)"); -h1->GetYaxis()->SetTitle("Frequency"); -h1->GetXaxis()->SetRangeUser(0.001,0.007); -h1->SetStats(0); -h1->Draw("PE"); - -TFile* f2 =new TFile ("Target2.root"); -TH1F * h2 = (TH1F*)f2.Get("energySpectrum"); -h2->SetLineColor(kRed); -h2->Draw("PESAME"); - -TFile* f3 =new TFile ("Target3.root"); -TH1F * h3 = (TH1F*)f3.Get("energySpectrum"); -h3->SetLineColor(kGreen); -h3->Draw("PESAME"); - -leg = new TLegend(0.9,0.7,0.48,0.9); -leg->SetFillColor(kWhite); -leg->AddEntry(h1,"Target1","l"); -leg->AddEntry(h2,"Target2","l"); -leg->AddEntry(h3,"Target3","l"); -leg->Draw(); - -} - - diff --git a/dosimetry/DNA/plot.C b/dosimetry/DNA/plot.C deleted file mode 100755 index 0b91fce9..00000000 --- a/dosimetry/DNA/plot.C +++ /dev/null @@ -1,47 +0,0 @@ -// ********************************************************************* -// To execute this macro under ROOT, -// 1 - launch ROOT (usually type 'root' at your machine's prompt) -// 2 - type '.X plot.C' at the ROOT session prompt -// by Q.T.PHAM -// ********************************************************************* -{ -gROOT->Reset(); -gStyle->SetPalette(1); -gROOT->SetStyle("Plain"); -Double_t scale; - -c1 = new TCanvas ("c1","graph",66,52,1000,500); - - -TFile* f =new TFile ("Target1.root"); -f->ls(); - -TH1F * h1 = (TH1F*)f->Get("energySpectrum"); -h1->SetLineColor(kBlue); -h1->SetTitle("Production of Secondary Particles"); -h1->GetXaxis()->SetTitle("Edep (MeV)"); -h1->GetYaxis()->SetTitle("Frequency"); -h1->GetXaxis()->SetRangeUser(0.001,0.007); -h1->SetStats(0); -h1->Draw("PE"); - -TFile* f2 =new TFile ("Target2.root"); -TH1F * h2 = (TH1F*)f2->Get("energySpectrum"); -h2->SetLineColor(kRed); -h2->Draw("PESAME"); - -TFile* f3 =new TFile ("Target3.root"); -TH1F * h3 = (TH1F*)f3->Get("energySpectrum"); -h3->SetLineColor(kGreen); -h3->Draw("PESAME"); - -leg = new TLegend(0.9,0.7,0.48,0.9); -leg->SetFillColor(kWhite); -leg->AddEntry(h1,"Target1","l"); -leg->AddEntry(h2,"Target2","l"); -leg->AddEntry(h3,"Target3","l"); -leg->Draw(); - -} - - diff --git a/dosimetry/DNA/GateMaterials.db b/dosimetry/dna/GateMaterials.db similarity index 100% rename from dosimetry/DNA/GateMaterials.db rename to dosimetry/dna/GateMaterials.db diff --git a/dosimetry/DNA/README b/dosimetry/dna/README similarity index 63% rename from dosimetry/DNA/README rename to dosimetry/dna/README index 923b86d9..494f4f6f 100644 --- a/dosimetry/DNA/README +++ b/dosimetry/dna/README @@ -1,10 +1,10 @@ ======================================= - GATE - mixedDNA + GATE - DNA physics lists and activator ======================================= -Authors: Q.T. Pham, Y. Perrot, L. Maigne* -Laboratoire de Physique Corpusculaire de Clermont-Ferrand, CNRS/IN2P3 - Clermont University, France -* Corresponding author: maigne@clermont.in2p3.fr +Authors: L. Maigne, A. Pereda* +Laboratoire de Physique de Clermont, CNRS/IN2P3 - Université Clermont Auvergne, France +* Corresponding author: lydia.maigne@clermont.in2p3.fr !! Be careful you must use the so-called "G4_WATER" material while using Geant4 DNA processes and models !! @@ -12,17 +12,18 @@ Laboratoire de Physique Corpusculaire de Clermont-Ferrand, CNRS/IN2P3 - Clermont ---> Description -This example shows how to mix Standard and DNA physics list in the same simulation. +This example shows how to use standard and DNA physics list (in specific regions) in the same simulation. ---> Set-up -The geometry consists in a world volume made of liquid water (G4_WATER material) including three boxes Target1, Target2, Target3 made of liquid water (G4_WATER material) of thickness 50 micrometers aligned along the Z axis. +The geometry consists in a world volume made of liquid water (G4_WATER material) including three boxes Target1, Target2, Target3 +made of liquid water (G4_WATER material) of thickness 50 micrometers aligned along the Z axis. Monoenergetic protons of 8 MeV are shot along the Z axis at 10 micrometers of the face of the first box Target1. ---> Physics -Geant4 Standard option 3 physics list is assigned to the world volume with a cut of 4 micrometers (2.9 keV electrons in liquid water). -Geant4 DNA physics list is assigned to Target1 and Target3 (note that cut is not active using Geant4 DNA processes and models). +Geant4 Standard option 4 physics list is assigned to the world volume with a cut of 4 micrometers (2.9 keV electrons in liquid water). +Geant4 DNA physics list option 4 is assigned to Target1 and Target3 (note that cut is not active using Geant4 DNA processes and models). A KillActor is used to kill electrons with kinetic energy below 8 eV. It prevents electrons to be trapped into single scattering. ---> Output diff --git a/dosimetry/DNA/geometry.mac b/dosimetry/dna/geometry.mac similarity index 100% rename from dosimetry/DNA/geometry.mac rename to dosimetry/dna/geometry.mac diff --git a/dosimetry/DNA/mixedDNA.mac b/dosimetry/dna/main.mac similarity index 95% rename from dosimetry/DNA/mixedDNA.mac rename to dosimetry/dna/main.mac index 5c918102..0bfc3d4c 100644 --- a/dosimetry/DNA/mixedDNA.mac +++ b/dosimetry/dna/main.mac @@ -31,7 +31,7 @@ #======================================================= /gate/run/initialize - +/gate/physics/displayCuts #===================================================== # VISUALISATION @@ -55,5 +55,5 @@ # SIMULTAION # START BEAMS #======================================================= -/gate/application/setTotalNumberOfPrimaries 50 +/gate/application/setTotalNumberOfPrimaries 2 /gate/application/start diff --git a/dosimetry/dna/output.mac b/dosimetry/dna/output.mac new file mode 100644 index 00000000..c9ea8109 --- /dev/null +++ b/dosimetry/dna/output.mac @@ -0,0 +1,33 @@ +#Energy Spectrum Target1 + +/gate/actor/addActor EnergySpectrumActor MyActor1 +/gate/actor/MyActor1/save output/target1.root +/gate/actor/MyActor1/attachTo Target1 +/gate/actor/MyActor1/energySpectrum/setEmin 0 eV +/gate/actor/MyActor1/energySpectrum/setEmax 10.0 keV +/gate/actor/MyActor1/energySpectrum/setNumberOfBins 50 +/gate/actor/MyActor1/energyLossHisto/setEdepMin 0 eV +/gate/actor/MyActor1/energyLossHisto/setEdepMax 10.0 keV +/gate/actor/MyActor1/energyLossHisto/setNumberOfEdepBins 50 + +#Energy Spectrum Target2 +/gate/actor/addActor EnergySpectrumActor MyActor2 +/gate/actor/MyActor2/save output/target2.root +/gate/actor/MyActor2/attachTo Target2 +/gate/actor/MyActor2/energySpectrum/setEmin 0 eV +/gate/actor/MyActor2/energySpectrum/setEmax 10.0 keV +/gate/actor/MyActor2/energySpectrum/setNumberOfBins 50 +/gate/actor/MyActor1/energyLossHisto/setEdepMin 0 eV +/gate/actor/MyActor1/energyLossHisto/setEdepMax 10.0 keV +/gate/actor/MyActor1/energyLossHisto/setNumberOfEdepBins 50 + +#Energy Spectrum Target3 +/gate/actor/addActor EnergySpectrumActor MyActor3 +/gate/actor/MyActor3/save output/target3.root +/gate/actor/MyActor3/attachTo Target3 +/gate/actor/MyActor3/energySpectrum/setEmin 0 eV +/gate/actor/MyActor3/energySpectrum/setEmax 10.0 keV +/gate/actor/MyActor3/energySpectrum/setNumberOfBins 50 +/gate/actor/MyActor1/energyLossHisto/setEdepMin 0 eV +/gate/actor/MyActor1/energyLossHisto/setEdepMax 10.0 keV +/gate/actor/MyActor1/energyLossHisto/setNumberOfEdepBins 50 diff --git a/dosimetry/DNA/physics.mac b/dosimetry/dna/physics.mac similarity index 78% rename from dosimetry/DNA/physics.mac rename to dosimetry/dna/physics.mac index 21d51879..a0e70c2f 100644 --- a/dosimetry/DNA/physics.mac +++ b/dosimetry/dna/physics.mac @@ -2,13 +2,11 @@ # PHYSICS #====================================================== -/gate/physics/addPhysicsListMixed emstandard_opt3_mixed_emdna -#/gate/physics/addPhysicsListMixed emlivermore_mixed_emdna - -/gate/physics/SetDNAInRegion Target1 -/gate/physics/SetDNAInRegion Target3 - -/gate/physics/ConstructProcessMixed +/gate/physics/addPhysicsList emstandard_opt4 +# possible values for the line after: +# DNA_Opt0, DNA_Opt2, DNA_Opt4, DNA_Opt4a, DNA_Opt6, DNA_Opt6a, DNA_Opt7 +/process/em/AddDNARegion Target1 DNA_Opt4 +/process/em/AddDNARegion Target3 DNA_Opt4 /gate/physics/Gamma/SetCutInRegion world 4 um /gate/physics/Electron/SetCutInRegion world 4 um diff --git a/dosimetry/dna/plot.C b/dosimetry/dna/plot.C new file mode 100644 index 00000000..17b11c1c --- /dev/null +++ b/dosimetry/dna/plot.C @@ -0,0 +1,43 @@ +// ********************************************************************* +// To execute this macro under ROOT, +// 1 - launch ROOT (usually type 'root' at your machine's prompt) +// 2 - type '.X plot.C' at the ROOT session prompt +// by Q.T.PHAM +// ********************************************************************* +{ + gROOT->Reset(); + gStyle->SetPalette(1); + gROOT->SetStyle("Plain"); + Double_t scale; + + c1 = new TCanvas ("c1","graph",66,52,1000,500); + + TFile* f =new TFile ("output/target1.root"); + f->ls(); + + TH1F * h1 = (TH1F*)f->Get("energyEdepSpectrum"); + h1->SetLineColor(kBlue); + h1->SetTitle("Production of Secondary Particles"); + h1->GetXaxis()->SetTitle("Edep (MeV)"); + h1->GetYaxis()->SetTitle("Frequency"); + h1->GetXaxis()->SetRangeUser(0.001,0.007); + h1->SetStats(0); + h1->Draw("PE"); + + TFile* f2 =new TFile ("output/target2.root"); + TH1F * h2 = (TH1F*)f2->Get("energyEdepSpectrum"); + h2->SetLineColor(kRed); + h2->Draw("PESAME"); + + TFile* f3 =new TFile ("output/target3.root"); + TH1F * h3 = (TH1F*)f3->Get("energyEdepSpectrum"); + h3->SetLineColor(kGreen); + h3->Draw("PESAME"); + + leg = new TLegend(0.9,0.7,0.48,0.9); + leg->SetFillColor(kWhite); + leg->AddEntry(h1,"target1","l"); + leg->AddEntry(h2,"target2","l"); + leg->AddEntry(h3,"target3","l"); + leg->Draw(); +} diff --git a/dosimetry/DNA/readme.md b/dosimetry/dna/readme.md similarity index 60% rename from dosimetry/DNA/readme.md rename to dosimetry/dna/readme.md index a17c384c..fd53286b 100644 --- a/dosimetry/DNA/readme.md +++ b/dosimetry/dna/readme.md @@ -1,28 +1,29 @@ -Authors: -* Q.T. Pham, Y. Perrot, L. Maigne
-Laboratoire de Physique Corpusculaire de Clermont-Ferrand, CNRS/IN2P3 - Clermont University, France
-Corresponding author: maigne@clermont.in2p3.fr +Authors: +* L. Maigne, A. Pereda
+Laboratoire de Physique de Clermont, CNRS/IN2P3 - Université Clermont Auvergne, France
+Corresponding author: lydia.maigne@clermont.in2p3.fr !! Be careful you must use the so-called "G4_WATER" material while using Geant4 DNA processes and models !! ## Description -This example shows how to **mix Standard and DNA physics list** in the same simulation. +This example shows how to use standard and DNA physics list (in specific regions) in the same simulation. ## Set-up -The geometry consists in a world volume made of liquid water (G4_WATER material) including three boxes Target1, Target2, Target3 +The geometry consists in a world volume made of liquid water (G4_WATER material) including three boxes Target1, Target2, Target3 made of liquid water (G4_WATER material) of thickness 50 micrometers aligned along the Z axis. Monoenergetic protons of 8 MeV are shot along the Z axis at 10 micrometers of the face of the first box Target1. ## Physics -Geant4 Standard option 3 physics list is assigned to the world volume with a cut of 4 micrometers (2.9 keV electrons in liquid water). -Geant4 DNA physics list is assigned to Target1 and Target3 (note that cut is not active using Geant4 DNA processes and models). +Geant4 Standard option 4 physics list is assigned to the world volume with a cut of 4 micrometers (2.9 keV electrons in liquid water). +Geant4 DNA physics list option 4 is assigned to Target1 and Target3 (note that cut is not active using Geant4 DNA processes and models). A KillActor is used to kill electrons with kinetic energy below 8 eV. It prevents electrons to be trapped into single scattering. ## Output The production of secondary particles is scored in each Target via EnergySpectrumActor. To analyse the spectrum with ROOT, use the plot.C macro file. -One can check the correct production of secondaries: from 2.9 keV in Target2, whereas the Geant4 DNA models in Target1 and Target3 are able to produce secondaries below 2.9 keV. +One can check the correct production of secondaries: from 2.9 keV in Target2, whereas the Geant4 DNA models in +Target1 and Target3 are able to produce secondaries below 2.9 keV. diff --git a/dosimetry/DNA/source.mac b/dosimetry/dna/source.mac similarity index 72% rename from dosimetry/DNA/source.mac rename to dosimetry/dna/source.mac index 255248bf..34922fc2 100644 --- a/dosimetry/DNA/source.mac +++ b/dosimetry/dna/source.mac @@ -1,7 +1,7 @@ /gate/source/addSource mybeam gps /gate/source/mybeam/gps/particle proton /gate/source/mybeam/gps/energy 8 MeV -/gate/source/mybeam/gps/energytype Mono -/gate/source/mybeam/gps/type Point +/gate/source/mybeam/gps/ene/type Mono +/gate/source/mybeam/gps/pos/type Point /gate/source/mybeam/gps/direction 0 0 1 /gate/source/mybeam/gps/pos/centre 0. 0. -0.01 cm diff --git a/dosimetry/DNA/verbose.mac b/dosimetry/dna/verbose.mac similarity index 100% rename from dosimetry/DNA/verbose.mac rename to dosimetry/dna/verbose.mac diff --git a/dosimetry/DNA/visu.mac b/dosimetry/dna/visu.mac similarity index 100% rename from dosimetry/DNA/visu.mac rename to dosimetry/dna/visu.mac