Forum: Medical Applications Not Logged In (login)
Show subscribers

This forum is for discussion of Medical Applications of the Geant4 Simulation Toolkit

The email gateway for this forum is: medical_app-g4hn@slac.stanford.edu


Inline Depth:
 0 0
 1 1
Add message: (add)

Question JavaThread   by Morad Hamad <Morad Hamad>,   Nov 08, 11:02
Dear all,
In hadron therapy example..which I make it without any problems, the hs_err_pid8174.log file and an empty DoseDistribution.out file appears in macro folder
could you please tell me about the attached JavaThread "main" [_thread_in_native, id=8174]
?

also, not that I get an empty DoseDistribution.out file

tanks,
Morad


   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/11/08/10.47-37670-hs_err_pid8174.log
None Re: JavaThread   by Joseph Perl <Joseph Perl>,   Nov 17, 02:27
Re: Question JavaThread (Morad Hamad)
It appears you are trying to use some Java tools here (maybe JAS?)

The error seems to mention being out of memory.

If you are starting JAS (or any other Java application) from the command line,
you can probably give it extra memory by specifying the option
 -mx500M
 or something like that, where the number is MB of memory.

For other questions about JAS, I would suggest you post to the analysis forum.

Question Any puplished data for Hadrontherapy example  by abu husny <abu husny>,   Oct 17, 02:25
Dear all,
I wonder if can you tell me how to produce bragg's beak using Hadron therapy example... how can I make a histogram to produce it... where is the data?????????


N.B there is no errors in the hadron therapy example when I make it

thank you all
M. Nobani
None Re: Any puplished data for Hadrontherapy example  by G.A.P.Cirrone <G.A.P.Cirrone>,   Oct 17, 03:26
Re: Question Any puplished data for Hadrontherapy example (abu husny)
Dear User,

to produce histograms in the actual version of Hadrontherapy you must have the AIDA interface installed.

If you give a look to the Hadrontherapy version in the Geant4.9.3 beta version, ascii file is also produced with dose in voxel

Please refer first to this recent post with quite similar problem: http://hypernews.slac.stanford.edu/HyperNews/geant4/get/medical_app/203.html

Pablo Cirrone

Question Dose to water/medium  by Hossein AFSHARPOUR <Hossein AFSHARPOUR>,   Oct 16, 07:53
Does anyone know if there is a direct method in Geant4 in order to transport photons in Bone but to score the dose to Water?

None Re: Dose to water/medium  by Christina Zacharatou <Christina Zacharatou>,   Oct 16, 08:34
Re: Question Dose to water/medium (Hossein AFSHARPOUR)
No, there isn't.

CZ

Question could you please explain it to me?   by abu husny <abu husny>,   Oct 14, 10:23
Dear All,
how are you?
I am new user in Geant4, I have some problems in understanding of some lines in Hadron therapy example such as:

Constructors and destructors in c++
******************************************
HadrontherapyMaterial::HadrontherapyMaterial():
  matW(0), matAl(0), matSi(0), matTa(0), matCu(0),
  vacuum(0), matplexiglass(0), brass(0),
  kapton(0), matPb(0), titanium(0), matAir(0),
  matH2O(0), soft(0), gold(0), bone(0), muscle(0)
{;}

HadrontherapyMaterial::~HadrontherapyMaterial()
*****************************************************

these lines from HadronTherapyMaterial.cc in src codes.


could you please explain it to me?

cheers.
M. Nobani
None Re: could you please explain it to me?   by Joseph Perl <Joseph Perl>,   Nov 17, 08:18
Re: Question could you please explain it to me? (abu husny)
I'm afraid we just don't have the resources in Geant4 to answer basic C++ syntax questions. You will find it well worth your time to step away from Geant4 for a little while and study a basic C++ course.

Question Can't seem to produce AIDA files  by <paulmcg>,   Sep 29, 02:54
I've just installed Geant4_9_2_p02 on Vista using Cygwin and have ran a few of the examples and they are running fine, however I can't seem to produce AIDA files. I'd like to produce some dose histograms within the phantom and try to figure out how to measure outputs in a variety of locations but I can't seem to produce anything.

Feedback Re: Can't seem to produce AIDA files  by Christina Zacharatou <Christina Zacharatou>,   Oct 01, 01:20
Re: Question Can't seem to produce AIDA files
Hi, I haven't tried Cygwin on Vista, but I am running VMware and it works fine. You can download it from

http://geant4.in2p3.fr/rubrique.php3?id_rubrique=8&#9001;=en

You will need to install a more recent version of g4 after installing the virtual machine because it has 9.2p01, but all the other packages, including AIDA are ready to use and work without a problem.

CZ

None Re: Can't seem to produce AIDA files  by <paulmcg>,   Oct 21, 12:16
Re: Feedback Re: Can't seem to produce AIDA files (Christina Zacharatou)
I've installed VMWare and added the files, now I can produce an AIDA file with the extended example A01 however the MedLinac example freezes after I enter /run/beamOn.

It runs as below and finishes with no output, just the message "killed"

Idle> /run/beamOn

G4VRangeToEnergyConverter::BuildLossTable() Create theLossTable[0xa29a6e0] NumberOfElements=19
G4VRangeToEnergyConverter::BuildLossTable() Create theLossTable[0xa2ef288] NumberOfElements=19
G4VRangeToEnergyConverter::BuildLossTable() Create theLossTable[0xa2ef2e8] NumberOfElements=19
G4VRangeToEnergyConverter::ConvertCutToKineticEnergy   for gamma
The cut in range [80 (mm)] is too big for material idx=5 The cut in energy is set1.79769e+305GeV G4VRangeToEnergyConverter::ConvertCutToKineticEnergy for gamma The cut in range [80 (mm)] is too big for material idx=5 The cut in energy is set1.79769e+305GeV
G4VUserPhysicsList::BuildPhysicsTable does not retrieve Cut Table but calculate
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for gamma
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for e-

msc:   for e-    SubType= 10
      Lambda tables from 100 eV  to 100 TeV in 84 bins, spline: 1
      RangeFactor= 0.02, step limit type: 1, lateralDisplacement: 1, skin= 3, geomFactor= 2.5
      ===== EM models for the G4Region  DefaultRegionForTheWorld ======
         UrbanMscUni :     Emin=          0 eV         Emax=   100 TeV
AugerTransitionTable complete
...

.... AugerTransitionTable complete

LowEnergyIoni:  Total cross sections from EEDL database.
      Gamma energy sampled from a parametrised formula.
      Implementation of the continuous dE/dx part.
      At present it can be used for electrons in the energy range [250eV,100GeV].
      The process must work with G4LowEnergyBremsstrahlung.

LowEnBrem:  Total cross sections from EEDL database.
      Gamma energy sampled from a parameterised formula.
      Implementation of the continuous dE/dx part.
      At present it can be used for electrons in the energy range [250eV,100GeV].
      The process must work with G4LowEnergyIonisation.
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for e+

eIoni:   for  e+    SubType= 2
      dE/dx and range tables from 100 eV  to 100 TeV in 84 bins
      Lambda tables from threshold to 100 TeV in 84 bins, spline: 1
      finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01
      ===== EM models for the G4Region  DefaultRegionForTheWorld ======
        MollerBhabha :     Emin=          0 eV         Emax=   100 TeV

eBrem:   for  e+    SubType= 3
      dE/dx and range tables from 100 eV  to 100 TeV in 84 bins
      Lambda tables from threshold to 100 TeV in 84 bins, spline: 1
      LPM flag: 1 for E > 1 GeV
      ===== EM models for the G4Region  DefaultRegionForTheWorld ======
               eBrem :     Emin=          0 eV         Emax=   1 GeV
            eBremRel :     Emin=          1 GeV        Emax=   100 TeV

annihil:   for  e+    SubType= 5
      Lambda tables from 100 eV  to 100 TeV in 84 bins, spline: 1
      ===== EM models for the G4Region  DefaultRegionForTheWorld ======
            eplus2gg :     Emin=          0 eV         Emax=   100 TeV
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for proton
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for anti_kaon0
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for anti_neutron
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for anti_proton
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for geantino
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for kaon+
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for kaon-
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for kaon0
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for lambda
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for neutron
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for omega-
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for pi+
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for pi-
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for pi0
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for sigma+
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for sigma-
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for sigma0
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for xi-
G4VUserPhysicsList::BuildPhysicsTable  Calculate Physics Table for xi0

========= Table of registered couples ==============================

Index : 0     used in the geometry : Yes     recalculation needed : No
 Material : Air
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 1     used in the geometry : Yes     recalculation needed : No
 Material : interGalactic
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 2     used in the geometry : Yes     recalculation needed : No
 Material : Tungsten
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 3     used in the geometry : Yes     recalculation needed : No
 Material : Copper
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 4     used in the geometry : Yes     recalculation needed : No
 Material : Tungsten
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 5     used in the geometry : Yes     recalculation needed : No
 Material : Water
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 6     used in the geometry : Yes     recalculation needed : No
 Material : Beryllium
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 7     used in the geometry : Yes     recalculation needed : No
 Material : Kapton
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 8     used in the geometry : Yes     recalculation needed : No
 Material : Mylar
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 9     used in the geometry : Yes     recalculation needed : No
 Material : Tungsten
 Range cuts        :  gamma 2.19529e-140 fm     e- 2.19529e-140 fm     e+ 2.19529e-140 fm
 Energy thresholds :  gamma 990 eV     e- 990 eV     e+ 990 eV
 Region(s) which use this couple :
    DefaultRegionForTheWorld

Index : 10     used in the geometry : Yes     recalculation needed : No
 Material : Tungsten
 Range cuts        :  gamma 8 cm     e- 8 cm     e+ 8 cm
 Energy thresholds :  gamma 2.88022e+295 J      e- 716.547 MeV    e+ 682.117 MeV Region(s) which use this couple :
    PrimaryCollimatorLow

Index : 11     used in the geometry : Yes     recalculation needed : No
 Material : Tungsten
 Range cuts        :  gamma 8 cm     e- 8 cm     e+ 8 cm
 Energy thresholds :  gamma 2.88022e+295 J      e- 716.547 MeV    e+ 682.117 MeV Region(s) which use this couple :
    PrimaryCollimatorUp

====================================================================

Killed

None Re: Can't seem to produce AIDA files  by Christina Zacharatou <Christina Zacharatou>,   Oct 21, 21:34
Re: None Re: Can't seem to produce AIDA files
Have you tried to run the program in batch instead of running it interactively?

CZ

None Re: Can't seem to produce AIDA files  by Joseph Perl <Joseph Perl>,   Sep 30, 22:25
Re: Question Can't seem to produce AIDA files
For help on AIDA, please post your question on the Analysis Forum.

Most of the people who follow this medical forum are not AIDA experts (myself included). You'll reach the right experts if you instead post this question on the Analysis forum.

None Re: Can't seem to produce AIDA files  by <paulmcg>,   Sep 29, 03:46
Re: Question Can't seem to produce AIDA files
incidentally although during the ./Config -build stage I responded to the G4ANALYSIS_USE question with yes I get the following when I run the MedLinac.exe

*************************************************************
 Geant4 version Name: geant4-09-02-patch-02    (28-August-2009)
                      Copyright : Geant4 Collaboration
                      Reference : NIM A 506 (2003), 250-303
                            WWW : http://cern.ch/geant4
*************************************************************

==================DetectorMessenger ==================PhysicsListMessenger G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 6 Visualization Manager instantiating... Visualization Manager initialising... Registering graphics systems...

You have successfully registered the following graphics systems.
Current available graphics systems are:
  ASCIITree (ATree)
  DAWNFILE (DAWNFILE)
  G4HepRep (HepRepXML)
  G4HepRepFile (HepRepFile)
  RayTracer (RayTracer)
  VRML1FILE (VRML1FILE)
  VRML2FILE (VRML2FILE)
  OpenGLImmediateWin32 (OGLIWin32)
  OpenGLStoredWin32 (OGLSWin32)

Registering model factories...

You have successfully registered the following model factories.
Registered model factories:
  generic
  drawByCharge
  drawByParticleID
  drawByOriginVolume
  drawByAttribute

Registered filter factories:
  chargeFilter
  particleFilter
  originVolumeFilter
  attributeFilter

 User Environment
 G4ANALYSIS_USE environment variable not set, NO ANALYSIS
 UI session starts ...
***** Can not open a macro file <macro.mac>
PreInit>

None can I use ROOT analysis instead of AIDA?  by Morad Hamad <Morad Hamad>,   Sep 26, 05:36
Hello every body,

could one please tell me how can I use ROOT analysis instead of AIDA?,what I have to change in the code? because I have many many problems in the compilation such as:- /bin/sh: line 1: aida-config: command not found

include/HadrontherapyAnalysisManager.hh:47:24: error: AIDA/AIDA.h: No such file or directory

gmake: *** [/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/HadrontherapyAnalysisManager.o] Error 1

N.B 1-the pathe of AIDA/AIDA.h is correct( /data/geant/jaida/AIDAJNI-3.2.3/include/AIDA/AIDA.h).
    2- I am using openSUSE 11.1

cheers, Morad Hamad.

Feedback Re: can I use ROOT analysis instead of AIDA?  by G.A.P.Cirrone <G.A.P.Cirrone>,   Sep 26, 07:42
Re: None can I use ROOT analysis instead of AIDA? (Morad Hamad)
Dear Morad Hamad,

AIDA is collection of external libraries permitting an User to create output files (.hbook, .root, etc).
Installation documentation is not complete but we provided a document helping to install AIDA starting from the Open Scientist distribution.
The document is yet in Italian (I promised to translate it before the end of the year ....) but probably you can easily follow the necessary steps for the AIDA installation.  It can be found here:
http://workgroup.lngs.infn.it/geant4lns/GROUP%20DISCUSSIONS%20FOLDER/aida-installation-manual


It is, of course, not necessary install the AIDA to retrieve outputs from your simulation and, if you'd like to directly use the ROOT libraries, you can proceed with the following steps:

1. You can create a dedicated eviroment variable (i.e. G4ANALISYS_USE_ROOT) that point on the ROOT libraries
2. you must include the necessary packages in your code:

#ifdef G4ANALYSIS_USE
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#endif

3. then you can proceed with the normal ROOT syntax to produce your histograms or ntuple.
For example:
#ifdef G4ANALYSIS_USE
histType = "root";
ROOT_file = new TFile(name, "RECREATE", "ROOT file");
then
ROOT_histo = new TH1D(options);

etc ...... etc ....

#endif

Alternatively you can easily generate simple ASCII file.

In hadrontherapy, for example, this functionality is provided in the new version that you can download in the new Geant4 9.3 Beta version: download the Geant4 9.3 Beta version, than go to the examples/advanced/Hadrontherapy/src/HadrontherapyMatrix.cc class file.
Inside it you can find how a DoseDistribution.out file is easily generated.

Also check this new version of Hadrontherapy as it has many improvements.

Feel free to ask for any problem,
Pablo Cirrone
http://pablocirrone.wikispaces.com/
Question Re: can I use ROOT analysis instead of AIDA?  by Morad Hamad <Morad Hamad>,   Sep 27, 12:32
Re: Feedback Re: can I use ROOT analysis instead of AIDA? (G.A.P.Cirrone)
Dear Pablo Cirrone
Thank you very much for your interesting, also for the useful link.
yes, I will install geant4 9.3 soon,
I wonder if can I ask about some problems in Hadron Therapy example compilation?

when I try to make the example the following problems appears:-


****************************
1-include/HadrontherapyAnalysisManager.hh:47:24: error: AIDA/AIDA.h: No such file or directory

2-/bin/sh: line 1: aida-config: command not found

3-gmake: *** [/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/HadrontherapyAnalysisManager.o] Error 1
***************************************************
Am sure that i have AIDA.h in the
/data/geant/jaida/AIDAJNI-3.2.3/include/AIDA directory, but I can't find
HadrontherapyAnalysisManager.o inside:-
/home/morad/geant4/tmp/Linux-g++/Hadrontherapy directory after compilation.

Also I try to use the export CPATH=/data/geant/jaida/AIDAJNI-3.2.3/include:$CPATH comand, but the new problem appear which is:-
********************************************
Using granular libraries ...
Linking Hadrontherapy ...
/bin/sh: aida-config: command not found
/bin/sh: aida-config: command not found
/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/libHadrontherapy.a(HadrontherapyAnalysisManager.o):
In function `HadrontherapyAnalysisManager::book()':
HadrontherapyAnalysisManager.cc:(.text+0xe9d): undefined reference to
`AIDA_createAnalysisFactory'
collect2: ld returned 1 exit status
gmake: *** [/home/morad/geant4/bin/Linux-g++/Hadrontherapy] Error 1
******************************************************
could you please guide me to solve it?

Cheers,
Morad Hamad

 
Question Re: can I use ROOT analysis instead of AIDA?  by Morad Hamad <Morad Hamad>,   Sep 27, 12:31
Re: Feedback Re: can I use ROOT analysis instead of AIDA? (G.A.P.Cirrone)
Dear Pablo Cirrone
Thank you very much for your interesting, also for the useful link.
yes, I will install geant4 9.3 soon,
I wonder if can I ask about some problems in Hadron Therapy example compilation?

when I try to make the example the following problems appears:-


****************************
1-include/HadrontherapyAnalysisManager.hh:47:24: error: AIDA/AIDA.h: No such file or directory

2-/bin/sh: line 1: aida-config: command not found

3-gmake: *** [/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/HadrontherapyAnalysisManager.o] Error 1
***************************************************
Am sure that i have AIDA.h in the
/data/geant/jaida/AIDAJNI-3.2.3/include/AIDA directory, but I can't find
HadrontherapyAnalysisManager.o inside:-
/home/morad/geant4/tmp/Linux-g++/Hadrontherapy directory after compilation.

Also I try to use the export CPATH=/data/geant/jaida/AIDAJNI-3.2.3/include:$CPATH comand, but the new problem appear which is:-
********************************************
Using granular libraries ...
Linking Hadrontherapy ...
/bin/sh: aida-config: command not found
/bin/sh: aida-config: command not found
/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/libHadrontherapy.a(HadrontherapyAnalysisManager.o):
In function `HadrontherapyAnalysisManager::book()':
HadrontherapyAnalysisManager.cc:(.text+0xe9d): undefined reference to
`AIDA_createAnalysisFactory'
collect2: ld returned 1 exit status
gmake: *** [/home/morad/geant4/bin/Linux-g++/Hadrontherapy] Error 1
******************************************************
could you please guide me to solve it?

Cheers,
Morad Hamad

 
Feedback Re: can I use ROOT analysis instead of AIDA?  by G.A.P.Cirrone <G.A.P.Cirrone>,   Sep 26, 07:41
Re: None can I use ROOT analysis instead of AIDA? (Morad Hamad)
Dear Morad Hamad,

AIDA is collection of external libraries permitting an User to create output files (.hbook, .root, etc).
Installation documentation is not complete but we provided a document helping to install AIDA starting from the Open Scientist distribution.
The document is yet in Italian (I promised to translate it before the end of the year ....) but probably you can easily follow the necessary steps for the AIDA installation.  It can be found here:
http://workgroup.lngs.infn.it/geant4lns/GROUP%20DISCUSSIONS%20FOLDER/aida-installation-manual


It is, of course, not necessary install the AIDA to retrieve outputs from your simulation and, if you'd like to directly use the ROOT libraries, you can proceed with the following steps:

1. You can create a dedicated eviroment variable (i.e. G4ANALISYS_USE_ROOT) that point on the ROOT libraries
2. you must include the necessary packages in your code:

#ifdef G4ANALYSIS_USE
#include "TROOT.h"
#include "TFile.h"
#include "TH1D.h"
#endif

3. then you can proceed with the normal ROOT syntax to produce your histograms or ntuple.
For example:
#ifdef G4ANALYSIS_USE
histType = "root";
ROOT_file = new TFile(name, "RECREATE", "ROOT file");
then
ROOT_histo = new TH1D(options);

etc ...... etc ....

#endif

Alternatively you can easily generate simple ASCII file.

In hadrontherapy, for example, this functionality is provided in the new version that you can download in the new Geant4 9.3 Beta version: download the Geant4 9.3 Beta version, than go to the examples/advanced/Hadrontherapy/src/HadrontherapyMatrix.cc class file.
Inside it you can find how a DoseDistribution.out file is easily generated.

Also check this new version of Hadrontherapy as it has many improvements.

Feel free to ask for any problem,
Pablo Cirrone
News Collection of emerging G4 User Requirements for Medical Physics  by Susanna <Susanna>,   Sep 22, 23:31
Dear All,

In the next Geant4 Collaboration Workshop (Catania, Italy, 15-22 October 2009), I will summarise the user requirements emerging from the Geant4 Medical Physics User Community, to plan future developements of Geant4. The goal is to improve the functionality of the toolkit for Medical Physics.

Could you please send me a short description of your emerging user requirements (if any)for Geant4, specific to your research domain?

Medical Physics will be a major topic at the next Geant4 Collaboration workshop. Your input to the collaboration will be extremely valuable at this time.

My email address is: susanna@uow.edu.au

Best regards Susanna Guatelli

Question medical_linac compiling problem  by <paulmcg>,   Sep 11, 12:01
Hi there,

I've just installed Geant4.9.2 on a vista pc using the cygwin console. I've managed to run a few of the examples (N01, N02, A01 and human_phantom) and they run fine however when I try to compile the medical_linac i get the following message when I enter the command make

home@home-PC /cygdrive/c/g4work/medical_linac $ make GNUmakefile:20: *** missing separator. Stop.

None Re: medical_linac compiling problem  by G.A.P.Cirrone <G.A.P.Cirrone>,   Sep 12, 10:17
Re: Question medical_linac compiling problem
Dear I checked that error is inside the released code as Perl noted. Thank you for reporting. The code will be corrected in the next release and in the meantime you should be able to compile just deleting the wrong part. Regards Pablo Cirrone

None Re: medical_linac compiling problem  by <paulmcg>,   Sep 15, 06:01
Re: None Re: medical_linac compiling problem (G.A.P.Cirrone)
Thanks very much for your help.

After I compile it I can now run the program however after I've initialized and then ran beam on I get the following message once it has ran through some calculataions:

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

Ok Re: medical_linac compiling problem  by G.A.P.Cirrone <G.A.P.Cirrone>,   Sep 19, 03:17
Re: None Re: medical_linac compiling problem
Dear all, 

I checked the example findind probably related to an incorrect definition of the 'root' region for the cut definition in some geometrical elements defined in the MedLinacHead.cc class file.

The problem should be related to the follow line:

CylMinusCone_log->SetRegion(aLowerCollRegion);
aLowerCollRegion->AddRootLogicalVolume(CylMinusCone_log);

//G4String regName1 = "PrimaryCollimatorUp";
//G4Region* aUpperCollRegion = new G4Region(regName1);
UpperCollimator_log->SetRegion(aUpperCollRegion);
aUpperCollRegion->AddRootLogicalVolume(UpperCollimator_log);

please try to comment all the line and check if it function.
If you have problem in the definition of cuts in your simulation, pleas cheak any other example: TestEm7 or Hadrontherapy are my suggestions for this but many other examples exist.

I made a general revision also of the physics model implementation of this example presenting at moment some old and not more supported models.
The update of the physic models will be present in the next December releaase.

If someone is interested in the updated version, please contact me directly and I'll provide you the code.

Regards,
Pablo Cirrone
Ok Re: medical_linac compiling problem  by <paulmcg>,   Sep 22, 02:35
Re: Ok Re: medical_linac compiling problem (G.A.P.Cirrone)
That's brilliant, thanks for your help.

Paul

None Re: medical_linac compiling problem  by Joseph Perl <Joseph Perl>,   Sep 11, 17:15
Re: Question medical_linac compiling problem
I just tried it myself and can confirm the same problem.

Looks like someone left some extraneous code in the GNUmakefile when they did some sort of CVS operation.

Solution is just to edit the GNUmakefile to remove the following set of lines:

  <<<<<<< GNUmakefile

  =======
  >>>>>>> 1.3

Thanks for reporting this. I'm not sure how this slipped through our release testing process. We'll make sure it gets corrected in the next release (and that the testing process is tightened).

Question Hadron therapy  by Morad Hamad <Morad Hamad>,   Sep 09, 05:37
Dear all, 
How are you?
 I have the following problems  in hadrontherapy example compilation:-

1- include/HadrontherapyAnalysisManager.hh:47:24: error: AIDA/AIDA.h: No such file or directory

2- /bin/sh: line 1: aida-config: command not found

3- gmake: *** [/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/HadrontherapyAnalysisManager.o] Error 1

Am sure that i have AIDA.h in the /data/geant/jaida/AIDAJNI-3.2.3/include/AIDA directory, but I can't find HadrontherapyAnalysisManager.o inside /home/morad/geant4/tmp/Linux-g++/Hadrontherapy directory

could you please help me? thanks a lot,

N.B I am using openSUSE 11.1

None Re: Hadron therapy  by Paul Nicholas Colin Gloster <Paul Nicholas Colin Gloster>,   Sep 09, 08:18
Re: Question Hadron therapy (Morad Hamad)
Try the command
export CPATH=/data/geant/jaida/AIDAJNI-3.2.3/include
then try to make again.
Ok Re: Hadron therapy  by Morad Hamad <Morad Hamad>,   Sep 09, 13:41
Re: None Re: Hadron therapy (Paul Nicholas Colin Gloster)
thank you Paul,
I applied the command, then the problem become as:





Using granular libraries ...
Linking Hadrontherapy ...
/bin/sh: aida-config: command not found
/bin/sh: aida-config: command not found
/home/morad/geant4/tmp/Linux-g++/Hadrontherapy/libHadrontherapy.a(HadrontherapyAnalysisManager.o): In function `HadrontherapyAnalysisManager::book()':
HadrontherapyAnalysisManager.cc:(.text+0xe9d): undefined reference to `AIDA_createAnalysisFactory'
collect2: ld returned 1 exit status
gmake: *** [/home/morad/geant4/bin/Linux-g++/Hadrontherapy] Error 1


Do you have any idea?

cheers,
None Re: Hadron therapy  by Paul Nicholas Colin Gloster <Paul Nicholas Colin Gloster>,   Sep 10, 05:15
Re: Ok Re: Hadron therapy (Morad Hamad)
Hello,

I should have suggested
export CPATH=/data/geant/jaida/AIDAJNI-3.2.3/include:$CPATH
instead. Sorry.

As for the problem of
"/bin/sh: aida-config: command not found",
try to find where the file  aida-config  is located then try
export PATH=the_directory_where_aida-config_is_located:$PATH
which might be:
export PATH=/data/geant/jaida/AIDAJNI-3.2.3/bin:$PATH
then try  make  again.

Good luck.

With kind regards,
Paul Colin
Sad Re: Hadron therapy  by Morad Hamad <Morad Hamad>,   Sep 16, 04:54
Re: None Re: Hadron therapy (Paul Nicholas Colin Gloster)
Hello Dear Paul,

My problem still as is it, I think their is a problem in my AIDA, let me re-install it,then I will inform you about the compilation,

Cheers, Morad Hamad

Question source volumes with different radiation intensities  by Chibueze Zimuzo <Chibueze Zimuzo>,   Aug 25, 06:27
Hello,

I want to model a given physical volume (a cubic phantom) filled with water containing a small spherical radioactive source in its center with G4. I would like to set the relative radiation intensities of the source to the volume (phantom) at 5:1 while maintaining the same energy (140 keV) for both volumes. I have look at Brachytherapy example but it doesn't quite contain all the details I need.

Any help/suggestion from anyone is most welcomed.

Chibueze.

None Re: source volumes with different radiation intensities  by Joseph Perl <Joseph Perl>,   Sep 06, 19:34
Re: Question source volumes with different radiation intensities (Chibueze Zimuzo)
In general, it is left up to the user to set source parameters however they please.

The brachytherapy example is just one example of how you can set up a brachy problem in Geant4. You are free to change the models in any way that you wish by editing the relevant C++ code.

None test medical app via email, please ignore  by Terry Hung <Terry Hung>,   Aug 04, 18:53
test, please ignore,

-- 
Terry Hung - Stanford Linear Accelerator Center
Question Statistical uncertainties in hadrontherapy  by Ix-Berenice Garcia Ferreira <Ix-Berenice Garcia Ferreira>,   Jul 18, 11:09
I am working with the Hadrontherapy example of Geant4 application 4.9.1.p01. and I am interested in being able to calculate the uncertainties associated to the energy deposited in each energy bin. Since we are using Monte Carlo, this is a very important quantity that has to be calculated.

I am wondering if someone can help me with this matter and tell me how this can be implemented in the example. Cirrone told me how to modify the HadrontherapyMatrix.cc to be able to obtain an independent output file in txt, and it works perfectly. Is there a possibility that the uncertainties can appear in the same output file?.

I will appreciate any help.

All the best.

Ix-Berenice

Feedback Re: Statistical uncertainties in hadrontherapy  by Pedro Arce <Pedro Arce>,   Jul 23, 14:26
Re: Question Statistical uncertainties in hadrontherapy (Ix-Berenice Garcia Ferreira)
Dear Valery,

I have developed a code that calculates the dose deposited in each of the voxels of a phantom with their error, and dumps it to the standard output or/and to a file (or alternatively dumps error and error square for proper statistical summation of different jobs results), and it can also dump it into dose histograms: 1D, 2D, dose and dose-volume. You can find it at http://fismed.ciemat.es/GAMOS

My scorers inherit from the Geant4 class G4VPrimitiveScorer class, so you could use their error calculation in an standard Geant4 example. Nevertheless I think it will be easier to transform your example into a GAMOS one, and you will get some extra utilities of GAMOS (have a look at the User's Guide for more detail).

Pedro

Feedback Re: Statistical uncertainties in hadrontherapy  by Christina Zacharatou <Christina Zacharatou>,   Jul 21, 02:26
Re: Question Statistical uncertainties in hadrontherapy (Ix-Berenice Garcia Ferreira)
For an example of error calculation, please see

/examples/extended/electromagnetic/TestEm2

CZ

Feedback Re: Statistical uncertainties in hadrontherapy  by G.A.P.Cirrone <G.A.P.Cirrone>,   Jul 21, 01:06
Re: Question Statistical uncertainties in hadrontherapy (Ix-Berenice Garcia Ferreira)
Dear User,

at moment in hadrontherapy does not exsist a method to calculate the statistical error of deposited dose. A correct way to proceede is to perform a certain number of runs with different seed number and then calculate the statistical error in each voxel.

A minimum of 5 runs (much better at least 10) are required for a meaningful evaluation of the statistical error. For example, instead of doing 2 runs of 1,000,000 each, you could have done 10 runs of 200,000 In that case you would have used the same CPU time, the results would have been exactly the same (for the same initial random numbers) as for the 2, 1,000,000 each, runs, but statistical errors could have been different and surely better estimated.

I hope that in the future we can add an automatic way to perform a such calculation for dose also connected with some biasing technique

Pablo Cirrone

Note Re: Statistical uncertainties in hadrontherapy  by Valery Taranenko <Valery Taranenko>,   Jul 21, 06:32
Re: Feedback Re: Statistical uncertainties in hadrontherapy (G.A.P.Cirrone)
This is a batch method or estimating uncertainty. This is an old way that e.g. Fluka is utilizing.
The standard way of estimating uncertainty these days is just accumulating the squares of individual scoring contributions, i.e. scoring std. dev.
I don't think we need batches. Agree?

best
-val

--
Valery Taranenko, PhD
Research Fellow
Physics Research, Radiation Oncology Dept, Burr Proton Therapy Center
Massachusetts General Hospital, Harvard Medical School, Boston, MA
http://gray.mgh.harvard.edu/ +1 (617) 724-3658 EST
None Re: Statistical uncertainties in hadrontherapy  by G.A.P.Cirrone <G.A.P.Cirrone>,   Jul 21, 07:32
Re: Note Re: Statistical uncertainties in hadrontherapy (Valery Taranenko)
I agree at all. More than an old method batch is a different way to proceede into the error exstimation. Test Em2 is a good approach for non-batch method.

I hope to introduce it inside Hadrontherapy in the future.

cheers PabloOn Tue, 21 Jul 2009 13:32:33 GMT, Valery Taranenko wrote:

> This is a batch method or estimating uncertainty. This is an old way
> that e.g. Fluka is utilizing.
> The standard way of estimating uncertainty these days is just
> accumulating the squares of individual scoring contributions, i.e.
> scoring std. dev.
> I don't think we need batches. Agree?
> 
> best
> -val
> 
> --
> Valery Taranenko, PhD
> Research Fellow
> Physics Research, Radiation Oncology Dept, Burr Proton Therapy Center
> Massachusetts General Hospital, Harvard Medical School, Boston, MA
> http://gray.mgh.harvard.edu/ +1 (617) 724-3658 EST
> 

None Re: Statistical uncertainties in hadrontherapy  by Christina Zacharatou <Christina Zacharatou>,   Jul 21, 07:00
Re: Note Re: Statistical uncertainties in hadrontherapy (Valery Taranenko)
That's right. This is what TestEm2 does.

CZ

Question Problem in visualization  by Morad Hamad <Morad Hamad>,   Jul 01, 09:09
hello every body... I have a problem in the visualization: I always get this message:

*** VRML 1.0 File g4_05.wrl is generated.

Graphics systems deleted.

Visualization manager deleting...

I wonder if any body have an Idea to solve it...

N.B the cod is running correctly.

cheers,

None Re: Problem in visualization  by Joseph Perl <Joseph Perl>,   Jul 01, 09:39
Re: Question Problem in visualization (Morad Hamad)
These messages are normal.

On Wed, 01 Jul 2009 16:09:05 GMT, Morad Hamad wrote:

> hello every body... I have a problem in the visualization: I always get
> this message:
> 
> *** VRML 1.0 File g4_05.wrl is generated.

Tells you it has generated the 5th file

> 
> Graphics systems deleted.

Part of the memory cleanup that happens at the end of the job

> 
> Visualization manager deleting...

Part of the memory cleanup that happens at the end of the job

This is standard good behavior for well-written C++ code. It deletes objects from memory that are no longer used, so that memory is now available for other use (for example, if Geant4 is embedded in a larger system, the rest of the system may still be running and need memory after the Geant4 part is done).

> 
> I wonder if any body have an Idea to solve it...
> 
> N.B the cod is running correctly.
> 
> cheers,
> 

Also please note, we have a dedicated forum for Visualization questions. You should probably use that one for cases like this (so that if you have a really difficult Vis questions, other Vis experts will see the question).

None Using AIDA for analysis  by <tintin73>,   May 29, 04:35
Dear Geant4 gurus,

I've only just started to use GEANT4. I am trying to run the Brachtherapy application which works fine ...until I try to do some analysis using the aida tool. I've downloaded to tool to [ c:/AIDA ] and unzipped the tarfile [ aida-3.2.1.tar.gz ].

I am unsure how to link this to GEANT4 so that when I switch on [ G4ANALYSIS_USE=1 ] , I stop getting the error message [ /bin/sh: aida-config: command not found ]

I think I need a config script? i.e an aida-setup script. Not sure whre to get this.

Could someone point me in the right direction please?

Thanks a lot.

None Re: Using AIDA for analysis  by Joseph Perl <Joseph Perl>,   May 29, 09:44
Re: None Using AIDA for analysis
Please repost this to the analysis forum. All of the AIDA experts monitor that forum, but most of them do not monitor this one.

Question Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Loïc Grevillot <Loïc Grevillot>,   07 Apr, 2009
I work with Gate that is a Geant4-based platform. My Geant4 version is geant4.9.2

I irradiate a 10x10x40 cm³ water tank, with a 10 cm diameter circular proton beam of 230 MeV. I measure dose deposition in a stack of 2x2x0.1 cm³ voxels. My physics list is roughly composed of the standard EM and Binary Cascade for HAD.

I tried different cut values between 1mm and 1µm to evaluate its influence on the proton range, with the defaut step size. With a 1mm cut or a 1µm cut, the ranges are the same. From 1mm to 0.1mm, the range increase up to 6mm and then go back to its initial position.

1/ I can't explain this phenomenon. How cut values below 1mm can lead to a 6mm range shifting?

Furthemore, with a 0.1mm cut, the range agree with the NIST data within 2mm with a 1mm step limiter and within 1 mm with a 0.1mm step limiter.

2/ Is there any link between the cut value and the steplimiter?

3/ Any other ideas?

Thank you for your suggestions.

Loïc.

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/04/07/09.11-13223-LG-HypernewsForum.ppt

Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Vladimir Ivanchenko <Vladimir Ivanchenko>,   12 Apr, 2009
Re: Question Cut influence in Gate/Geant4 for a 230 MeV proton beam (Loïc Grevillot)
Hello,

With the recent G4 releases we do not know about reported problem. In contrary, our tests show stability of range and Bragg peak position versus cut value.

Can you, please, try out Geant4 9.2 using example TestEm7 - without any change in the code you can define similar target and Physics List and changing the cut value see the result on range.

Cut and step limit are not independent - if cut is small automatically steps are small and step limit may not affect the simulation. If cuts are high step limit defines the step size.

Please, also check that your estimate range correctly when the Binary cascade is active. In that case the average value of proton track length is not a good parameter due to hadronic interactions, one can only use the Bragg peak position.

VI

None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Loïc Grevillot <Loïc Grevillot>,   14 Apr, 2009
Re: Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Vladimir Ivanchenko)
Hello,

Without any step limit, range can shift up to 6 mm, as showed in the previous curves. With a step limit, the shift decrease significantly. The lower the step limit, the lower the shift. In that case, we can talk about range stability as you explained. I checked the ranges with the NIST database.

Thank you for your help.

Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Vladimir Ivanchenko <Vladimir Ivanchenko>,   14 Apr, 2009
Re: None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Loïc Grevillot)
Hello,

Please, confirm your results with $G4INSTALL/examples/extended/electromagnetic/TestEm7

VI

None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Loïc Grevillot <Loïc Grevillot>,   14 Apr, 2009
Re: Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Vladimir Ivanchenko)
I tried $G4INSTALL/examples/extended/electromagnetic/TestEm7 with 2 cut values: 1mm and 0.1mm.

I also obtained a 6 mm range shifting, except with EM-opt-3 (0.3mm shift).

This is due to the option "opt.SetDEDXBinning(220)" and not because of the maximum step size, as I thought before.

I tried "opt.SetDEDXBinning(100)" and it gives me a 3 mm shift

I tried "opt.SetDEDXBinning(150)" and it gives me a 0.7 mm shift

I tried "opt.SetDEDXBinning(190)" and it gives me a 0.3 mm shift

What is the defaut value of DEDXBinning?

What is the SetLambdaBinning option and Lamda? ...

I also saw other options, but I didn't find any help in the physics reference manual. Does-it exist some explanations somewhere?

I would like to understand exactly the consequences of these options and how it works.

Thanks again for your help.

Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Vladimir Ivanchenko <Vladimir Ivanchenko>,   14 Apr, 2009
Re: None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Loïc Grevillot)
Hello,

EM options are described in the Application Developer Manuel (chapter 5.2).

In the EM web there is a brief description of recommended EM builders: http://geant4.web.cern.ch/geant4/collaboration/working_groups/electromagnetic/physlist.shtml

The default EM configuration is used for HEP simulation, where minor details are not so important. The new "option3" variant is recommended as a concervative variant for relatively low-energy aplications like medical beams.

If number of materials in an application is not very large, then proposed higher than default number of bins will not be seen - tables will be filled in a reasonable time. If there about 1000 and more materials this may be a problem and one need to think how to choose an optimum between performance and accuracy. I would try to use option3.

Can you, please, send macro file, which you use for TestEm7 and which shows few mm difference depending on cut value?

VI

None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Loïc Grevillot <Loïc Grevillot>,   15 Apr, 2009
Re: Idea Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Vladimir Ivanchenko)
Hello,

I don't understand the DEDXBinning option. I thought a step size was calculated for a defined energy and then the appropriate DEDX was selected. Where does the DEDXBinning play?

What is the lambda option parameter?

What is the difference between Multiple Scattering and Single Scattering?

I attached the EM7 proton macro file I used with additionnal comments.

Regards,

LG

None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam  by Loïc Grevillot <Loïc Grevillot>,   15 Apr, 2009
Re: None Re: Cut influence in Gate/Geant4 for a 230 MeV proton beam (Loïc Grevillot)
   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/04/15/00.14-53989-proton.txt

Question Hadrontherapy example at 150 MeV  by Sergio Roman Lopez <Sergio Roman Lopez>,   25 Mar, 2009
Running the hadrontherapy example and having modifed the phantom to make it bigger and hit it with a proton beam energy of 150MeV, I got a problem while the application was running. The problem looks as follows:

Warning! Unknown proton process: HadronElastic
G4EnergyRangeManager:GetHadronicInteraction: counter=1, Ek=110.45764,
Material = Water, Element = Oxygen
*0* low=0, high=100
In src/G4EnergyRangeManager.cc, line 123:
===> GetHadronicInteraction: No Model found
In src/G4EnergyRangeManager.cc, line 123:
===> GetHadronicInteraction: No Model found
Unrecoverable error for:
- Particle energy[GeV] = 0.11045764
- Material = Water
- Particle type = proton
G4Exception : 007
    issued by : G4HadronicProcess
 ChooseHadronicInteraction failed.
 *** Fatal Exception *** core dump ***

 *** G4Exception: Aborting execution ***
 Aborted

I want to run the example at enegies above 100 MeV, and I get the impression that right now the application only has the option to run simulations in an energy range between 0-100MeV. I tried to look into the file G4EnergyRangeManager.cc , but I couldn't find any options there to modify the energy range, Somebody know where can I change this parameter?

Thanks in advance for any help.

Ix-Berenice Garcia Ferreira (using another member account)

None Re: Hadrontherapy example at 150 MeV  by Francesco Romano <Francesco Romano>,   26 Mar, 2009
Re: Question Hadrontherapy example at 150 MeV (Sergio Roman Lopez)
Dear Lopez,
Hadrontherapy example simulates an hadrontherapy beamline really existent (protons at 62 MeV) and the physics implanted is also constructed and optimized for this purposes. The upper limit for the application of inelastic models is “forced” to 100 MeV, but anyway you are free to extend this limit at higher values because the models used are applicable up to about GeV/n, so coherent with the energy range of interest for your application.
In few word, what you have to modify:

1) Once you choose a macro, have a look to the hadronic physics added, ex.: physicsHadronicBinary.mac:

.....
### B) HADRONIC PHYSICS
/physics/addPhysics HadronicEl-HadronIon-LElastic
/physics/addPhysics HadronicInel-ProtonNeutron-Bin
/physics/addPhysics HadronicInel-Ion-LEP
/physics/addPhysics HadronicInel-Pion-LEP
/physics/addPhysics HadronicAtRest-MuonMinus-Capture
.....

2) Look for the .cc files you call in the macro inside HadrontherapyPhysicsList.cc. Ex.:

.....
/physics/addPhysics HadronicInel-ProtonNeutron-Bin
.....


in HadrontherapyPhysicsList.cc you will find:

.....
  // *** Option III: Binary Cascade Model

  if (name == "HadronicInel-ProtonNeutron-Bin")
    {
      if (hadrInelasticProtonNeutronIsRegistered)
  {
   G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name
     << " cannot be registered ---- decay List already existing"
                 << G4endl;
  }
      else
  {
   G4cout << "HadrontherapyPhysicsList::AddPhysicsList: " << name
                 << " is registered" << G4endl;
   RegisterPhysics( new HIProtonNeutronBinary(name) );
   hadrInelasticProtonNeutronIsRegistered = true;
  }
    }
.....


What you see inside the brackets RegisterPhysics(....) is the name of the physics file you have to modify, that is in this example: HIProtonNeutronBinary.cc

3) open HIProtonNeutronBinary.cc and modify the energy limit:

.....
  // *********************************************
  // *** Protons, Neutrons: Common Definitions ***
  // *********************************************

  G4double protonNeutronBinaryMinEnergy = 0. * MeV;
  G4double protonNeutronBinaryMaxEnergy = 100. * MeV;

  G4BinaryCascade* protonNeutronBinaryCascadeModel = new G4BinaryCascade();
  protonNeutronBinaryCascadeModel -> SetMinEnergy(protonNeutronBinaryMinEnergy);
  protonNeutronBinaryCascadeModel -> SetMaxEnergy(protonNeutronBinaryMaxEnergy);
.....

change 100 MeV to the value you want (maximum 10 GeV for BinaryCascadeModel)

4) Remember to repeat this procedure for each file you call in the macro you are using (just hadronic interactions)


Anyway, we are working in order to simplify and generalize the use of the physics inside Hadrontherapy and in general for medical applications, so that in few steps it will be possible to set a physics which is suitable and accurate for that kind of applications.

Cheers

Francesco
(for the Catania Geant4 group)
Ok Re: Hadrontherapy example at 150 MeV  by Ix-Berenice Garcia Ferreira <Ix-Berenice Garcia Ferreira>,   13 Apr, 2009
Re: None Re: Hadrontherapy example at 150 MeV (Francesco Romano)
Dear Francesco,

Thank you for reply to the inquire on hadrontherapy example regarding the use of higher energies, I did what you said and it worked perfectly. I modify all the files containing hadronic interactions and specify the energy range needed, your answer was very clear and very helpful.

Best Regards,

Ix-Berenice

Question Medical linac core dumped in G4 9.1 64bits  by Jose Ramos <Jose Ramos>,   25 Mar, 2009
Hi geant4 users:

I compiled geant4 for an amd64 bits machine with dual core, every thing works fine, examples of brachytherapy and hadrontherapy compile and run well, but the medical linac example compile, but when I run it, I obtain the core dumped (fallo de segmentación) message. Any one have idea for what happens?

Best regards

None Re: Medical linac core dumped in G4 9.1 64bits  by Jose Ramos <Jose Ramos>,   29 Mar, 2009
Re: Question Medical linac core dumped in G4 9.1 64bits (Jose Ramos)
Thanks for your help Mr. Colin, I run it with valgrind but there is a lot of errors of memory. I compile the geant4.9.1.p01 libraries and the example compile and execute well on amd64 bits, also I try with 4.9.1.p03 and there is the core dumped also with 4.9.2. So I think that there is a bug in 9.1.p03 and 9.2 geant4, because I have been tried with Ubuntu 8.04, SLC5, and Fedora all with 32 and 64 bits.

Best regards

None Re: Medical linac core dumped in G4 9.1 64bits  by Paul Nicholas Colin Gloster <Paul Nicholas Colin Gloster>,   25 Mar, 2009
Re: Question Medical linac core dumped in G4 9.1 64bits (Jose Ramos)
On Wed, 25 Mar 2009, Jose Ramos submitted:

|------------------------------------------------------------------------|
|"I compiled geant4 for an amd64 bits machine with dual core, every thing|
|works fine, examples of brachytherapy and hadrontherapy compile and run |
|well, but the medical linac example compile, but when I run it, I obtain|
|the core dumped (fallo de segmentación) message. Any one have idea for  |
|what happens?"                                                          |
|------------------------------------------------------------------------|

Hello,

Try to run the crashing program with the
valgrind
command.

Regards,
C.P.G.
None Post-doctoral position at IRSN, France  by <Adesbree>,   24 Mar, 2009
Dear members,
I'd like to inform you of the opening of a post-doctoral fellowship in our lab at the IRSN (Institut de Radioprotection et de Sûreté Nucléaire, France, http://www.irsn.org/).
This is a 2 year fellowship, co-funded by AREVA, concerning the micrometer scale modelling of the dosimetric pattern due to heterogenous contamination of tissue by alpha emitters. The detailed offer can be found at www.abg.asso.fr (Ref: ABG-32934).
This work will be interdisciplinary, involving biologists, chemists and physicists from the institute.
The position is available from 1 May, 2009. Feel free to forward this announcement to whoever might be interested.
You can contact aurelie.desbree@irsn.fr and david.broggio@irsn.fr to have more details about the position.
Best Regards,
   Aurélie Desbrée

Question 2) Modified-How to retrieve Physics Interaction undergone by a particle  by Abigail <Abigail>,   03 Mar, 2009
Good day,,

While waiting for the reply what I did as another solution is this:

...................

// check particle
  G4ParticleDefinition * particleType = track->GetDefinition();
  const G4VProcess * creatorProcess = track->GetCreatorProcess();

  G4String pName = particleType->GetParticleName();
  G4String pPhyInt = creatorProcess->GetProcessName();

   if(thePrePVname="water") 

  { 
     analMan->FillWithEnergy_perDepthx(x,edep);

     G4cout<<thePrePVname<<"  "<<x<<"  "<<pName<<"     "<<pid<<" "<<pPhyInt<<G4endl;

   }
........................

But the result is:
--------- Ranecu engine status ---------
 Initial seed (index) = 0
 Current couple of seeds = 9876, 54321
----------------------------------------
Start Run processing.

---> Begin of Event: 0 water -123.14864 e- 1 LowEnCompton water -123.13217 e- 1 LowEnCompton water -123.13823 e- 1 LowEnCompton water -123.13262 e- 1 LowEnCompton water -123.13626 e- 1 LowEnCompton water -123.1386 e- 1 LowEnCompton water -123.1437 e- 1 LowEnCompton water -13.674324 e- 1 LowEnCompton water -17.820113 e- 1 LowEnCompton Segmentation fault

I thought what I did was okey because an error did not occur after gmake But what I get was a Segmentation fault...

Again: Can I ask for help with this?

I again attached in this message the SteppingAction.cc

Thank you very much.

Again, Abby

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/03/03/22.14-39167-SteppingAction.cc

Question How to retrieve Physics Interaction undergone by a particle  by Abigail <Abigail>,   02 Mar, 2009
Hi I'm abby,

Can anybody help me with my problem?

I want to know what Physics interaction a certain particle experienced after interacting the Target material...

How would I retrieve that information in my Geant4 code???

Thanks a lot for paying attention to this query,,,

Hope someone can lend help,

Thanks,

Abby

None Re: How to retrieve Physics Interaction undergone by a particle  by Joseph Perl <Joseph Perl>,   02 Mar, 2009
Re: Question How to retrieve Physics Interaction undergone by a particle (Abigail)
If you want to do this from within C++ code, you can ask the track for its CreatorProcess

aTrack->GetCreatorProcess()

You can also get this information from some of the visualization drivers. You have to use "Rich Trajectories" rather than regular trajectories, where "Rich" means they include extra information such as this CreatorProcess.

To do this, instead of
 /vis/scene/add/trajectories
 use
 /vis/scene/add/trajectories rich

Then click on the track in the visualization system.

If you're using /vis/open HepRepFile, the data will be included in the visualization file, and you can get it displayed by setting the HepRApp browser to have mouse clicks "Pick Rectangle" and then just click and drag to make a rectangle that contains the relevant track.

Let me know if you need more detail

Question Re: How to retrieve Physics Interaction undergone by a particle  by Abigail <Abigail>,   03 Mar, 2009
Re: None Re: How to retrieve Physics Interaction undergone by a particle (Joseph Perl)
Good day,,

While waiting for the reply what I did as another solution is this:

...................

// check particle
  G4ParticleDefinition * particleType = track->GetDefinition();
  const G4VProcess * creatorProcess = track->GetCreatorProcess();

  G4String pName = particleType->GetParticleName();
  G4String pPhyInt = creatorProcess->GetProcessName();

   if(thePrePVname="water") 

  { 
     analMan->FillWithEnergy_perDepthx(x,edep);

     G4cout<<thePrePVname<<"  "<<x<<"  "<<pName<<"     "<<pid<<" "<<pPhyInt<<G4endl;

   }
........................

But the result is:
--------- Ranecu engine status ---------
 Initial seed (index) = 0
 Current couple of seeds = 9876, 54321
----------------------------------------
Start Run processing.

---> Begin of Event: 0 water -123.14864 e- 1 LowEnCompton water -123.13217 e- 1 LowEnCompton water -123.13823 e- 1 LowEnCompton water -123.13262 e- 1 LowEnCompton water -123.13626 e- 1 LowEnCompton water -123.1386 e- 1 LowEnCompton water -123.1437 e- 1 LowEnCompton water -13.674324 e- 1 LowEnCompton water -17.820113 e- 1 LowEnCompton Segmentation fault

I thought what I did was okey because an error did not occur after gmake But what I get was a Segmentation fault...

Again: Can I ask for help with this?

I again attached in this message the SteppingAction.cc

Thank you very much.

Again, Abby

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/03/03/04.28-6099-SteppingAction.cc

None Re: How to retrieve Physics Interaction undergone by a particle  by Paul Nicholas Colin Gloster <Paul Nicholas Colin Gloster>,   05 Mar, 2009
Re: Question Re: How to retrieve Physics Interaction undergone by a particle (Abigail)
On Tue, 3 Mar 2009, Abigail wrote:

|------------------------------------------------------------------------|
|"[..]                                                                   |
|                                                                        |
|I thought what I did was okey because an error did not occur after gmake|
|But what I get was a Segmentation fault...                              |
|                                                                        |
|Again: Can I ask for help with this?                                    |
|                                                                        |
|[..]"                                                                   |
|------------------------------------------------------------------------|

Hello,

One of the earliest programmers realized from a similar experience
that most of the rest of his career would be spent debugging.

That gmake does not report an error is not a sufficient basis from
which to conclude that everything is okay. Most segmentation faults
can not be detected by gmake.

Try using a debugger to hopefully determine on which line of code the
program crashes.

Good luck,
Colin Paul
Question Re: How to retrieve Physics Interaction undergone by a particle  by Abigail <Abigail>,   08 Mar, 2009
Re: None Re: How to retrieve Physics Interaction undergone by a particle (Paul Nicholas Colin Gloster)
Ok sir.

Taking your suggestion sir...

The problem was on the use of the G4VProcess.

And here are the revision of the codes used.

Before,
//------------------------------------------------------------------
void SteppingAction::UserSteppingAction(const G4Step* aStep)
{
 ...

const G4Track* track = aStep->GetTrack();

...

  const G4VProcess * creatorProcess = track->GetCreatorProcess();
 G4String pPhyInt = creatorProcess->GetProcessName();
...

 if(thePrePVname="water")

  {
     analMan->FillWithEnergy_perDepthx(x,edep);

   G4cout<<thePrePVname<<"  "<<x/cm<<"  "<<pName<<"     "<<pid<<" "<<pPhyInt<<G4endl;
 }

//-----------------------------------------------------------------

But now through the help of the example from Geant4 that uses G4VProcess

//-------------------------------------------------------------------- from geant4.9.0.p02/examples/extended/medical/fanoCavity/src/SteppingAction.cc

copying the format on how G4VProcess was used and plug it in my codes: ................. void SteppingAction::UserSteppingAction(const G4Step* aStep) {

......
 G4String pPhyInt;
  G4StepPoint* point2 = aStep->GetPostStepPoint();
  const G4VProcess* process = point2->GetProcessDefinedStep();
  if (process) pPhyInt=process->GetProcessName();

.......

if(thePrePVname="water")

  {
G4cout<<thePrePVname<<"  "<<x/cm<<"  "<<"  "<<pid<<"  "<<pPhyInt<<G4endl;

   }

................................

and the output was:

--------- Ranecu engine status ---------
 Initial seed (index) = 0
 Current couple of seeds = 9876, 54321
----------------------------------------
Start Run processing.

---> Begin of Event: 0
water  -12.314864    1  LowEnergyIoni
water  -12.313217    1  LowEnergyIoni
water  -12.313823    1  LowEnergyIoni
water  -12.313262    1  LowEnergyIoni
water  -12.313626    1  LowEnergyIoni
water  -12.31386    1  LowEnergyIoni
water  -12.31437    1  LowEnergyIoni
water  -1.3674324    1  LowEnergyIoni
water  -1.7820113    1  LowEnergyIoni
water  -1.6210994    0  LowEnPhotoElec
water  -1.262653    1  LowEnergyIoni
water  -1.7599642    0  LowEnPhotoElec
water  -1.6988842    1  LowEnergyIoni
water  -1.6987129    1  LowEnergyIoni
water  -1.6986297    1  LowEnergyIoni
water  -1.5633853    0  LowEnPhotoElec
water  -1.4474685    1  LowEnergyIoni
water  -1.4473534    1  LowEnergyIoni
water  -7.1898844    1  LowEnergyIoni
water  -1.7980192    0  LowEnPhotoElec
water  -1.7165996    1  LowEnergyIoni
water  -1.7163617    1  LowEnergyIoni
water  -1.7163139    1  LowEnergyIoni
water  -1.0017933    0  LowEnPhotoElec
water  -0.99426511    1  LowEnergyIoni
water  -1.0955236    1  msc
water  -1.0922874    1  msc
water  -1.7671127    0  LowEnPhotoElec
water  -1.7653319    1  LowEnergyIoni
water  -0.60366375    1  LowEnergyIoni
water  -0.60370913    1  LowEnergyIoni
water  -0.6037125    1  LowEnergyIoni
Run terminated.
Run Summary
  Number of events processed : 10
  User=0.01s Real=0.02s Sys=0s

--------- Ranecu engine status ---------
 Initial seed (index) = 0
 Current couple of seeds = 1497531012, 1935730160
----------------------------------------

...................................... //--------------------------------------------------------

I think everything look ok sir.. (Is it???)

//--------------------------------------------------------

thanks for the concern sir.....

Abby....

None Re: How to retrieve Physics Interaction undergone by a particle  by Abigail <Abigail>,   03 Mar, 2009
Re: None Re: How to retrieve Physics Interaction undergone by a particle (Joseph Perl)
Thank you sir for the reply,

Can I raise another question sir...

I just want to know in detail to what virtual function or class does GetCreatorProcess() belong....

When I tried to input this like:

const G4Track* track = aStep->GetTrack();
  //const G4Track* track = aStep->GetCreatorProcess(); 
 // G4int idd = track->GetTrackID();
  G4int pid = track->GetParentID();
  const G4Track* track2 = aTrack->GetCreatorProcess(); 

Here's what I got:

Compiling SteppingAction.cc ... src/SteppingAction.cc: In member function `virtual void SteppingAction::UserSteppingAction(const G4Step*)': src/SteppingAction.cc:86: error: `aTrack' was not declared in this scope src/SteppingAction.cc:86: warning: unused variable 'track2' src/SteppingAction.cc:86: warning: unused variable ...

In addition I am using geant4.9.1 if ever you'll ask about it.

What do I have to check sir?

Thanks,

Abby

PS.

If ever you want to view the SteppingAction.cc I attached it in this message sir... Thanks again...

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/03/03/02.04-80172-SteppingAction.cc
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2009/03/03/02.04-17301-SteppingAction.cc

None Re: How to retrieve Physics Interaction undergone by a particle  by Joseph Perl <Joseph Perl>,   04 Mar, 2009
Re: None Re: How to retrieve Physics Interaction undergone by a particle (Abigail)
In the code you show, you try to use something called "aTrack" but you never define it. Did you mean to have "track" there?

To answer your specific question, to see what class is returned by GetCreatorProcess, look at G4Track.hh

http://www-geant4.kek.jp/lxr/source//track/include/G4Track.hh

const G4VProcess* GetCreatorProcess() const;

News New web site for exchanges around Geant4 medical applications  by Sebastien INCERTI <Sebastien INCERTI>,   03 Nov, 2008
Dear Users and Developers of medical applications,

The low-energy EM Physics Geant4 group has recently taken the initiative to provide for a web site where medical physics developers and users of Geant4 can present their results, irrespective of whether they directly collaborate with the Geant4 group or not. The aim of this web page is to facilitate the exchange of information within the medical Geant4 community and also to bring open issues to the attention of the Collaboration. The web page is designed to address applications/issues by topic, and its preliminary form can be found at:

http://geant4loweworkinggroup.wikispaces.com/Medical+Physics

This is a preliminary web site that will be moved soon to a more adequate location.

The topics encompass the entire spectrum of physics relevant to medicine, and are therefore supported by the Low-Energy group, the Standard EM group and the Hadronic Physics groups of Geant4.

We would be very grateful if you would like to share your results with us so that we can present them in this page. We would also be happy to receive any comments and suggestions you may have for this site.

Please, note that direct links to the "medical" talks presented at the last Geant4 collaboration workshop in Kobe are provided.

Christina Zacharatou, Sebastien Incerti,

for the LowE EM working group

Question Perspex material definition  by Suhaili Zakaria <Suhaili Zakaria>,   07 Oct, 2008
Hello,

I need to include perspex in my simulation. Does anyone has its composition?

Many thanks, S

Feedback Re: Perspex material definition  by Christina Zacharatou <Christina Zacharatou>,   07 Oct, 2008
Re: Question Perspex material definition (Suhaili Zakaria)
Hi,

You could use this definition from NIST:

http://physics.nist.gov/cgi-bin/Star/compos.pl?matno=223

Christina

None Re: Perspex material definition  by Joseph Perl <Joseph Perl>,   09 Oct, 2008
Re: Feedback Re: Perspex material definition (Christina Zacharatou)
Also, this material is pre-defined in the Geant4 NIST database, so you can invoke it directly:
 G4NistManager* man = G4NistManager::Instance();
 man->FindOrBuildMaterial("G4_PLEXIGLASS");

For the complete list, see the NIST Compounds section of the Geant4 Application Developers Guide: http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/apas08.html#sect.G4MatrDb.NISTCmp

Question how to setup an x-ray CT scanner system?  by Weixing Cai <Weixing Cai>,   11 Jul, 2008
I am thinking about to setup an x-ray CT scanner system and wondering which example I should start with. The system includes a thermo x-ray tube and a scintillator detector as the major parts.

Thanks!

Feedback Re: how to setup an x-ray CT scanner system?  by Christina Zacharatou <Christina Zacharatou>,   21 Sep, 2008
Re: Question how to setup an x-ray CT scanner system? (Weixing Cai)
Hello,

As far as I know, the G4 distribution does not include a CT example, but I would suggest that you consult the following link:

http://indico.cern.ch/getFile.py/access?contribId=18&sessionId=3&resId=1&materialId=slides&confId=10311

Best regards Christina

On Fri, 11 Jul 2008 17:13:01 GMT, Weixing Cai wrote:

> I am thinking about to setup an x-ray CT scanner system and wondering
> which example I should start with. The system includes a thermo x-ray
> tube and a scintillator detector as the major parts.
> 
> Thanks!
> 

Question Phase contrast in Geant?  by Lucas Clemente <Lucas Clemente>,   01 Jul, 2008
Hello,

Currently, I am thinking about doing some phase contrast simulations for medical appliances with Geant4. The problem is that one would probably need some kind of wave-calculations here. Has anyone ever dealt with phase contrast and Geant4?

Greetings, Lucas

Question Problems when using Geant4-DNA, urgent help needed  by Baiyu Chen <Baiyu Chen>,   08 Jun, 2008
Hi all,

I am a senior student who are recently working on my diploma thesis. I want to look into the application of MC methods to Microdosimetry, so i choose Geant4-DNA. However, i do have problem when using this new package. So it would be really nice if anyone in this forum has such experience and helps me. Thank you very much!

My simulation case is very simple: A 3 MeV alpha particle hits straight on the CENBG's cell phantom model along Z-axis. Since i only want to know the track of the particles, i collect the name of the particles and their positions in each step.

First, i try to use an ordinary G4physicslist, including particle definitions and EMprocess. And the outcome is OK, except for the information is limited.

Then in the second stage, i change the G4physicsList in to a G4-DNA one, including many new header files and so on. Then problems appear! It seems that all the paticles only MOVE in 2 dimensions! the y-position of alpha is always zero!

I really can't figure out why this happens. x and y axis are equally treated in my input file, so why alpha particle only move in XOZ plane? Can anybody help me? My inputfiles can be found at: http://vspace.tsinghua.edu.cn/personaldata/2004011686/Geant4-DNA/microdosimetry.rar

And i have another question. The Energy deposited in most steps is zero. Does that make sense?

None Re: Problems when using Geant4-DNA, urgent help needed  by Sebastien INCERTI <Sebastien INCERTI>,   11 Jun, 2008
Re: Question Problems when using Geant4-DNA, urgent help needed (Baiyu Chen)
Dear Baiyu,

I have checked your application code which works perfectly fine. Your work shows that there is a bug in the existing G4FinalStateIonisationRudd class. I have sent you a corrected version of this class. The class will be corrected.

Thank you agin very much for your help, Best regards, Sebastien

None Re: Problems when using Geant4-DNA, urgent help needed  by Sebastien INCERTI <Sebastien INCERTI>,   09 Jun, 2008
Re: Question Problems when using Geant4-DNA, urgent help needed (Baiyu Chen)
Sorry but I can not download your file from the link you give. Do you have another link ? Thank you S. Incerti

None Re: Problems when using Geant4-DNA, urgent help needed  by Sebastien INCERTI <Sebastien INCERTI>,   09 Jun, 2008
Re: Question Problems when using Geant4-DNA, urgent help needed (Baiyu Chen)
Dear user, Let me investigate your problem (I'm away from CENBG for 2 days), I will get back to you soon. Thank you for your understanding, Best regards, S. Incerti

Question How to add a metallic insert into a simple water phantom?  Keywords: medlinac, phantom, metallic plate
by Carlo Nicolini <nicolini.carlo@gmail.com>,   31 May, 2008

Hi all G4Users.

I'm using the advanced example MedLinac and I want to simulate the effect of a metallic plate in the dose distribution in a water phantom.

Does a simple method exists? How can I add that metallic plate into the phantom without intersecating volumes?

In the first part I want to simulate the effect of air inhomogeneities in this homogeneous water phantom.

How can I remove a part of the box that defines the phantom?

Thank you all.

Carlo Nicolini

None Re: How to add a metallic insert into a simple water phantom?  Keywords: medlinac, phantom, metallic plate
by Joseph Perl <Joseph Perl>,   31 May, 2008
Re: Question How to add a metallic insert into a simple water phantom? (Carlo Nicolini)

Hi Carlo,

In Geant4, this sort of operation is very simple (assuming the metallic plate is entirely contained within the water phantom).

You simply add the plate as a new volume that has, as it's mother, the water phantom volume.

Daughter volumes are automatically "subtracted" from the mother volume.

Is this what you meant?

Question Hi CENBG, where can i get the model of high resolution cell phantom  Keywords: High resolution cellular phantom
by Baiyu Chen <Baiyu Chen>,   29 May, 2008

Hi, I am a now a senior student who are working for diploma thesis. I want to discover the application of MC methods in microdosimetry, and then i find your paper which combines Geant4-DNA and high resolution cell phantom in microdosemitry. I am very interested in that phantom. Is that model available online? If yes, where is the website?

Thank you for your help ^_^

None Re: Hi CENBG, where can i get the model of high resolution cell phantom  Keywords: High resolution cellular phantom
by Sebastien Incerti <incerti@cenbg.in2p3.fr>,   29 May, 2008
Re: Question Hi CENBG, where can i get the model of high resolution cell phantom (Baiyu Chen)

Dear Baiyu Chen,

You can find an example of cellular phantom in the Geant4 'microbeam' advanced example, which is available in recent Geant4 releases.

It is located in the following directory : $G4INSTALL/examples/advanced/microbeam

and the file is named 'phantom.dat'

The README file included in this directory and the microbeam.htm file (use an Internet browser to view this file) give you more information on the file content and format.

Thank you for your interest,

Best regards, S. Incerti

None Re: Hi CENBG, where can i get the model of high resolution cell phantom  Keywords: High resolution cellular phantom
by Baiyu Chen <Baiyu Chen>,   30 May, 2008
Re: None Re: Hi CENBG, where can i get the model of high resolution cell phantom (Sebastien Incerti)

Hi!I have found those files. Not only the phantom.dat, but also the whole project file help me a lot in understanding Geant4-DNA.

Thank you so much!

Question med. linac - output  Keywords: medical linac, output
by <ivkovic_ana@hotmail.com>,   29 May, 2008

Hi, 
After running medical linac example I did not get any output files.
 I can not reach what the problem might be. 
I would appreciate any help, any hint!
Thanks

Idea Re: med. linac - output  Keywords: medical linac, output
by G.A.P.Cirrone <G.A.P.Cirrone>,   29 May, 2008
Re: Question med. linac - output
Dear User,
as many GEANT4 examples, the generation of the output file is
managed by the AnalysisManager in which (in the Med_Linac case) an 
xml file should be generated (see line 67 of MedLinacAnanlysisManager.cc).
The infprmation contained in the xml file directly came 
from the PhantomSD file.

Firstly please check if the enviroment valiable
G4ANALYSIS_USE (setenv G4ANALYSIS_USE 1) is setted in your enviromen file.
If yes the file should be generated.

Once you are able to generate the .xml file, in the same way,
you can create .root or .hbook file.

Of course also simple ASCII file can be generated if you want. 
In this case you must insert the appropriate code lines 
in the code where you want to retrive the information.
 
Hoping this can help you
Pablo Cirrone
 
  
None Re: med. linac - output  Keywords: medical linac, output
by <ivkovic_ana@hotmail.com>,   03 Jun, 2008
Re: Idea Re: med. linac - output (G.A.P.Cirrone)

First of all, thank You for helping me.

Still, I have further problem. G4ANALYSIS_use is set and the following .xml file is generate. Here is it's containment:

< í&#366;ËŽÚ0&#341;}&#260;&#318;ƒë=$Î.K.tÔP+Í$&#344;&#282;&#327;"x&#340;"(1#úöun&#340;´) ?g3ÍlÎü-Ž&#340;>;&#731;&#317;&#65533;$&#260;>&#344;?¨oB@â`&#327;xí&#258;&#378;Ëyo4rÇ=ÁÝ-&#377;&#317;O"&#367;÷&#336;&#259;b 0 1X>.WÓ 7&#347;&#271;?F?ÖN&#366;&#65533;}-?&#356;4&#344;?S&#258;î&#368;&#313;f&#268;C˜&#313;ä&#336;§|b;[&#340;&#321;lFbŽ&#261;&#344;&#261;<-8&#340;[&#317;&>&#347;??| hEš&#328;Ý:Á . &#262;L| 9&2&#322;&#318;&#324;&#711;§<Ë&#728;M&#261;'?ç"&#65533;-&#367;&#314;&#258;UVÁ ŽU!H9 ?b&#377;'Rö&#355;&#321;&#281;qÍ&#283;?&#259;{"Éü&#367;&#356;SÄ &#321;âkî&#368;U?&#65533;&$&#341;&#367;&#270;&#367;i-&#357;?NžP"Lx~|Ó>`<&#327;&#317;á<(&#65533;°´X?ú&#347;Z-.˜cž>p&#324;Ö3.RüŠ<&#262;&#340;,Â<&i ž4 {?&#733;&#347;ˆš˜?{i?bé"buPÚC?&#379;AqM&#262;?&#728;'2CV?­S?ÝÉh/&#258;&#261;&ThT!&#731;6&#357;6&#347;ÎF{î5--&#728; W§ .&#322;&#323;&#354;&#262; ~ü-&#283;ü)*e t*&#317;.ä&#318;S&#258; E&#282;&#380;&#262;PIu9&#280;ƒ&#269;P'˜a&#263;0&#321;&#262;IT&#323;IT!Kc¤"&#262;¨&#321;q&#356;qó(&#350;h&#321; '&#313;1Ö?cÜáh&#377;CÜ\&#259;,&#350;ˆ&#258;R&#258;'&#378;PŽ,?&#258;&#323;&#350;F'ô0Šä´*mË &#733;&#368;|&#379; ?Ö&#258;¨&#347;&#346;&#351;&#336;a4??>0&#356;Óq&#263;&#346;Ý4&#346;*:)3¤i&#344;:i&#344;&#356;h8&#356;&#258;¨&#728;&#356;*D?&#321;?Óá¸?&#368;8&#346;*â°Tq´úM?-Ž&#262;&#729;&#355;&#355;G^&#355;&#377;&#380;x&#324;Aš3b

I think it is unreadable or (maybe) I should create an .hbook or .root file, but I don't know how to. Thank You!

 Ana Ivkovic

None Re: med. linac - output  Keywords: medical linac, output
by G.A.P.Cirrone <G.A.P.Cirrone>,   03 Jun, 2008
Re: None Re: med. linac - output
Dear Ana,

an xml file cannot be open with a text editor.

If you want use the AIDA interface, I can suggest you to create 
a more standard .root file, for example.

To do this you shoud insert in your code: 

G4String fileName = MedicalLinac.root";
std:: string opts = "export=root";
theTree = treeFact -> create(rootFileName, "ROOT", false, true, opts);

If you do not want use AIDA, but still want a .root file, keep 
in mind that this is possible including the ROOT libraries
inside your code.

Also keep in mind that is at any time possible to generate simple 
ASCII files using the standard c libraries, at any place in your code.

Let me know if now things are more clear for you,

Pablo Cirrone
None Re: med. linac - output  Keywords: medical linac, output
by michel maire <michel maire>,   03 Jun, 2008
Re: None Re: med. linac - output (G.A.P.Cirrone)

User G.A.P.Cirrone wrote:

>> 
>> Also keep in mind that is at any time possible to generate simple 
>> ASCII files using the standard c libraries, at any place in your code.

 An example for printing ascii file of *existing* aida 1D histos can be
 found in examples/extended/electromagnetic/TestEm1
 See the function HistoManager::saveAscii()

 I hope this can help,   Michel

Question Is any thing wrong with my secondary electron collection?  by <jfgao@mdanderson.org>,   08 Apr, 2008

Dear G4 Developers: I followed some anwsers from the website and came out a couple of lines to collect secondary electrons in my sensitive detector. But I got nothing. Any body can help me check with what is wrong with it? Thank you in advance!

 G4bool HadrontherapyPhantomSD::ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist)
{
  if(!ROhist)
    return false;    
............

      G4Track*  aTrack = aStep->GetTrack();  
      if (aTrack->GetDefinition() == G4Electron::Electron()) 
	  {  
      	  G4double	energy = aTrack->GetKineticEnergy();
	        	energy = energy/eV;
       	  G4int         nElectron= aStep->GetSecondary();
	  printf(" NofE,KE==",nElectron,energy);	
          }
.........

} Gao

Feedback Re: Is any thing wrong with my secondary electron collection?  by Pedro Arce <Pedro Arce>,   11 Apr, 2008
Re: Question Is any thing wrong with my secondary electron collection?

Hi,

From your output in the previous message, I see only "msc" (multiple scattering) process, where no secondary is produced. To print the number of secondaries produced at each step you may run with '/tracking/verbose 2'

To get the copy number in the mass geometry you can use

aStep->GetTrack()->GetVolume()->GetCopyNo()

while for the parallel geometry you can use

 aStep->GetPreStepPoint()->GetPhysicalVolume()->GetCopyNo()

Pedro

Question Brachy gmake  by Brachy Problem <formatwindows@hotmail.com>,   03 Apr, 2008

Hello

When I run gmake for the advanced > Brachytherapy example, I get the following error message:

[root@localhost brachytherapy]# gmake Compiling BrachyAnalysisManager.cc ... src/BrachyAnalysisManager.cc: In constructor `BrachyAnalysisManager::BrachyAnaly sisManager()': src/BrachyAnalysisManager.cc:63: error: `((BrachyAnalysisManager*)this)->BrachyA nalysisManager::theTree' cannot be used as a function

gmake: *** [/home/local1/geant4/work/tmp/Linux-g++/Brachy/BrachyAnalysisManager. o] Error 1
[root@localhost brachytherapy]#

The environment has been preset to: On this machine the G4ANALYSIS_USE=1

I'm not sure what is causing this problem ? Has anyone previously encountered this problem or have a remote clue as to what might possibly be the cause, or what may remedy this issue.

Any help appreciated. Thanks !

Idea Re: Brachy gmake  by G.A.P.Cirrone <G.A.P.Cirrone>,   30 May, 2008
Re: Question Brachy gmake (Brachy Problem)
Dear user,
thank you for report this error.
Please in the AnalysisManager.cc 

SUBSTITUTE

BrachyAnalysisManager::BrachyAnalysisManager()
{
#ifdef G4ANALYSIS_USE
  aFact = 0;
  theTree(0); 
  histFact = 0;
  tupFact = 0; 
  h1 = 0; 
  h2 = 0; 
  ntuple = 0;

aFact = AIDA_createAnalysisFactory();
AIDA::ITreeFactory *treeFact = aFact -> createTreeFactory(); 
.
.
.
.
.
}

WITH:
BrachyAnalysisManager::BrachyAnalysisManager():
  aFact(0), theTree(0), histFact(0), tupFact(0), h1(0),
  h2(0), ntuple(0)
{
aFact = AIDA_createAnalysisFactory();
AIDA::ITreeFactory *treeFact = aFact -> createTreeFactory(); 
.
.
.
.
}

The error will corrected in the next release, 
in the meantime please, report us if things work fine.

Thank you 
Pablo Cirrone
(For the Catania Geant4 group)
Question Get the the Number of secondary electron?  by <jfgao@mdanderson.org>,   02 Apr, 2008
Dear G4 Developers:
Is there any easy way to get the number of secondary electrons from
Sensitive detector for a definite copyNumber? 

Like in ProcessHits(...), 

  G4double energyDeposit = aStep -> GetTotalEnergyDeposit();

I have worked in ExN07 for a while. It is too complicated to figure out
how to GetNElectron in my Sensitive detector. My applicaiton is based
on the Hadrontherapy example.
thank you!
Gao
None Re: Get the the Number of secondary electron?  by <jfgao@mdanderson.org>,   03 Apr, 2008
Re: Question Get the the Number of secondary electron?
I inserted those lines into my HadrontherapyPhantomSD.cc. In the 
compilation, following error came out. 

-------------------------------- 
HadrontherapyPhantomSD::ProcessHits(G4Step*, G4TouchableHistory*)':
src/HadrontherapyPhantomSD.cc:127: no matching function for call to `G4Step::
   GetSecondary()'
--------------------------------
I checked with SoftWare Reference and I didn't found the public member
function GetSecondary(). Is there any other way to get the secondary 
electrons from G4Step?

thank you!
Feedback Re: Get the the Number of secondary electron?  by Pedro Arce <Pedro Arce>,   04 Apr, 2008
Re: None Re: Get the the Number of secondary electron?

Which version of GEANT4 are you using? This method only appeared in geant4.8.2

Before that version you can do something like

G4TrackVector* trkList = G4EventManager::GetEventManager()->GetTrackingManager()->GimmeSecondaries();

but that will give you all the secondaries of the track (so you have to look step by step and check when it increases)

Question Re: Get the the Number of secondary electron?  by <jfgao@mdanderson.org>,   04 Apr, 2008
Re: Feedback Re: Get the the Number of secondary electron? (Pedro Arce)
I can run it in the Geant4 9.1 version now as following:

   //for scoring secondary electron number..................
   G4int id = aStep->GetTrack()->GetVolume()->GetCopyNo(); 
   std::map<G4int,G4int> nElec; 
   G4TrackVector* trkList = aStep->GetSecondary();
   G4TrackVector::const_iterator ite;
   for( ite = trkList->begin(); ite != trkList->end(); ite++)
   {
   if( (*ite)->GetDefinition() == G4Electron::Electron()) nElec[id]++;
   }

   G4cout<<"0,id,nElec====="<<G4ThreeVector(0,id,nElec[id])<<G4endl; 
   //for scoring secondary electron number..................

 But nElec is always 0 in the output as following:

  *********************************************************************************************************
* G4Track Information:   Particle = e-,   Track ID = 2,   Parent ID = 1
*********************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
    0 -4.04e-05 -1.95e-06 -4.05e-06   0.00118        0        0         0     NanoPhy initStep
    1 -3.9e-05 -7.5e-07 -3.48e-06  0.000974 0.000201 2.33e-06  2.33e-06     NanoPhy msc
0,id,nElec=====(0,0,0)
    2 -3.99e-05 8.14e-07 -2.96e-06  0.000971 2.49e-06 2.33e-06  4.67e-06     NanoPhy msc
0,id,nElec=====(0,0,0)
    3 -3.93e-05 2.59e-06 -3.2e-06  0.000789 0.000182 2.33e-06     7e-06     NanoPhy msc
0,id,nElec=====(0,0,0)

So I think "id" still didn't get the right copyNumber which was 
parameterized in my HadrontherapyPhantomROG.cc. How can I get the right 
copyNumber in Readout Geometry?
thank you!  
Feedback Re: Get the the Number of secondary electron?  by Pedro Arce <Pedro Arce>,   03 Apr, 2008
Re: Question Get the the Number of secondary electron?

From the G4Step pointer in ProcessHits() you can get the volume copy number. Then you can loop throug the list of secondary particles created and store the number of electrons by volume id. The following code may do:

#include "G4Step.hh" 
#include "G4Track.hh" 
#include "G4Electron.hh" 
#include "G4VPhysicalVolume.hh"
#include <map>

G4int id = aStep->GetTrack()->GetVolume()->GetCopyNo();

std::map<G4int,G4int> nElec;

G4TrackVector* trkList = aStep->GetSecondary();
G4TrackVector::const_iterator ite;
for( ite = trkList->begin(); ite != trkList->end(); ite++)
{
  if( (*ite)->GetDefinition() == G4Electron::Electron()) nElec[id]++;
}

None Any example of using G4 DNA process?  by <jfgao@mdanderson.org>,   21 Mar, 2008
Hi, Maria:
Do you have any example of using G4 DNA process? I just checked with 
our updated Geant4.9.1 version in our instition. I already looked through
your IEEE publication. I don't know how to include G4 DNA process into Hadrontherapy example? 
thank you!
Gao
None Re: Any example of using G4 DNA process?  by Maria Grazia Pia <Maria Grazia Pia>,   23 Mar, 2008
Re: None Any example of using G4 DNA process?
Hi Gao,

Sorry for my delayed provision of the example I promised you: 
for the last few days I have been busy at developing new Geant4 
microdosimetry processes indeed!

An example of PhysicsList implementation involving Geant4-DNA processes 
is enclosed below. 

I am not sure whether the hadrontherapy example environment would be the most
appropriate to exercise it at the present stage. In fact, the microdosimetry
(Geant4-DNA) processes are all discrete processes, while the complex mass 
model of the hadrontherapy example currently requires conventional 
continuous-discrete processes - namely ionisation for electrons, 
protons and ions - to describe the interaction of primary and secondary
particles in the various materials present in the set-up. The collaboration of
continuous-discrete and purely discrete ionisation in the same simulation 
environment implies significant design issues, that are currently 
under study; exercising both continuous-discrete and discrete ionisation
in the current hadrontherapy set-up is prone to produce incorrect 
results while an appropriate design solution is still under investigation.
It may be worthwhile stressing that the design issues concerned
are at the level of Geant4 kernel, not just user application ones. 

Therefore, if you wish to exercise the microdosimetry (Geant4-DNA) 
processes at the present stage, I suggest you to do so in a simple 
experimental configuration distinct from the complexity of a hadrontherapy 
beam line configuration, where you can focus on studying
microdosimetry effects only and do not need to deal with the issue of
continuous-discrete ionisation at the same time. This two-stage approach
would anyway be advised due to the CPU-intensive requirements of 
microdosimetry simulation, as Dr. Incerti pointed out in his previous posting.

If you need indeed to expose your nanosphere microdosimetry set-up to the radiation 
environment resulting from a complex hadrontherapy beam line configuration, 
I would rather suggest you to produce a so-called "phase-space generator" 
as a primary event generator for your microdosimetry simulation. 
You can easily develop a phase-space generator from the current hadrontherapy example, 
if you need it: for instance, by storing in a file the impact coordinates 
and four-momenta of all the particles reaching the boundary of your microdosimetry 
set-up in a first stage of the simulation, and using this result of the first 
simulation stage as an input to a primary event generator in a second 
simulation stage, that would shoot particles into your microdosimetry 
set-up based on the phase-space distribution of the first stage.

I also remind you that the current Geant4-DNA processes concern only particle
interactions in liquid water. Models for other materials are currently
under development  - for instance, I terminated just yesterday the development 
of a set of new models for 13 other materials, that will go into next 
Geant4 release; nevertheless, due to the complexity of physics modelling
at such low energies, it would realistically take quite some time before
Geant4 could provide microdosimetry simulation capabilities for all 
the materials encountered in complex mass models. Specialized simulation
set-ups are advised while still in the early phases of development in
this physics domain.

Hope it helps.

Happy Easter!

Maria Grazia

---- Example of PhysicsList implementation involving microdosimetry processes ----
Please beware that this is just an example to provide guidance for usage: 
not necessarily a solution for any applications!

//
// ********************************************************************
// * License and Disclaimer                                           *
// *                                                                  *
// * The  Geant4 software  is  copyright of the Copyright Holders  of *
// * the Geant4 Collaboration.  It is provided  under  the terms  and *
// * conditions of the Geant4 Software License,  included in the file *
// * LICENSE and available at  http://cern.ch/geant4/license .  These *
// * include a list of copyright holders.                             *
// *                                                                  *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work  make  any representation or  warranty, express or implied, *
// * regarding  this  software system or assume any liability for its *
// * use.  Please see the license in the file  LICENSE  and URL above *
// * for the full disclaimer and the limitation of liability.         *
// *                                                                  *
// * This  code  implementation is the result of  the  scientific and *
// * technical work of the GEANT4 collaboration.                      *
// * By using,  copying,  modifying or  distributing the software (or *
// * any work based  on the software)  you  agree  to acknowledge its *
// * use  in  resulting  scientific  publications,  and indicate your *
// * acceptance of all terms of the Geant4 Software license.          *
// ********************************************************************
//
//
//
// ------------------------------------------------------------

#include "Tst20PhysicsList.hh"
#include "G4DNAGenericIonsManager.hh"

#include "Tst20PhysicsListMessenger.hh"

#include "G4ParticleDefinition.hh"
#include "G4ProductionCutsTable.hh"
#include "G4ProcessManager.hh"
#include "G4ParticleTypes.hh"
#include "G4ParticleTable.hh"
#include "G4ios.hh"

#include "G4LowEnergyCompton.hh"
#include "G4LowEnergyGammaConversion.hh"
#include "G4LowEnergyPhotoElectric.hh"
#include "G4LowEnergyRayleigh.hh"

// e+
#include "G4MultipleScattering.hh"
#include "G4eIonisation.hh"
#include "G4eBremsstrahlung.hh"
#include "G4eplusAnnihilation.hh"

#include "G4LowEnergyIonisation.hh"
#include "G4LowEnergyBremsstrahlung.hh"

#include "G4Decay.hh"

#include "G4FinalStateProduct.hh"
#include "G4DNAProcess.hh"

#include "G4CrossSectionExcitationEmfietzoglou.hh"
#include "G4FinalStateExcitationEmfietzoglou.hh"

#include "G4CrossSectionElasticScreenedRutherford.hh"
#include "G4FinalStateElasticScreenedRutherford.hh"
#include "G4FinalStateElasticBrennerZaider.hh"

#include "G4CrossSectionExcitationBorn.hh"
#include "G4FinalStateExcitationBorn.hh"

#include "G4CrossSectionIonisationBorn.hh"
#include "G4FinalStateIonisationBorn.hh"

#include "G4CrossSectionIonisationRudd.hh"
#include "G4FinalStateIonisationRudd.hh"

#include "G4CrossSectionExcitationMillerGreen.hh"
#include "G4FinalStateExcitationMillerGreen.hh"

#include "G4CrossSectionChargeDecrease.hh"
#include "G4FinalStateChargeDecrease.hh"

#include "G4CrossSectionChargeIncrease.hh"
#include "G4FinalStateChargeIncrease.hh"

#include "G4CrossSectionKill.hh"
#include "G4FinalStateKill.hh"

// Processes

typedef G4DNAProcess<G4CrossSectionElasticScreenedRutherford,G4FinalStateElasticScreenedRutherford> ElasticScreenedRutherford;
typedef G4DNAProcess<G4CrossSectionElasticScreenedRutherford,G4FinalStateElasticBrennerZaider> ElasticBrennerZaider;
typedef G4DNAProcess<G4CrossSectionExcitationEmfietzoglou,G4FinalStateExcitationEmfietzoglou> ExcitationEmfietzoglou;
typedef G4DNAProcess<G4CrossSectionExcitationBorn,G4FinalStateExcitationBorn> ExcitationBorn;
typedef G4DNAProcess<G4CrossSectionIonisationBorn,G4FinalStateIonisationBorn> IonisationBorn;
typedef G4DNAProcess<G4CrossSectionIonisationRudd,G4FinalStateIonisationRudd> IonisationRudd;
typedef G4DNAProcess<G4CrossSectionExcitationMillerGreen,G4FinalStateExcitationMillerGreen> ExcitationMillerGreen;
typedef G4DNAProcess<G4CrossSectionChargeDecrease,G4FinalStateChargeDecrease> ChargeDecrease;
typedef G4DNAProcess<G4CrossSectionChargeIncrease,G4FinalStateChargeIncrease> ChargeIncrease;
typedef G4DNAProcess<G4CrossSectionKill,G4FinalStateKill> KillBelowThreshold;


Tst20PhysicsList::Tst20PhysicsList(): G4VUserPhysicsList()
{
  defaultCutValue = 1000. * nanometer;
  cutForGamma     = defaultCutValue;
  cutForElectron  = defaultCutValue;
  cutForPositron  = defaultCutValue;
  cutForProton    = defaultCutValue;
  // SetVerboseLevel(1);
  physicsListMessenger = new Tst20PhysicsListMessenger(this);
}


Tst20PhysicsList::~Tst20PhysicsList()
{
  delete physicsListMessenger;
}


void Tst20PhysicsList::ConstructParticle()
{
  // In this method, static member functions should be called
  // for all particles which you want to use.
  // This ensures that objects of these particle types will be
  // created in the program. 

  ConstructBosons();
  ConstructLeptons();
  ConstructBarions();
}


void Tst20PhysicsList::ConstructBosons()
{
  
  // gamma
  G4Gamma::GammaDefinition();
  
}

void Tst20PhysicsList::ConstructLeptons()
{
  // leptons
  G4Electron::ElectronDefinition();
  G4Positron::PositronDefinition();
}


void Tst20PhysicsList::ConstructBarions()
{
  //  baryons
  G4Proton::ProtonDefinition();
  G4AntiProton::AntiProtonDefinition();

  // Geant4-DNA

  G4DNAGenericIonsManager* genericIonsManager;
  genericIonsManager = G4DNAGenericIonsManager::Instance();
  genericIonsManager->GetIon("alpha++");
  genericIonsManager->GetIon("alpha+");
  genericIonsManager->GetIon("helium");
  genericIonsManager->GetIon("hydrogen");
}


void Tst20PhysicsList::ConstructProcess()
{
  AddTransportation();
  ConstructEM();
  ConstructGeneral();
}


void Tst20PhysicsList::ConstructEM()
{
  theParticleIterator->reset();

  while( (*theParticleIterator)() )
    {
      G4ParticleDefinition* particle = theParticleIterator->value();
      G4ProcessManager* processManager = particle->GetProcessManager();
      G4String particleName = particle->GetParticleName();
      
      if (particleName == "gamma") 
	{
	  processManager->AddDiscreteProcess(new G4LowEnergyCompton);
	  processManager->AddDiscreteProcess(new G4LowEnergyGammaConversion);
	  processManager->AddDiscreteProcess(new G4LowEnergyPhotoElectric);	
	  processManager->AddDiscreteProcess(new G4LowEnergyRayleigh);	  
	} 
      else if (particleName == "e-") 
	{
	  // DNA
	  processManager->AddDiscreteProcess(new ExcitationEmfietzoglou);
	  processManager->AddDiscreteProcess(new ElasticScreenedRutherford);
	  processManager->AddDiscreteProcess(new ElasticBrennerZaider);
	  processManager->AddDiscreteProcess(new IonisationBorn);
	  processManager->AddDiscreteProcess(new IonisationBorn);
	  processManager->AddDiscreteProcess(new KillBelowThreshold);
	}
      else if (particleName == "e+") 
	{
	  processManager->AddProcess(new G4MultipleScattering,-1, 1,1);
	  processManager->AddProcess(new G4eIonisation,      -1, 2,2);
	  processManager->AddProcess(new G4eBremsstrahlung,   -1,-1,3);
	  processManager->AddProcess(new G4eplusAnnihilation,  0,-1,4);	
	} 
      else if (particleName == "proton") 
	{
	  processManager->AddDiscreteProcess(new ExcitationMillerGreen);
	  processManager->AddDiscreteProcess(new ExcitationBorn);
	  processManager->AddDiscreteProcess(new IonisationRudd);
	  processManager->AddDiscreteProcess(new IonisationBorn);
	  processManager->AddDiscreteProcess(new ChargeDecrease);
	} 
      else if (particleName == "hydrogen") 
	{
	  processManager->AddDiscreteProcess(new IonisationRudd);
	  processManager->AddDiscreteProcess(new ChargeIncrease);
	} 
      else if (particleName == "alpha") 
	{
	  processManager->AddDiscreteProcess(new ExcitationMillerGreen);
	  processManager->AddDiscreteProcess(new IonisationRudd);
	  processManager->AddDiscreteProcess(new ChargeDecrease);   
	} 
      else if (particleName == "alpha+") 
	{
	  processManager->AddDiscreteProcess(new ExcitationMillerGreen);
	  processManager->AddDiscreteProcess(new IonisationRudd);
	  processManager->AddDiscreteProcess(new ChargeDecrease);
	  processManager->AddDiscreteProcess(new ChargeIncrease);    
	} 
      else if (particleName == "helium") 
	{
	  processManager->AddDiscreteProcess(new ExcitationMillerGreen);
	  processManager->AddDiscreteProcess(new IonisationRudd);
	  processManager->AddDiscreteProcess(new ChargeIncrease);
	}
    }
}

void Tst20PhysicsList::ConstructGeneral()
{
  // Add Decay Process
  G4Decay* theDecayProcess = new G4Decay();
  theParticleIterator->reset();
  while( (*theParticleIterator)() )
    {
      G4ParticleDefinition* particle = theParticleIterator->value();
      G4ProcessManager* processManager = particle->GetProcessManager();
      if (theDecayProcess->IsApplicable(*particle)) 
	{ 
	  processManager ->AddProcess(theDecayProcess);
	  // set ordering for PostStepDoIt and AtRestDoIt
	  processManager ->SetProcessOrdering(theDecayProcess, idxPostStep);
	  processManager ->SetProcessOrdering(theDecayProcess, idxAtRest);
	}
    }
}


void Tst20PhysicsList::SetCuts()
{
  if (verboseLevel >0)
  {
    G4cout << "PhysicsList::SetCuts:";
    G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl;
  }  
  
  // set cut values for gamma at first and for e- second and next for e+,
  // because some processes for e+/e- need cut values for gamma 
  SetCutValue(cutForGamma, "gamma");
  SetCutValue(cutForElectron, "e-");
  SetCutValue(cutForPositron, "e+");
  
  // set cut values for proton and anti_proton before all other hadrons
  // because some processes for hadrons need cut values for proton/anti_proton 
  SetCutValue(cutForProton, "proton");
  SetCutValue(cutForProton, "anti_proton");
  
  if (verboseLevel>0) DumpCutValuesTable();
}






None Thank you so much!  by <jfgao@mdanderson.org>,   23 Mar, 2008
Re: None Re: Any example of using G4 DNA process? (Maria Grazia Pia)

Dear Maria:

thank you so much! I will follow your suggestion to build up some very simple case of monoenergy proton beams to iriadiate some simple materials in microdosemetry level. My first stage simulation won't use all setup of hadrontherapy example. Happy Ester day to you! thank you again for your example!

Gao

None Re: Thank you so much!  by Maria Grazia Pia <Maria Grazia Pia>,   23 Mar, 2008
Re: None Thank you so much!

Hi Gao,

don't hesitate to contact us if you need further information or help.

And your feedback would be helpful: microdosimetry is still a pioneering domain in Geant4, therefore the experience (and requirements) of new users significantly contribute to its improvement and further development.

Best wishes,

Maria Grazia

Question Re: Thank you so much!  by <jfgao@mdanderson.org>,   28 Mar, 2008
Re: None Re: Thank you so much! (Maria Grazia Pia)

Hi, Maria: Our department cluster is just updated in Geant4.9.1 version. I am still working on the proton shoot a gold 100 nanometer sphere. So in your 13 materias model, do you have gold model? Other question is that if I can change "Boundary/stepping algorithm is active with facrange= 0.02" to small number (like 0.01). Thank you ! Have a good weekend!

None Re: Any example of using G4 DNA process?  by <incerti@cenbg.in2p3.fr>,   22 Mar, 2008
Re: None Any example of using G4 DNA process?
Dear Gao,

Thank you very much for your interest in the G4 DNA processes.

You can find a full description of a Physics List that uses these  
processes in the Geant4 User's Guide for Application Developers,  
section :
5.2.1.3.  Very Low energy Electromagnetic Processes (Geant4 DNA extension)

Here is the link :
http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/ch05s02.html#sect.PhysProc.EleMag

Note that these processes are only valid for liquid water material and  
only for e-, p, H, He, He++ and He++ ions.

I'm not sure they can be applied directy to the hadrontherapy example,  
Pablo Cirrone will guide you on this. Also, computing times are quite  
high, don't be surprised.

We expect to deliver soon an example showing how to use these processes.

If you encounter difficulties, I'll be happy to give some assistance.

Best regards,
Sebastien Incerti
CENBG / IN2P3 / CNRS / Bordeaux 1 University

jfgao@mdanderson.org a écrit :

> *** Discussion title: Medical Applications
> Email replies to medical_app-g4hn@slac.stanford.edu must include:
>   In-Reply-To: <"/medical_app/168"@geant4-hn.slac.stanford.edu>
>   Subject: ...change this to be about your reply.
>
> Hi, Maria:
> Do you have any example of using G4 DNA process? I just checked with
> our updated Geant4.9.1 version in our instition. I already looked through
> your IEEE publication. I don't know how to include G4 DNA process   
> into Hadrontherapy example?
> thank you!
> Gao
>





Question about step limitation in Hadrontherapy   by <jfgao@mdanderson.org>,   11 Mar, 2008
Dear G4 Developers:
I try to simulate protons irridiating a nanometer scale sphere ( diameter 
40 nm). In the visulation, I can see the protons and secondary electrons
going around the nanosphere. But when I collect the energy depositted in
my 40 spherical sensititive detectors (  ridius range from 0-80 nm),
there is always two high peaks around the surface even the materials 
incide and outside nanometer sphere are same. Then I check the tracking 
information and I found the proton info is resonable as following several
steps,
   
 *********************************************************************************************************
* G4Track Information:   Particle = proton,   Track ID = 1,   Parent ID = 0
*********************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
    0   -4e-05 -2.74e-06 1.19e-05      2.53        0        0         0 PhantomNPhys initStep
    1 -2.62e-05 -2.75e-06 1.19e-05      2.53  1.2e-05 1.38e-05  1.38e-05 PhantomNPhys msc
    2 -1.59e-05 -2.75e-06 1.19e-05      2.53 2.03e-05 1.03e-05  2.41e-05     NanoPhy Transportation
    3 -6.8e-06 -2.75e-06 1.19e-05      2.53 0.000109 9.07e-06  3.32e-05     NanoPhy msc
    4 2.26e-06 -2.75e-06 1.19e-05      2.53 3.05e-05 9.07e-06  4.23e-05     NanoPhy msc
    5 1.13e-05 -2.74e-06 1.19e-05      2.53        0 9.07e-06  5.13e-05     NanoPhy msc
    6 1.59e-05 -2.74e-06 1.19e-05      2.53 5.56e-05 4.54e-06  5.59e-05 PhantomNPhys Transportation
    7 0.000339 -3.2e-06  1.2e-05      2.52  0.00474 0.000323  0.000379 PhantomNPhys hLowEIoni
    8 0.000626 -3.61e-06 1.19e-05      2.51  0.00401 0.000287  0.000666 PhantomNPhys hLowEIoni 

But the secondary electrons step is inncorrect as following,

*********************************************************************************************************
* G4Track Information:   Particle = e-,   Track ID = 172,   Parent ID = 1
*********************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
    0    0.101 -0.00038  0.00363  0.000999        0        0         0 PhantomNPhys initStep
    1    0.101 -0.000368  0.00363         0 0.000999   0.0215    0.0215 PhantomNPhys msc
Track (trackID 172, parentID 1) is processed with stopping code 2
### pop requested out of 170 stacked tracks.

I noticed that the StepLeng is always 0.0215 mm. This is obviously outside nanosphere. 
Can you tell me how to setup steplimiter for secondary electrons? (I noticed others
have similar problem)
thank you!
  
None Re: about step limitation in Hadrontherapy   by Maria Grazia Pia <Maria Grazia Pia>,   11 Mar, 2008
Re: Question about step limitation in Hadrontherapy

Are you using the PhysicsList as distributed in the hadrontherapy example, with one of the modelling options it provides?

If so, your use case of particle transport at the nanometer scale is outside the scope of applicability of the physics models considered in that example. Concerning electrons, the lowenergy models should be reliably used down to 250 eV at most; you may still use them below this suggested threshold, but the accuracy of the simulation would be substantially degraded, due to the inadequate scheme of assumptions at the basis of condensed-random-walk Monte Carlo transport. Therefore, the simulation results you may obtain by limiting the stepping or lowering the secondary production threshold with respect to the setting in the hadrontherapy example should be considered with caution.

Geant4 models capable of dealing with micro- and nano-dosimetry simulation are under development; the first set, applicable to interactions in water, has been released in Geant4 9.1 (reference S. Chauvie et al., Geant4 physics processes for microdosimetry simulation: design foundation and implementation of the first set of models, IEEE Trans. Nucl. Sci., vol. 54, no. 6, pp. 2619-2628, Dec. 2007).

An example specific to the usage of these new processes is in preparation. Should you need any help at using them, if they are appropriate to your use case, please feel free to further contact us.

Best regards,

Maria Grazia Pia

None Re: about step limitation in Hadrontherapy   by <jfgao@mdanderson.org>,   11 Mar, 2008
Re: None Re: about step limitation in Hadrontherapy (Maria Grazia Pia)
Hi, Maria:
Yes! I just placed one small nanospherer into Phantom in the Hadrontheray
example. I wander what is going on about increasing secondary electron 
production. If you have a new developed example, please e-mail me. 
I also will loot at that literature in IEEE. 
thank you so much! 
None RE: about step limitation in Hadrontherapy   by Makoto Asai <Makoto Asai>,   11 Mar, 2008
Re: Question about step limitation in Hadrontherapy
Hi,

 This is done by two steps.

Firstly, register G4StepLimiter process to electron. 
 pmanager->AddDiscreteProcess(new G4StepLimiter);

Then, define G4UserLimit object to the logical volume
of your sphere.
 G4double maxStepLength = ...;
 logSphere->SetUsetLimits(new G4UserLimits(maxStepLength);

Hope this helps.
Makoto
  

> -----Original Message-----
> From: jfgao@mdanderson.org [mailto:jfgao@mdanderson.org] 
> Sent: Tuesday, March 11, 2008 9:30 AM
> To: medical_app-g4hn
> Subject: about step limitation in Hadrontherapy 
> 
> *** Discussion title: Medical Applications
> Email replies to medical_app-g4hn@slac.stanford.edu must include:
>   In-Reply-To: <"/medical_app/165"@geant4-hn.slac.stanford.edu>
>   Subject: ...change this to be about your reply.
> 
> Dear G4 Developers:
> I try to simulate protons irridiating a nanometer scale 
> sphere ( diameter 
> 40 nm). In the visulation, I can see the protons and 
> secondary electrons
> going around the nanosphere. But when I collect the energy 
> depositted in
> my 40 spherical sensititive detectors (  ridius range from 0-80 nm),
> there is always two high peaks around the surface even the materials 
> incide and outside nanometer sphere are same. Then I check 
> the tracking 
> information and I found the proton info is resonable as 
> following several
> steps,
>    
>  
> **************************************************************
> *******************************************
> * G4Track Information:   Particle = proton,   Track ID = 1,   
> Parent ID = 0
> **************************************************************
> *******************************************
> 
> Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng 
> TrackLeng  NextVolume ProcName
>     0   -4e-05 -2.74e-06 1.19e-05      2.53        0        0 
>         0 PhantomNPhys initStep
>     1 -2.62e-05 -2.75e-06 1.19e-05      2.53  1.2e-05 
> 1.38e-05  1.38e-05 PhantomNPhys msc
>     2 -1.59e-05 -2.75e-06 1.19e-05      2.53 2.03e-05 
> 1.03e-05  2.41e-05     NanoPhy Transportation
>     3 -6.8e-06 -2.75e-06 1.19e-05      2.53 0.000109 9.07e-06 
>  3.32e-05     NanoPhy msc
>     4 2.26e-06 -2.75e-06 1.19e-05      2.53 3.05e-05 9.07e-06 
>  4.23e-05     NanoPhy msc
>     5 1.13e-05 -2.74e-06 1.19e-05      2.53        0 9.07e-06 
>  5.13e-05     NanoPhy msc
>     6 1.59e-05 -2.74e-06 1.19e-05      2.53 5.56e-05 4.54e-06 
>  5.59e-05 PhantomNPhys Transportation
>     7 0.000339 -3.2e-06  1.2e-05      2.52  0.00474 0.000323  
> 0.000379 PhantomNPhys hLowEIoni
>     8 0.000626 -3.61e-06 1.19e-05      2.51  0.00401 0.000287 
>  0.000666 PhantomNPhys hLowEIoni 
> 
> But the secondary electrons step is inncorrect as following,
> 
> **************************************************************
> *******************************************
> * G4Track Information:   Particle = e-,   Track ID = 172,   
> Parent ID = 1
> **************************************************************
> *******************************************
> 
> Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng 
> TrackLeng  NextVolume ProcName
>     0    0.101 -0.00038  0.00363  0.000999        0        0  
>        0 PhantomNPhys initStep
>     1    0.101 -0.000368  0.00363         0 0.000999   0.0215 
>    0.0215 PhantomNPhys msc
> Track (trackID 172, parentID 1) is processed with stopping code 2
> ### pop requested out of 170 stacked tracks.
> 
> I noticed that the StepLeng is always 0.0215 mm. This is 
> obviously outside nanosphere. 
> Can you tell me how to setup steplimiter for secondary 
> electrons? (I noticed others
> have similar problem)
> thank you!
>   
> 

Question Problem with histogram generation in Hadrontherapy  Keywords: root, histogram
by Manuel <manuel.varisao@gmail.com>,   29 Feb, 2008

Dear developers, first of all thank you for Hadrontherapy example that is a very nice and usefull example for my work.

I am trying to use analysis to produce dose distributions but I suffer a problem with the generation of .root file.

In the code is written:

 theTree = treeFact -> create(fileName,"hbk",false,true);
 histFact = aFact -> createHistogramFactory(*theTree);
 h1 = histFact -> createHistogram1D("10","slice, energy", 200, 0., 200. );

but when I try to generate root files, replacing paw with root,
 I see the ntuple with the TBrowser
but I am not able to see the histogram.

Any idea on the problem?

Thank you very much, Manuel

Idea Re: Problem with histogram generation in Hadrontherapy  Keywords: root, histogram
by G.A.P.Cirrone <G.A.P.Cirrone>,   29 Feb, 2008
Re: Question Problem with histogram generation in Hadrontherapy (Manuel)
Dear Manuel, 

please try adding the followings:

G4String rootFileName = "hadrontherapy.root";
std:string opts = "export=root";
theTree = treeFact -> create(rootFileName,"ROOT",false,true,opts);

cheers, 
Pablo Cirrone
(for the GEANT4 Catania Group)
Ok Re: Problem with histogram generation in Hadrontherapy  Keywords: root, histogram
by Manuel <manuel.varisao@gmail.com>,   02 Mar, 2008
Re: Idea Re: Problem with histogram generation in Hadrontherapy (G.A.P.Cirrone)
Dear Prof. Cirrone, 
thank you for your answer.

Now I am able to generate correctly the root file with 
the associated histograms.

In our Department we are very interested in your application so 
we want to stay in contact with you for a future work.

Thank you again, 
Manuel 
None Summary of Geant4 Electromagnetic Changes over the Last Few Years  by Joseph Perl <Joseph Perl>,   21 Feb, 2008

Dear Colleagues,

In the course of writing a recent paper, I felt the need to better understand exactly how Geant4 Electromagnetics has evolved over the past few years. Specifically, I wanted to summarize what has changed between the publication of the significant paper by E. Poon et. al that used release 4.6.1 and the more recent release 4.9.1.

I'd like to share that document with you since it may be helpful.

You can find it on the g4namu website at: http://geant4.slac.stanford.edu/g4namu/Presentations/EMChanges_Geant4_6_1_to_4_9_1.pdf

Cheers,

Joseph

None Re: Summary of Geant4 Electromagnetic Changes over the Last Few Years  by Maria Grazia Pia <Maria Grazia Pia>,   22 Feb, 2008
Re: None Summary of Geant4 Electromagnetic Changes over the Last Few Years (Joseph Perl)

Dear Joseph,

here is a brief update on changes in the Low Energy Electromagnetic package since Geant4 version 6.1 to complement those you listed. In one way or the other all the changes summarized below are relevant to medical applications; the individual relevance of any of them obviously depends on the specific application considered.

The main changes are listed below: development changes first, bug fixing changes next:

- Improved PIXE model for K-shell ionisation by protons (7.0)

- New G4LowEnergyPolarizedRayleigh process (7.1)

- Alternative models of photoelectric angular distribution implemented: Simple, Sauter-Gavrila, Polarized (this one new) (8.1)

- New specialized models suitable to microdosimetry in water: elastic scattering, excitation and ionisation by electrons, excitation, ionisation and charge transfer by protons, He, He+ and He++, ionisation and charge transfer by hydrogen (beta version in 8.1, full version in 9.1)

- Several fixes and improvements to atomic relaxation (X-ray fluorescence and Auger electron emission) in the course of the validation process documented in (6.2 through 9.1)

- Fixes for energy loss of positrons in Penelope-like implementation, in Barkas effect (6.2)

- Improvements and fixes in Penelope-like Compton, Bremsstrahlung, treatment of effective charge (7.0)

- Fixes in Penelope-like ionisation, G4LowEnergyPolarizedCompton, G4hICRU49Nuclear stopping power model (7.1)

- Fixes in G4hLowEnergyIonisation (8.0)

- Fix to Penelope-like Rayleigh scattering (9.1)

Further details are documented in the History file distributed in Geant4 electromagnetic/lowenergy package.

The Change Management process adopted relies on the domain decomposition and traceability process to identify internal dependencies, and ensures that in any development cycle new developments in sub-domains do not interfere with ongoing validation projects, while validation projects are kept aware of bug fixes and managed accordingly. Therefore there is a correlation between the changes listed above and the time frame of the publications listed in http://www.ge.infn.it/geant4/papers/

Hope it helps. Please do not hesitate to let me know if you need further details.

Best wishes,

Maria Grazia

Question Secondary gamma slice-energy was abscent in Hadrontherapy  by <jfgao@mdanderson.org>,   18 Feb, 2008
Dear Developers:
I tried to add another small region in Phantom in Hadrontherapy 
example as following,


  PhantomN = new G4Box("PhantomN",phantomNSizeX,phantomNSizeY, phantomNSizeZ);
  PhantomNLog = new G4LogicalVolume(PhantomN,water,"PhantomNLog",0,0,0);


  PhantomNPhys = new G4PVPlacement(0,                        // rotation
				    G4ThreeVector(40.*mm,0,0), // transition   
                                    "PhantomNPhys",            // Name
     				    PhantomNLog,               // Associated logical volume
                                    phantomPhysicalVolume,               // Mother volume
   				    false,0); 

Then I tried to do G4parameterision of this small region. I hooked this
region also in sensitivedetector as 
      PhantomNLog -> SetSensitiveDetector(phantomSD);
But in the .aida analysis fils, I can't see the gamma rays energy 
deposit in "secondary gamma slice-energy" over that region. there is 
a gap always. Can anybody tell me what is the problem?

thank you!  
Gao

None Re: Secondary gamma slice-energy was abscent in Hadrontherapy  by Francesco Romano <Francesco Romano>,   21 Feb, 2008
Re: Question Secondary gamma slice-energy was abscent in Hadrontherapy

Dear Gao,

I’d like to know if your small region is entirely housed inside the water phantom or not. As I see from your code, “phantomPhysicalVolume” is its mother volume, but if I look at the position it seems to be out of the Phantom, which is 40 mm of side in the original version of Hadrontherapy. Anyway, in case it is inside the water phantom, hooking “PhantomNLog” to sensitive detector is correct but not sufficient. You should also modify “HadrontherapyPhantomSD.cc” in order to collect the energy deposition in this region, too. I think this could be a way; instead of:

G4bool HadrontherapyPhantomSD::ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist)
{
  if(!ROhist)
    return false;

  if(aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> GetName() != "PhantomPhys")
    return false;

  G4double energyDeposit = aStep -> GetTotalEnergyDeposit();

  if(energyDeposit == 0.) return false;

...

you should write:

G4bool HadrontherapyPhantomSD::ProcessHits(G4Step* aStep, G4TouchableHistory* ROhist)
{
  if(!ROhist)
    return false;

  G4String sensitiveVolume = aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> GetName();

  if((sensitiveVolume != "PhantomPhys")&( sensitiveVolume != " PhantomNPhys "))
    return false;

  G4double energyDeposit = aStep -> GetTotalEnergyDeposit();

  if(energyDeposit == 0.) return false;

...

Adding the name of the small volume in the if condition should provide the energy collection also in that volume.

Cheers,

Francesco Romano (for the Catania Geant4 group)

Question Re: Secondary gamma slice-energy was abscent in Hadrontherapy  by <jfgao@mdanderson.org>,   25 Feb, 2008
Re: None Re: Secondary gamma slice-energy was abscent in Hadrontherapy (Francesco Romano)

Dear Francesco:
 I followed your instruction and it still doesn't work. Then I comment 
these line and I can see the Hits collection in that small region. 
I wonder if the following line is crucial. Or am I doing in the
right way?

// if(aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> GetName() != "PhantomPhys") // return false;

thank you!

Question LSO emission spectrum  Keywords: LSO emission spectrum
by Martin Goettlich <Martin Goettlich>,   08 Feb, 2008

Dear colleagues,

for my studies I need the emission spectrum of LSO for 511 keV photons.

Surely somebody has already implemented this in his own GEANT4 application.

Martin Göttlich

Question Untitled  Keywords: LSO emission spectrum
by Martin Goettlich <Martin Goettlich>,   08 Feb, 2008
Dear colleagues,

for my studies I need the emission spectrum of LSO for 511 keV photons.

Surely somebody has already implemented this in his own GEANT4 application.

Martin Göttlich

Question How to replace G4RandGauss by linear distribution?  by <jfgao@mdanderson.org>,   29 Jan, 2008
Dear G4 Developers:
I want to replace the G4RandGauss energy distribution in Hadrontherapy
by a linear distribution which is from a minmum to a maxium. Does Geant4
has kind of G4Rand..Linear function? 
thanks!
Gao
None I figured out the problem.   by <jgzm6@umr.edu>,   29 Jan, 2008
Re: Question How to replace G4RandGauss by linear distribution?
0
None I figured out the problem.   by <jgzm6@umr.edu>,   29 Jan, 2008
Re: Question How to replace G4RandGauss by linear distribution?
0
None I figured out the problem.   by <jgzm6@umr.edu>,   29 Jan, 2008
Re: Question How to replace G4RandGauss by linear distribution?
0
Question How to replace G4RandGauss by linear distribution?  by <jfgao@mdanderson.org>,   29 Jan, 2008
Dear G4 Developers:
I want to replace the G4RandGauss energy distribution in Hadrontherapy
by a linear distribution which is from a minmum to a maxium. Does Geant4
has kind of G4Rand..Linear function? 
thanks!
Gao
Question Electron track killing  Keywords: steppingaction, parallel world, track killing
by <fvvrooijen@hotmail.com>,   17 Jan, 2008
I'm currently working with version 4.9 on a simulation for radiotherapy treatment.
I'm using a ct dataset which is voxelized in the geant world using a parameterisation.
Aim is to run the simulation daily so i'm working on tricks to increase my simulation speed.
One of those trick is allowing electron tracks only inside a certain region of interest and 
killing them outside the ROI. Since the ct set is voxelized and each loaded set is different
i cannot specify a region in the real world. Therefore i constructed a parallel world with a box
volume which has to define my ROI.  

How can I make a steppingaction in where the electron tracks 
can check whether they are in the parallel box volume?
None extended DICOM compilation problem  Keywords: dicom index rindex
by Carlo Nicolini <nicolini.carlo@gmail.com>,   28 Dec, 2007

Hi,

I use the latest release Geant4.9.1, winXP with cygwin and VC7 compiler. When I compile \extended\DICOM example I get

src/DicomHandler.cc(307) : error C3861: 'index': identifier not found src/DicomHandler.cc(308) : error C3861: 'rindex': identifier not found

make: *** [c:/g4work/tmp/WIN32-VC/dicom/DicomHandler.o] Error 2

The compilator doesnt'know 'index' and 'rindex' identifier?

What should I do?

Thanks Carlo

Note Re: extended DICOM compilation problem  Keywords: dicom index rindex
by Pedro Arce Dubois <pedro.arce@ciemat.es>,   14 Jan, 2008
Re: None extended DICOM compilation problem (Carlo Nicolini)

index and rindex are used for string manipulation. In the case there to extract the two numbers from a string that looks like "0.9765625\\0.9765625 " You may try substituting the text in DicomHandler.cc

        char * buff = new char[LINEBUFFSIZE];
	char * sepPos = index(data, '\\');
	char * termPos = rindex(data, '\0');
	std::strncpy(buff, data, sepPos - data);
	pixelSpacingX = atof(buff);
	std::strncpy(buff, sepPos+1, termPos - sepPos - 1);
	pixelSpacingY = atof(buff);
	std::printf("[0x00280030] Pixel Spacing (mm) -> %s\n", data);
	delete [] buff;

by

      G4String datas(data);
      int iss = datas.find('\\');
      pixelSpacingX = atof( datas.substr(0,iss).c_str() );
      pixelSpacingY = atof( datas.substr(iss+2,datas.length()).c_str() );

Pedro

None Hadrontherapy example for carbon ions and physic  Keywords: Hadrontherapy Example
by Bernd <bernard.shalten@gmail.com>,   22 Sep, 2007

Dear all, I and my group are starting in the use of the very interesting hadrontherapy example and we are planning to use it in our university for carbon-ion therapy studies.

The version with geant4.8.3 worked correctly with all the macro files.

In the new version only the default.mac and visualisation.mac seem to produce some result. The other produce only runs that end immediately.

Various test and comparison with experimental data (at energies between 100 and 300 AMeV), obtained with the previous hadrontherapy version showed identical results between the lowE ICRU49 and the Standard even if our data seem to be better fitted with the Standard. On the other hand Standard results fitted perfectly with data from Ziegler and Paul that represent a reference in this field. How an user can choice beetween two packages that do not show macroscopical differences?

Thank you

Bernd Shalten

Feedback Re: Hadrontherapy example for carbon ions and physic  Keywords: Hadrontherapy Example
by G.A.P.Cirrone <G.A.P.Cirrone>,   22 Sep, 2007
Re: None Hadrontherapy example for carbon ions and physic (Bernd)

Dear user, in order to solve your problem with the macro files you should proceede with some modifications. Please, let try the following:

1. Open the HadrontherapyPhysicsList class. The various activable models are listed for photons, electron, etc

2. For each model read, i.e., the comman line:

if (name == "EM-Photon-Standard") 
    {
      if (emPhotonIsRegistered) 
      .................
      .................

3. The string between the double quotes is the string you must write after the command

/physics/addPhysics

In this case it became

/physics/addPhysics EM-Photon-Standard

The same must be done for each model you wish activate and for each macro file.

All the Best

Pablo Cirrone

Ok Re: Hadrontherapy example for carbon ions and physic  Keywords: Hadrontherapy Example
by Bernd <bernard.shalten@gmail.com>,   24 Sep, 2007
Re: Feedback Re: Hadrontherapy example for carbon ions and physic (G.A.P.Cirrone)

Thank you very much for the suggestions! Now I solved my problems: hadrontherapy with the new geant4.9 version now works correctly producing exactly the same results of the previous version. Also calculated ranges in water agree with experiment and also with data from ICRU73 (at least considering our experimental errors).

Internal discussions should not affect the user decision and/or the quality of the physic. Anyway, like in the previous version, carbon peaks profiles and ranges are better reproduced with the Standard physic.

With the Best Regards

Bernd Shalten

None Re: Hadrontherapy example for carbon ions and physic  Keywords: Hadrontherapy Example
by Maria Grazia Pia <Maria Grazia Pia>,   22 Sep, 2007
Re: None Hadrontherapy example for carbon ions and physic (Bernd)

The Geant4 Standard electromagnetic package mutuated the ICRU49 modelling approach of hadron ionisation originally devised, designed and implemented in the lowenergy electromagnetic package. The copy of original ideas and work was not acknowledged by the Standard package, so this is prone to generate confusion among users (apart from other considerations of code duplication, difficulty of maintenance, underlying software design, professional ethics etc.).

A systematic evaluation of all Geant4 electromagnetic and hadronic models pertinent to the proton Bragg peak simulation against hadrontherapy experimental data is close to conclusion and will be submitted for publication shortly. The measurements were performed at the CATANA hadrontherapy facility at INFN LNS by the same authors of the geometry model of the Geant4 hadrontherapy advanced example.

A subset of results associated to this paper were presented at the CHEP conference this month; they are available at http://www.ge.infn.it/geant4/talks/chep2007/bragg_chep2007.pdf. The conference presentation covers only part of the paper content, due to the limited time allocation for the talk and the need to finalize some of the current results prior to public distribution.

The paper contains a complete comparison of physics models through statistical goodness-of-fit tests: the big table in the conference slides gives a preview of the extent of the analysis and its rigorous nature. The purpose of this work is indeed to provide objective guidance to users in their selection of simulation models based on sound mathematical analysis of their performance against experimental data.

We intend to circulate a preprint as soon as the paper is ready for submission to facilitate users' access to the information; a rough estimate of the time scale is after the IEEE NSS conference in November.

The various Ziegler parameterisations produce significantly different results with respect to the ICRU 49 ones. It is worth reminding the readers that ICRU 49 largely acknowledges the basis of Ziegler 1977 review, with some documented improvements over it. Other more recent Ziegler compilations are either available in literature or, regretfully, only distributed in software code executables rather than in published tabulations as the older ones.

So, objective guidance through the various models relevant to hadrontherapy simulation will be available shortly; thanks for your patience until the results are finalized for the paper.

A further improved version of the hadrontherapy advanced example will be included in the next Geant4 release to reflect closely the content and results of the paper; we hope that this will also be useful to Geant4 users to find practical guidance for usage among the various physics models available in the toolkit.

The introduction of ICRU73-based models for ions is planned in the lowenergy package in 2008 (associated to a PhD thesis related to this topic); we intend to release a first version in June 2008. We hope that in this case there won't be other occurrences of duplication prone to generate confusion among users. Contacts with experimental groups for collaborating experimental validation projects are in progress; if you (or other user groups) are interested to collaborate with us on this topic, please feel free to contact me for any further information.

Best wishes,

Maria Grazia Pia

Question beginner needs help with simple example  Keywords: Simple, medical, electrons, scattering
by John <calculus7@gmail.com>,   12 Sep, 2007

I need help with a simple example. I am working for a medical physicist that wants me to simulate 200keV electrons hitting a very thin aluminum sheet. The information that he wants to get from this is how many electrons have scattered off of the sheet, how many electrons stay in the sheet, and how many transmit through. Does anyone have any suggestions? Should I use calorimeters or make the aluminum sheet a sensitive detector. I don't know how to track these things! Also, is it possible to only shoot electrons from a particle gun? Because I'm using low energy electrons and it keeps telling me that I need to include positrons and gammas. Please help! I don't understand Geant4 very well at all! Does anyone have any suggestions for a good tutorial or something? I didn't find the application developers manual very helpful. Thanks!!!

None Re: beginner needs help with simple example  Keywords: Simple, medical, electrons, scattering
by G.A.P.Cirrone <G.A.P.Cirrone>,   12 Sep, 2007
Re: Question beginner needs help with simple example (John)

Hi John, I agree with the Michel's suggestion: let's try to start with the TestEm5 example.

Geant4 permits to shoot an electron beam and you can exactly know if the electron is scattered or trasmitted in the target interaction. On the other hand is not necessary to use a calorimeter neither a sensible volume: you can track each electron and know its "story".

I will be away for a week but, starting since September 20, I can help you to develop an application for your pourpose.

All the Best

Pablo Cirrone

None Re: beginner needs help with simple example  Keywords: Simple, medical, electrons, scattering
by michel maire <michel maire>,   12 Sep, 2007
Re: Question beginner needs help with simple example (John)

 Try to understand and to run examples/extented/electromagnetic/TestEm5
 (See README) 

Question Hadrontherapy runtime error.."*** glibc detected *** double free or corruption (out): 0x091f62a0 *** "  Keywords: *** glibc detected *** double free or corruption (out): 0x091f62a0 ***
by jerry <jerry>,   22 Aug, 2007

Hi all,

I am working on the advanced/hadrontherapy example as part of my research. This example is running perfectly on my office, scientific linux machine. Recently I also installed the newly available Geant4-VMWARE player package in my laptop. All beginer level examples are running perfectly in my laptop including Brachytherapy example.But when I run Hadrontherapy example, although it compiles with out any error, when I run it, Iam getting an error and it aborts the run..The speific error is given below.

*** glibc detected *** double free or corruption (out): 0x091f62a0 *** Abort.

           Iam also giving a copy of the entire run output which Iam getting after getting the program successfully compiled...

*************************************************************
 Geant4 version Name: geant4-08-03    (5-May-2007)
                      Copyright : Geant4 Collaboration
                      Reference : NIM A 506 (2003), 250-303
                            WWW : http://cern.ch/geant4
*************************************************************

Visualization Manager instantiating... Visualization Manager initialising... Registering graphics systems...

You have successfully registered the following graphics systems.
Current available graphics systems are:
  ASCIITree (ATree)
  DAWNFILE (DAWNFILE)
  GAGTree (GAGTree)
  G4HepRep (HepRepXML)
  G4HepRepFile (HepRepFile)
  RayTracer (RayTracer)
  VRML1FILE (VRML1FILE)
  VRML2FILE (VRML2FILE)
  OpenGLImmediateX (OGLIX)
  OpenGLStoredX (OGLSX)

Registering model factories...

You have successfully registered the following model factories.
Registered model factories:
  generic
  drawByCharge
  drawByParticleID
  drawByOriginVolume
  drawByAttribute

Registered filter factories:
  chargeFilter
  particleFilter
  originVolumeFilter
  attributeFilter

 UI session starts ...
/tracking/verbose 0
/run/verbose 0
/event/verbose 0
/physics/addPhysics positron-standard
Adding PhysicsList component positron-standard
HadrontherapyPhysicsList::AddPhysicsList: positron-standard is registered
/physics/addPhysics ion-LowE
Adding PhysicsList component ion-LowE
HadrontherapyPhysicsList::AddPhysicsList: ion-LowE is registered
/physics/addPhysics muon-standard
Adding PhysicsList component muon-standard
HadrontherapyPhysicsList::AddPhysicsList: muon-standard is registered
/physics/addPhysics decay
Adding PhysicsList component decay
HadrontherapyPhysicsList::AddPhysicsList: decay is registered
/physics/addPhysics proton-precompound
Adding PhysicsList component proton-precompound
HadrontherapyPhysicsList::AddPhysicsList: proton-precompound is registered
****** Proton Precompound Physics List is active !!!!!! ******
 Hadronic physics is registered
/run/initialize
/vis/scene/create
/vis/open HepRepFile
/vis/viewer/flush
G4Scene::AddWorldIfEmpty: The scene was empty of run-duration models.
  "world" has been added.
WARNING: The scene, "scene-0", of viewer "viewer-0 (G4HepRepFile)"
  of scene handler "scene-handler-0"  has changed.  To see effect,
  "/vis/viewer/select viewer-0" and "/vis/viewer/rebuild".
/tracking/storeTrajectory 1
/vis/scene/endOfEventAction accumulate
WARNING: The vis manager will keep up to 100 events.
  This may use a lot of memory.
/vis/scene/notifyHandlers
WARNING: The scene, "scene-0", of viewer "viewer-0 (G4HepRepFile)"
  of scene handler "scene-handler-0"  has changed.  To see effect,
  "/vis/viewer/select viewer-0" and "/vis/viewer/rebuild".
/vis/viewer/update
/run/beamOn 1
*** glibc detected *** double free or corruption (out): 0x091f62a0 ***
Abort
localhost.localdomain:/hadrontherapy < 77 >

                  Please send me a reply at the earliest, if any one of u guys know the reason for this error.

Thanks in Advance,

Jerry

Feedback Re: Hadrontherapy runtime error.."*** glibc detected *** double free or corruption (out): 0x091f62a0 *** "  Keywords: *** glibc detected *** double free or corruption (out): 0x091f62a0 ***
by G.A.P. Cirrone <cirrone@gmail.com>,   30 Aug, 2007
Re: Question Hadrontherapy runtime error.."*** glibc detected *** double free or corruption (out): 0x091f62a0 *** " (jerry)

Dear Jerry, the VMWARE configuration is not a supported enviroment for the Geant4 installation so, probably, the fully functionality cannot be reached.

Can you please give me more details on your software configuration?

Thank you

Pablo Cirrone

Question Untitled  Keywords: *** glibc detected *** double free or corruption (out): 0x091f62a0 ***
by jerry <jerry>,   22 Aug, 2007

Hi all,

I am working on the advanced/hadrontherapy example as part of my research. This example is running perfectly on my office, scientific linux machine. Recently I also installed the newly available Geant4-VMWARE player package in my laptop. All beginer level examples are running perfectly in my laptop including Brachytherapy example.But when I run Hadrontherapy example, although it compiles with out any error, when I run it, Iam getting an error and it aborts the run..The speific error is given below.

*** glibc detected *** double free or corruption (out): 0x091f62a0 *** Abort.

           Iam also giving a copy of the entire run output which Iam getting after getting the program successfully compiled...

*************************************************************
 Geant4 version Name: geant4-08-03    (5-May-2007)
                      Copyright : Geant4 Collaboration
                      Reference : NIM A 506 (2003), 250-303
                            WWW : http://cern.ch/geant4
*************************************************************

Visualization Manager instantiating... Visualization Manager initialising... Registering graphics systems...

You have successfully registered the following graphics systems.
Current available graphics systems are:
  ASCIITree (ATree)
  DAWNFILE (DAWNFILE)
  GAGTree (GAGTree)
  G4HepRep (HepRepXML)
  G4HepRepFile (HepRepFile)
  RayTracer (RayTracer)
  VRML1FILE (VRML1FILE)
  VRML2FILE (VRML2FILE)
  OpenGLImmediateX (OGLIX)
  OpenGLStoredX (OGLSX)

Registering model factories...

You have successfully registered the following model factories.
Registered model factories:
  generic
  drawByCharge
  drawByParticleID
  drawByOriginVolume
  drawByAttribute

Registered filter factories:
  chargeFilter
  particleFilter
  originVolumeFilter
  attributeFilter

 UI session starts ...
/tracking/verbose 0
/run/verbose 0
/event/verbose 0
/physics/addPhysics positron-standard
Adding PhysicsList component positron-standard
HadrontherapyPhysicsList::AddPhysicsList: positron-standard is registered
/physics/addPhysics ion-LowE
Adding PhysicsList component ion-LowE
HadrontherapyPhysicsList::AddPhysicsList: ion-LowE is registered
/physics/addPhysics muon-standard
Adding PhysicsList component muon-standard
HadrontherapyPhysicsList::AddPhysicsList: muon-standard is registered
/physics/addPhysics decay
Adding PhysicsList component decay
HadrontherapyPhysicsList::AddPhysicsList: decay is registered
/physics/addPhysics proton-precompound
Adding PhysicsList component proton-precompound
HadrontherapyPhysicsList::AddPhysicsList: proton-precompound is registered
****** Proton Precompound Physics List is active !!!!!! ******
 Hadronic physics is registered
/run/initialize
/vis/scene/create
/vis/open HepRepFile
/vis/viewer/flush
G4Scene::AddWorldIfEmpty: The scene was empty of run-duration models.
  "world" has been added.
WARNING: The scene, "scene-0", of viewer "viewer-0 (G4HepRepFile)"
  of scene handler "scene-handler-0"  has changed.  To see effect,
  "/vis/viewer/select viewer-0" and "/vis/viewer/rebuild".
/tracking/storeTrajectory 1
/vis/scene/endOfEventAction accumulate
WARNING: The vis manager will keep up to 100 events.
  This may use a lot of memory.
/vis/scene/notifyHandlers
WARNING: The scene, "scene-0", of viewer "viewer-0 (G4HepRepFile)"
  of scene handler "scene-handler-0"  has changed.  To see effect,
  "/vis/viewer/select viewer-0" and "/vis/viewer/rebuild".
/vis/viewer/update
/run/beamOn 1
*** glibc detected *** double free or corruption (out): 0x091f62a0 ***
Abort
localhost.localdomain:/hadrontherapy < 77 >

                  Please send me a reply at the earliest, if any one of u guys know the reason for this error.

Thanks in Advance,

Jerry

None Status of Monte Carlo Treatment Planning in Europe  Keywords: A Survey on the status of Monte Carlo Treatment Planning in Europe
by EMILIANO <EMILIANO>,   18 Aug, 2007
Dear colleagues,


Please find below a message regarding a questionnaire on the use of 
MC in treatment planning in the countries of the European Union. 

The survey is being advertised in the European Federation of Organisations 
for Medical Physics web site (EFOMP: www.efomp.org), through the 
distribution lists of national member organizations of medical physics 
in the countries of the EU and through the most popular physics Monte 
Carlo mailing lists.

I hope that this initiative can be of interest for the medical 
applications section of the GEANT4 community forum.
Please feel free to share this message with your collaborators.

Best regards,

Emiliano Spezi

================================================================
Cardiff 12 Jul. 07


Dear colleague,


RE: EWG-MCTP survey: status of MCTP in Europe


 On behalf of the European Workgroup on Monte Carlo Treatment 
Planning (EWG-MCTP) (1) I would like to invite you to complete an 
on-line questionnaire on the use of Monte Carlo (MC) technology 
in the medical physics environment within the countries of the 
European Union.

 MC based dose calculation engines are currently being implemented 
into commercial treatment planning systems. In October 2006 the 
"First European Workshop on Monte Carlo treatment planning", 
was organized at the Ghent University (Belgium) as an initiative 
of the EWG-MCTP. This follows similar initiatives across the 
Atlantic (2). The success of these scientific events reflects the 
continuously raising interest in MCTP within the clinical environment.

 The aim of this questionnaire is to survey the current status 
of MC applications in treatment planning across Europe and to 
provide a realistic snapshot of how much MCTP technology in 
breaking through clinical practice, research and development at 
the European level. 

 The questionnaire is built with 12 independent modular sections 
including brachytherapy, dosimetry, external beam radiotherapy, 
nuclear medicine and radiation protection. The completion of the 
questionnaire should not take more than 10 minutes. To start the 
questionnaire please follow this link (3). 
 
Thank you for participating to this survey.

Yours sincerely,

Emiliano Spezi
--
================================================================
Emiliano Spezi PhD
Department of Medical Physics
Velindre Cancer Centre
Velindre Road                
CF14 2TL                      - Voice: +44(0)2920 316264
Cardiff (United Kingdom)      - Fax:   +44(0)2920 316293
Email: Emiliano.Spezi@velindre-tr.wales.nhs.uk  
================================================================

1. EWG-MCTP Workshop: http://www.ewg-mctp.ugent.be
2. McGill Workshop: http://www.medphys.mcgill.ca/~mcworkshop2007/Welcome.html
3. http://www.wales.nhs.uk/sites3/questionnaireform.cfm?orgId=360&qid=224
None Error using ROOT files in GEANT  Keywords: ROOT geant 4.9
by Sam <peterso3@mailbox.sc.edu>,   09 Aug, 2007

I am having difficulty using ROOT files in the MedLinac example using Geant4.9 on MAC OS X. Whenever the program reaches the Fill command for any root histo, it crashes. These files worked perfectly with 4.8.2.p01. Is there anyone who has had the same problem and has discovered how to fix this?

None Error in MedLinac Example  Keywords: Segmentation, Fault, Medlinac
by Theo DuBose <Theo DuBose>,   07 Jun, 2007

I keep getting errors like this:

       MedLinacPhantomROGeometry::Build()-----------------------

       Segmentation fault

when running the MedLinac example with macro.mac and dawnvis.mac.

Anybody know why this is happening? I'm running 4.8.3 and the latest version of CLHEP on OSX 10.4 Intel.

Thanks,

Theo

Question Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Amin <amin@uoit.net>,   19 Feb, 2007
Hi,

I'm trying to run the Brachytherapy example (using cygwin). Mind you 
I have yet to install AIDA/PI.

At the moment I receive the following messages:

1. "G4ANALYSIS_USE environment variable not set. NO ANALYSIS"

- Is this an AIDA specific message ?

2. "... Illegal parameter <0> </vis/open OGLIX>... Command Ignored."

- Is this something like the novice/N03 example where you need to change
the OpenGL X11 to OpenGL for Windows ?

* Lastly it seems several versions of AIDA are floating around, some
where on the SLAC site, I found that JAIDA was recommended, is that 
also recommended for Cygwin users ?

Thanks & Regards,
Amin
Note Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Susanna Guatelli <Susanna Guatelli>,   20 Feb, 2007
Re: Question Brachytherapy - G4ANALYSIS_USE (Amin)

The message "G4ANALYSIS_USE environment not set. No Analysis" appears when the analysis is not set in the example. This means that the results are not stored in analysis objects (ntuples and histograms). You have to install AIDA and a compliant analysis tool to be able to store the results in analysis objects.

The visualization tools (as OPENGL) work in the same way for all the examples. So if the visualization system works for the novice example N03, it should work also for the brachytherapy example.

None Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Andreas Pfeiffer <Andreas Pfeiffer>,   20 Feb, 2007
Re: Note Re: Brachytherapy - G4ANALYSIS_USE (Susanna Guatelli)

Hi Amin,

yes, if you don't have PI (or another AIDA compliant analysis system) installed, there is no way to get the histograms produced and filled. Setting G4_ANALYSIS_USE needs to be done before building the example, and if you do this, the build will not succeed if no aida implementation is found on the machine.

For Cygwin there is no binary download of PI available (and builds from source are too complex), but I'm working on preparing a "simpler" version (stripping off some of the overhead) of it available for installation.

HTH, andreas

None Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Amin <amin@uoit.net>,   21 Feb, 2007
Re: None Re: Brachytherapy - G4ANALYSIS_USE (Andreas Pfeiffer)
Here is what I'm doing:

export G4WORKDIR=c:/g4work
export JDK_HOME=c:/jdk1.5.0

export JAIDA_HOME=c:/JAIDA-3.2.4
source $JAIDA_HOME/bin/aida-setup.sh

export AIDAJNI_HOME=c:/AIDAJNI-3.2.3
source $AIDAJNI_HOME/bin/$G4SYSTEM/aidajni-setup.sh

export G4ANALYSIS_USE=1
source c:/Geant4/geant4_8_2/env.sh

$ cd $G4WORKDIR/brachytherapy/
$ make clean
$ make
$ cd $G4WORKDIR/bin/WIN32-VC/
$./Brachy.exe

In the output for c:/Geant4/geant4_8_2/env.sh I don't see 
"G4ANALYSIS_USE=1" being listed.

However, when I run ./Brachy.exe

"User Environment"
"Using AIDA 3.2.1 analysis"  appears.

From my understanding of the issue PI/JAS/Openscientist should not
be a pre-requsite for "G4ANALYSIS", and ought to be used once the 
analysis file is produced. 

I do have JAS3 installed. PI I think I'll stay away from it, and 
OpenScientist I'm willing to try it as somebody else suggested, but
I wonder if that would change the circumstances of ".hbk" file not 
being produced.

Any other ideas, because I would like to think my JAIDA, AIDAJNI & 
JAS3 are appropriately installed. 

Regards,
Amin
Question Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Amin <amin@uoit.net>,   20 Feb, 2007
Re: Note Re: Brachytherapy - G4ANALYSIS_USE (Susanna Guatelli)
Thanks Susanna,

1. AIDA/Analysis is now installed 
2. </vis/open OGLIX> I changed to </vis/open OGLSWin32> to make it
work under CYGWIN/Windows.

Remaining Problem: 

I can't find brachytherapy.hbk file being produced anywhere in my work
folder (and subdirectories i.e bin/) during or after exiting the running
of the example.

I did "export G4ANALYSIS_USE=1" before running the example. Is 
that not a requirement for the brachytherapy.hbk file to be 
produced ?

Any idea why "brachytherapy.hbk" is not being produced ?

Regards,
Amin
None Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by Amin <amin@uoit.net>,   20 Feb, 2007
Re: Question Re: Brachytherapy - G4ANALYSIS_USE (Amin)
Would this have anything to do with PI not having been installed yet ?

I'm finding it terribly hard to find any documentation that shows 
how to install PI locally.

Amin
None Re: Brachytherapy - G4ANALYSIS_USE   Keywords: Brachytherapy AIDA CYGWIN PI OpenGL
by michel maire <michel maire>,   21 Feb, 2007
Re: None Re: Brachytherapy - G4ANALYSIS_USE (Amin)

User Amin wrote:

>> Would this have anything to do with PI not having been installed yet ?
>> 
>> I'm finding it terribly hard to find any documentation that shows 
>> how to install PI locally.
>> 
>> Amin
>> 

 See forum analysis, item 249, last comment from j.e. Sauvestre

None Re: Brachytherapy - G4ANALYSIS_USE   by Susanna Guatelli <Susanna.Guatelli@ge.infn.it>,   21 Feb, 2007
Re: None Re: Brachytherapy - G4ANALYSIS_USE (Amin)
If you work on a Windows platform, you can install JAS.
None Re: Brachytherapy - G4ANALYSIS_USE   by Amin <amin@uoit.net>,   21 Feb, 2007
Re: None Re: Brachytherapy - G4ANALYSIS_USE (Susanna Guatelli )

Will JAS3 for Windows do ?

That's the one I tried.

Additionally prior to installing JAS3, I had installed: JIADA-3.2.4 & AIDAJNI-3.2.3

Question Urgent Help Needed! How to define the G4PVDivison as SD?  Keywords: how to define the G4PVDison as SD
by <jgzm6@umr.edu>,   16 Feb, 2007
Dear G4s:
It took me several days to figured out the reason of causing code fail
to generate output file. But I don't how to fix it? Please help me!!! 
( I already looked at those Q & A related in G4PVDivision).

Here is part of code. I try to define childLogZ as SD.

------------------------------------------------------------------

  divSolidX = new G4Box("divSolidX",20*mm, 30*mm, 40*mm);
  childLogX = new G4LogicalVolume(divSolidX, water, "childX",0,0,0);
  divBoxX = new G4PVDivision("division along X giving nDiv, width and offset",
                    childLogX, PhantomLog, kXAxis, divnmbX, widthX, offsetX);


.............

  divSolidZ = new G4Box("divSolidZ",20*mm, 30*mm, 40*mm);
  childLogZ = new G4LogicalVolume(divSolidZ, water, "childZ",0,0,0);
  divBoxZ = new G4PVDivision("division along Z giving nDiv, width and offset",
                       childLogZ, childLogY, kZAxis, divnmbZ, widthZ, offsetZ);

...........   

 //     PhantomLog -> SetSensitiveDetector(phantomSD);    //(1)
 //     childLogZ -> SetSensitiveDetector(phantomSD);     //(2)

-----------------------------------------------------------------
My problem is: 
Without hooking the G4PVDision to PhantomLog, using line (1), it works;
Hooking the G4PVDision to PhantomLog, using line (1), it dosen't;
hooking the G4PVDision to PhantomLog, using line (2), it dosen't;
Without hooking the G4PVDision to PhantomLog, using line (2),it dosen't;

Thank you so much!
Gao

 
Feedback Re: Urgent Help Needed! How to define the G4PVDivison as SD?  Keywords: how to define the G4PVDison as SD
by <jgzm6@umr.edu>,   21 Feb, 2007
Re: Question Urgent Help Needed! How to define the G4PVDivison as SD?
Eventually I figured out the problem. My Sensitive Detector definition
has some problem. Thank you for your concern!
Gao
Question Problem in TestEm7  by Ling Long <Ling Long>,   05 Jan, 2007

When I uncomment G4ANALYSIS_USE in GNUmakefile and make. It's success but run ./TestEm7 ionC12.mac it aborted why? what can i do????

the examples TestEm7 is in the examples/extended/electromagnetic/TeseEm7

Question Phantom with 150 millions of voxel  Keywords: memory, Phantom, G4VPVParameterisation
by Vagner Cassola <vagner.cassola@gmail.com>,   24 Nov, 2006

Hi,

I want to connect a Phantom with 150 millions of voxel, somebody knows (or has a idea) how much memory is necessary to connect this Phantom? Because I tried using a computer with 472MB of ram and 643MB of swap and the application crashed. I used the G4VPVParameterisation class.

Thanks Vagner Cassola

None Re: Phantom with 150 millions of voxel  Keywords: memory, Phantom, G4VPVParameterisation
by Vagner Cassola <vagner.cassola@gmail.com>,   28 Nov, 2006
Re: Question Phantom with 150 millions of voxel (Vagner Cassola)

Hi,

I solved the problem using the G4VNestedParameterisation class, now I using around 300 Mb (in the maximum) to connect the Phantom...

Question Is this correct physics in Brachytherapy example?  by David Callender <quantumstringfield@yahoo.com>,   31 Oct, 2006

Hi,

I ran the Brachytherapy example via Geant4.8.1 that models the Leipzig applicator. At /runbeamOn 5000 there are quite a large number of gamma 'particles' (356keV) from a Ir192 source that penetrate through the applicator housing which is made of tungsten. My question is, should this be occuring? Does this example accurately model what occurs for the actual applicator? I would have thought that the housing would permit particles to exit through the applicator window only, while at the same time, shielding any unwanted leakage. Am I mistaken in this case?

Thanks for any input.

Note Re: Is this correct physics in Brachytherapy example?  by Susanna Guatelli <Susanna Guatelli>,   20 Feb, 2007
Re: Question Is this correct physics in Brachytherapy example? (David Callender)

The brachytherapy example has been validated with respect to 
experimental measurements in the case of Ir192 endocavitary source 
(without Leipzig applicator). 
The brachytherapy example models in detail a Leipzig applicator but
the validation of the brachytherapy example for superficial 
brachytherapy will take place in the future. 
    

Question Geant4 useful for chemical reactions?  Keywords: chemical reactions
by <machado@soton.ac.uk>,   20 Oct, 2006

Hi

Does anybody know whether or not Geant4 has been used or is useful for any kind of chemical reactions problems?

Thanks

None : Call for Papers and Participations in The Japan Taiwan Symposium on Simulation in Medicine   by Takashi Sasaki <Takashi Sasaki>,   11 Oct, 2006

The Japan Taiwan Symposium on Simulation in Medicine December 12-15, 2006 Tsukuba, Japan

The Japan-Taiwan Symposium on Simulation in Medicine will be held in Tsukuba, Japan, in December 2006 with a Geant4 Lecture Course co- organized just prior to the symposium.

Simulation plays a very important role today not only in research but also in clinical applications. The symposium will focus on simulation for radiotherapy, but will also include other medical applications. The symposium offers an opportunity for simulation software developers and medical users to meet and discuss recent progress and future directions.

Call for Participations: The registration page will open soon at http://www-conf.kek.jp/geant4.

Call for papers:

The science advisory committee for the symposium invites submissions of papers on variety of topics including, but not limited to, simulation engines, technique, theory, physics models and medical applications.

The Abstract should be a minimum of 100 and no more than 400 words, and submitted from the symposium web page http://www-conf.kek.jp/geant4/. You may include the URL of your web page as the reference in case you need to show pictures or graphs.

Submission deadline: Oct. 20th, 2006 Notification to users: No later than Nov. 6th, 2006

Question How to emit particals to different dircetions with the same particalGun?  by fangrui <fangrui>,   12 Aug, 2006

Now I want to emit particals to different dircetions,can a particalGun do the work? And how does it work? Can anyone offer some exampes? Thnaks!

None Re: How to emit particals to different dircetions with the same particalGun?  by michel maire <michel maire>,   14 Aug, 2006
Re: Question How to emit particals to different dircetions with the same particalGun? (fangrui)

User fang rui wrote:

>> Now I want to emit particals to different dircetions,can a particalGun
>> do the work? And how does it work? Can anyone offer some exampes?
>> Thnaks!

 you can have a look at examples/extended/electromagnetic/TestEm4 or TestEm12

None Re: How to emit particals to different dircetions with the same particalGun?  by Xiaoning Ding <xiaoningding@yahoo.com>,   12 Aug, 2006
Re: Question How to emit particals to different dircetions with the same particalGun? (fangrui)

You might try the method SetParticleMomentumDirection(G4ThreeVector) of G4ParticleGun class to control the shooting particle's direction.

As an example to shoot in x direction,

......
    G4ThreeVector dir(1.0, 0.0, 0.0);
    particlegGun->SetParticleMomentumDirection(dir);
......

None Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Xiaoning Ding <xiading@mdanderson.org>,   10 Jul, 2006

I heard that that Nested parameterization requires much less memory for geometry optimization and gives much faster navigation for ultra-large number of voxels. Is there any example code to show how to use nested parameterization ?

Thanks a lot in advance.

-Xiaoning Ding Ph.D. Senior Research Programmer The University of Texas MD Anderson Cancer Center Department of Proton Therapy

xiading@mdanderson.org

None Sorry, that's examples/extended/runAndEvent/RE02  Keywords: Nested parameterization example code
by Joseph Perl <Joseph Perl>,   04 May, 2007
Re: None Is there any example to show how to use nested parameterization class (Xiaoning Ding)

Just to close the loop on this item, since 8.2 there is a very nice example using nested parameterisation: /examples/extended/runAndEvent/RE02

None Yes, see examples/runAndEvent/RE02  Keywords: Nested parameterization example code
by Joseph Perl <Joseph Perl>,   04 May, 2007
Re: None Is there any example to show how to use nested parameterization class (Xiaoning Ding)

Just to close the loop on this item, since 8.2 there is a very nice example using nested parameterisation: /examples/runAndEvent/RE02

None Re: Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Makoto Asai <Makoto Asai>,   14 Jul, 2006
Re: None Is there any example to show how to use nested parameterization class (Xiaoning Ding)
We are afraid to say we do not currntly have any example for nested
parameterization within oour recent release of version 8.1. One example 
is planned to be included in the next release at the end of the year.
None Re: Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Xiaoning Ding <xiaoning@yahoo.com>,   09 Aug, 2006
Re: None Re: Is there any example to show how to use nested parameterization class (Makoto Asai)

Makoto:  Thank you very much for the example code you posted on SLAC's site.  It is very helpful.

Here I have 2 questions about the example code.

(1) In case of replacing the water phantom with a portion of real human boday ( from CT-image data file ), where is the place holder of organ materials ( such as bone, muscle...). And how to associate these organ materials with their coordinates ( x, y, z ) ? I am thinking that the "phantomMat" in line 260 of EE02NextedDetectorContruction.cc is the place holder. Am I right ?

(2) How to visualize the geometry ? For the reason I don't know, all geant commands under /vis/ dirctory are not available. Attached is the terminal output, you might notice that "/vis/" is missing.

 G4SDKineticEnergyFilter:: gammaE filter LowE  1 MeV HighE 10 MeV
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
Thank you for using G4BinaryCascade.
Idle> help
Command directory path : /
 Sub-directories :
 1) /control/   UI control commands.
 2) /units/   Available units.
 3) /geometry/   Geometry control commands.
 4) /tracking/   TrackingManager and SteppingManager control commands.
 5) /event/   EventManager control commands.
 6) /run/   Run control commands.
 7) /random/   Random number status control commands.
 8) /particle/   Particle control commands.
 9) /process/   Process Table control commands.
 10) /gun/   Particle Gun control commands.
 11) /material/   Commands for Materials
 12) /hits/   Sensitive detectors and Hits
 Commands :

Type the number ( 0:end, -n:n level back ) :

None Re: Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Xiaoning Ding <xiaoningding@yahoo.com>,   23 Aug, 2006
Re: None Re: Is there any example to show how to use nested parameterization class (Xiaoning Ding)

I found the answer for my 2nd question. The visulization can be turned on by adding following lines in main(int argc,char** argv):

#include "G4VisExecutive.hh"

... int main(int argc,char** argv) {

...
 #ifdef G4VIS_USE
  // visualisation manager
  G4VisManager* visManager = new G4VisExecutive;
  visManager->Initialize();
#endif
...

#ifdef G4VIS_USE
  delete visManager;
#endif

}

However, the phantom is not displayed correctly.  I debuged the source code.  It seems to me that the problem is the argument parentTouch passed in the method ComputeMaterial(...) of G4VNestedParameterisation is NULL.  Therefore, there is no way to trace the parent ids (ix and iy).
 

None Re: Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Vagner Cassola <vagner.cassola@gmail.com>,   08 Nov, 2006
Re: None Re: Is there any example to show how to use nested parameterization class (Xiaoning Ding)

Hy,

I tried to use the Nested_beta example (in geant4.8.1) and I found a error when the program call the function “GetMeanFreePath ()”. For example, in my last simulation I got the following message:

Program received signal SIGSEGV, Segmentation fault. [Switching you Thread -1230301504 (6159 LWP)] 0xb7e84a5a in G4VEnergyLossProcess:: GetMeanFreePath () from /usr/local/geant4.8.1/lib/Linux-g ++/libG4muons.so

Any help is very appreciated.

regards, Vagner Cassola

None Re: Is there any example to show how to use nested parameterization class  Keywords: Nested parameterization example code
by Jonathan <Jonathan>,   13 Jul, 2006
Re: None Is there any example to show how to use nested parameterization class (Xiaoning Ding)

Hi Xiaoning, I was wondering if you had found any examples or information involving the nested parameterisations. I am trying to implement a voxel phantom at Vanderbilt, and am having troubles using this class. The problems I am having involve accurately using the G4VTouchable object that is being passed in ComputeMaterial. Thanks!

Jonathan Rogers

None Geant4 applications at NSS 2006  by Maria Grazia Pia <Maria Grazia Pia>,   29 May, 2006

Geant4 users in medical applications may be interested to submit an abstract on their ongoing projects to the IEEE Nuclear Science Symposium (http://www.nss-mic.org/2006). IEEE NSS is a major conference in experimental technologies, including a Software & Computing session.

The official deadline for abstract submission is over, but direct submission to the conveners is still accepted.

If you are interested, please send your abstract to the Software and Computing convener (Maria.Grazia.Pia@cern.ch, with cc to nss2006@ornl.gov).

Looking forward to many exciting Geant4 results,

Maria Grazia Pia

NSS Software & Computing co-Convener

Question Medical Linac Run Time Error in GEANT4.8.0.p01  by Gocha Khelashvili <Gocha Khelashvili>,   20 Mar, 2006

OK, I guess previous message did not work as intended. Instead of attachment I am provideing URL: (http://agni.phys.iit.edu/~khelashvili/medlinac-run-error1.jpg) for error message. And sorry for previus message (I do not know how to remove it) ______________________________________________________________________ Hello Everybody,

I am having problems running "Medical Linac" example with GENAT4.8.0.p01 version. I had run this example in past with GEANT4.7.1 version and did not have any problems. However, after updating all my machines to GEANT4.8.0.p01 version I am having the following problems: Example compiles and links OK, creates executable. When I run executable, I am getting error message that is shown on attached screenshot. Has anyone seen this kind of error before? Can anyone help me with this problem?

Thanks in advance - Gocha _______________________________________________________________________

Feedback Re: Medical Linac Run Time Error in GEANT4.8.0.p01  by Michela Piergentili <Michela Piergentili>,   16 May, 2006
Re: Question Medical Linac Run Time Error in GEANT4.8.0.p01 (Gocha Khelashvili)

Hi Gocha, probably you don't set the dimensions of the water phantom that is the detector, so the program takes these dimension=0.

In the last release I introduced a messenger to make the user able to change the dimension of the phantom in the macro used to run the example.

Can you try to run the example with one of the macros provided? In these macros you can find the command line: /Phantom/dimension 15. cm which set the dimension of the cube (phantom) to 15 cm

Cheers Michela

None Medical Linac Example Run Time Error on GEANT4.8.0.p01  by Gocha Khelashvili <Gocha Khelashvili>,   20 Mar, 2006
This is a multi-part message in MIME format.

--Boundary_(ID_Q6C/DWbAGnB8B0zOr9Fcfg)
Content-type: multipart/alternative;
 boundary="Boundary_(ID_BnuusqWTbZUjbbHp03j5wg)"


--Boundary_(ID_BnuusqWTbZUjbbHp03j5wg)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

Hello Everybody,

 

I am having problems running "Medical Linac" example with GENAT4.8.0.p01
version. I had run this example in past with GEANT4.7.1 version and did not
have any problems. However, after updating all my machines to GEANT4.8.0.p01
version I am having the following problems: Example compiles and links OK,
creates executable. When I run executable, I am getting error message that
is shown on attached screenshot. Has anyone seen this kind of error before?
Can anyone help me with this problem? 

 

Thanks in advance - Gocha 

 

 

Gocha Khelashvili, Ph.D.

Assistant Research Professor of Physics

BCPS Department, Illinois Institute of Technology

3101 S. Dearborn St. Chicago, IL 60616

Phone: (312) 567-3019

Fax:     (312) 567-3494

Email:  <mailto:khelashvili@iit.edu> khelashvili@iit.edu 

 


--Boundary_(ID_BnuusqWTbZUjbbHp03j5wg)
Content-type: text/html; charset=us-ascii
Content-transfer-encoding: 7BIT

<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PostalCode"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="address"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:Arial;
	color:windowtext;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hello Everybody,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I am having problems running &#8220;Medical Linac&#8221;
example with GENAT4.8.0.p01 version. I had run this example in past with
GEANT4.7.1 version and did not have any problems. However, after updating all
my machines to GEANT4.8.0.p01 version I am having the following problems: Example
compiles and links OK, creates executable. When I run executable, I am getting
error message that is shown on attached screenshot. Has anyone seen this kind
of error before? Can anyone help me with this problem? <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks in advance - Gocha <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Gocha Khelashvili, Ph.D.</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Assistant Research Professor of Physics</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>BCPS Department, Illinois Institute of Technology</span></font><o:p></o:p></p>

<p class=MsoNormal><st1:address w:st="on"><st1:Street w:st="on"><font size=2
  face=Arial><span style='font-size:10.0pt;font-family:Arial'>3101 S. Dearborn
  St.</span></font></st1:Street><font size=2 face=Arial><span style='font-size:
 10.0pt;font-family:Arial'> <st1:City w:st="on">Chicago</st1:City>, <st1:State
 w:st="on">IL</st1:State> <st1:PostalCode w:st="on">60616</st1:PostalCode></span></font></st1:address><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Phone: (312) 567-3019</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Fax:&nbsp;&nbsp;&nbsp;&nbsp; (312) 567-3494</span></font><o:p></o:p></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Email: </span></font><a href="mailto:khelashvili@iit.edu"><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>khelashvili@iit.edu</span></font></a><font
size=1 face=Arial><span style='font-size:7.5pt;font-family:Arial'> </span></font><o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>

--Boundary_(ID_BnuusqWTbZUjbbHp03j5wg)--

--Boundary_(ID_Q6C/DWbAGnB8B0zOr9Fcfg)
Content-type: image/jpeg; name=medlinac-run-error1.jpg
Content-transfer-encoding: base64
Content-disposition: attachment; filename=medlinac-run-error1.jpg

/9j/4AAQSkZJRgABAQIAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAO9AtsDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwC34G8D
6ZfaTaXd9bW91c3sH2oG6j82OKM42gRngthlyevLc4AFdePhzoR/5hmi/wDgoT/4qo/h9/yAtB/7
A0f8oauTeHNUNxJp8GoOujXLGWUs26VMn5o1J5IYnOfY577uhvmd2Z2tsZ134H8PWDwiTRNGmEzF
QV06NNpAz754B/yePO5LDTIbu8hTSdM2pdTAFrGI7V8xgByvPsPw4AzXs2uRiJdORSxCyEDcxY8I
3Unk/U147eKx1G++UMDeT7V45PmN1/8Ar+nPHXow0U27mdVtLQi8jS+o0bTDu/1a/YYct3z93pj/
AB4A5PI0oDJ0nSdqf6x/sEWPXA+X07/ieoBjZX+cl+P+Wkv67Rn8+fqf4VoCShlwgVx9xDwIx/eP
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
igB2k+GG0a1vLe31vUmFzLJOWkWAlJJHLuy4iA5JPByOelVNL8DxaVaQWsOt6rJFbWL2NuJBB+5j
YoSRiIZP7tRls9+Kv6b4kh1O/Fg9le2NzJbfaoVuVQGSLIBZdrNjBZchsEZHFReH9Su21XVtEv5v
tFxpzROlwVCtLDKCULAADcCrqcAA7QcDOKAF0Pwv/YK2iRaxqN5DZWf2O2t7kxBET5MfcjUkgRgZ
JPBPrU2h6PNY3N/qN9JHJqOoSK03lZ2Roq7UjXPJAGTk9SxOBnA2aKACiiigAooooAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC
iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK
KKAKWsf8gS//AOvaT/0E1yNddrH/ACBL/wD69pP/AEE1yNAD7b/kI2n/AF0b/wBAavnH4xf8lV1r
/th/6Ijr6Otv+Qjaf9dG/wDQGr5x+MX/ACVXWv8Ath/6IjoA+mvh5/yJPh//ALBVt/6LSusrk/h5
/wAiT4f/AOwVbf8AotK6ygCrqenW2r6Xd6beIXtrqFoZVBwSrDBx781yUngXUJ5Z7ibW7d7t9LfS
0uRYbXMbshLSESfO2EwCNoBYnHaun17V4dA0C/1adS8VnA8zIvVtozgfXpVHTJvEi3sDasNPNlLa
PLKbeNkNtKCm1CzOd4IZ/mCr9ztkCgDNk+H9g2qzywJY2mnXemvp95ZWtmIvO3HO/cGwCOcfKep5
6Yn0vwpeWWupq91qlvdXUOntYRSCy8t3UsjBpSHO8jYOgUcn1rLn8a6rJZ+K7y1t7SODTdLj1HTm
mjZjMh8/lwGHDeTlcYIDAnPStRdd1GLxNpljdT2C2UujyX11J5LKQ8bRqSGL4VP3mcEEjb1OcgAm
0LQdX0SxvoP7VsZnuLma6jf7A6hHlkMjZHnHcvzEAZB9zUek+EntfBB8K6pexXtn9j+xh4bcwt5e
3aScu2T7jH0qwfGugrZ3V211MsNtb/apC1nMD5OceYqlMunqyggdapar42sj4e1u60S6ikv9PsJL
5EuLeQJIiqSGXO3ep2kblJAJ/CgCLT/AUEOn3un3v9lyW11ZvZtJZ6YtrOyMACXcMQTx2CjPOKt+
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