Import Geant4 10.3.0.beta source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
//$Id: .README.txt 94093 2015-11-05 15:16:06Z gcosmo $
|
||||
//$Id: .README.txt 94957 2016-01-08 13:27:26Z gcosmo $
|
||||
|
||||
///\file "B3/.README.txt"
|
||||
///\brief Example B3 README page
|
||||
@@ -38,6 +38,8 @@
|
||||
This physics list requires data files for:
|
||||
- low energy electromagnetic processes which path is defined via
|
||||
the G4LEDATA envirnoment variable
|
||||
- data files for nuclides properties which path is defined via
|
||||
the G4ENSDFSTATEDATA envirnoment variable
|
||||
- radioactive decay hadronic processes which path is defined via
|
||||
the G4RADIOACTIVEDATA envirnoment variable.
|
||||
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
//$Id: .README 94957 2016-01-08 13:27:26Z gcosmo $
|
||||
|
||||
///\file "B3/.README"
|
||||
///\brief Example B3 README page
|
||||
|
||||
/*! \page ExampleB3 Example B3
|
||||
|
||||
This example simulates schematically a Positron Emitted Tomography system.
|
||||
|
||||
\section B3_s1 GEOMETRY DEFINITION
|
||||
|
||||
The support of gamma detection are scintillating crystals. A small number
|
||||
of such crystals are optically grouped in a matrix of crystals. In
|
||||
this example, individual crystals are not described; only the matrix of
|
||||
crystals is and it is still called 'Crystal' hereafter.
|
||||
|
||||
Crystals are circularly arranged to form a ring. Few rings make up the full
|
||||
detector (gamma camera). This is done by positionning Crystals in
|
||||
Ring with an appropriate rotation matrix. Several copies of Ring are
|
||||
then placed in the full detector.
|
||||
|
||||
The head of a patient is schematised as a homogeneous cylinder of brain
|
||||
tissue, placed at the center of full detector.
|
||||
|
||||
The Crystal material, Lu2SiO5, is not included in the G4Nist database.
|
||||
Therefore, it is explicitly built in DefineMaterials().
|
||||
|
||||
\section B3_s2 PHYSICS LIST
|
||||
|
||||
The physics list contains standard electromagnetic processes and the
|
||||
radioactiveDecay module for GenericIon. It is defined in the B3PhysicsList
|
||||
class as a Geant4 modular physics list with registered physics builders
|
||||
provided in Geant4:
|
||||
- G4DecayPhysics - defines all particles and their decay processes
|
||||
- G4RadioactiveDecayPhysics - defines radioactiveDecay for GenericIon
|
||||
- G4EmStandardPhysics - defines all EM standard processes
|
||||
|
||||
This physics list requires data files for:
|
||||
- low energy electromagnetic processes which path is defined via
|
||||
the G4LEDATA envirnoment variable
|
||||
- radioactive decay hadronic processes which path is defined via
|
||||
the G4RADIOACTIVEDATA envirnoment variable.
|
||||
|
||||
See more on installation of the datasets in
|
||||
<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides
|
||||
/InstallationGuide/html/ch03s03.html">
|
||||
Geant4 Installation Guide, Chapter 3.3: Note On Geant4 Datasets </a>.
|
||||
|
||||
\section B3_s3 ACTION INITALIZATION
|
||||
|
||||
A newly introduced class, B1ActionInitialization, instantiates and registers
|
||||
to Geant4 kernel all user action classes.
|
||||
|
||||
While in sequential mode the action classes are instatiated just once,
|
||||
via invoking the method:
|
||||
B3ActionInitialization::Build()
|
||||
in multi-threading mode the same method is invoked for each thread worker
|
||||
and so all user action classes are defined thread-local.
|
||||
|
||||
A run action class is instantiated both thread-local
|
||||
and global that's why its instance is created also in the method
|
||||
B3ActionInitialization::BuildForMaster()
|
||||
which is invoked only in multi-threading mode.
|
||||
|
||||
\section B3_s4 PRIMARY GENERATOR
|
||||
|
||||
The default particle beam is an ion (F18), at rest, randomly distributed
|
||||
within a zone inside a patient and is defined in
|
||||
B3PrimaryGeneratorAction::GeneratePrimaries().
|
||||
The type of a primary particle can be changed with G4ParticleGun commands
|
||||
(see run2.mac).
|
||||
|
||||
\section B3_s5 DETECTOR RESPONSE : scorers
|
||||
|
||||
A 'good' event is an event in which an identical energy of 511 keV is
|
||||
deposited in two separate Crystals. A count of the number of such events
|
||||
corresponds to a measure of the efficiency of the PET system.
|
||||
The total dose deposited in a patient during a run is also computed.
|
||||
|
||||
Scorers are defined in DetectorConstruction::ConstructSDandField(). There are
|
||||
two G4MultiFunctionalDetector objects: one for the Crystal (EnergyDeposit),
|
||||
and one for the Patient (DoseDeposit)
|
||||
|
||||
B3Run::RecordEvent() collects informations event per event
|
||||
from the hits collections, and accumulates statistic for
|
||||
RunAction::EndOfRunAction().
|
||||
|
||||
In multi-threading mode the statistics accumulated per workers is merged
|
||||
to the master in Run::Merge().
|
||||
|
||||
\section B3_s6 STACKING ACTION
|
||||
|
||||
Beta decay of Fluor generates a neutrino. One wishes not to track this
|
||||
neutrino; therefore one kills it immediately, before created particles
|
||||
are put in a stack.
|
||||
The function B3StackingAction::ClassifyNewTrack() is invoked by G4 kernel
|
||||
each time a new particle is created.
|
||||
|
||||
<hr>
|
||||
|
||||
The following paragraphs are common to all basic examples
|
||||
|
||||
\section B3_A VISUALISATION
|
||||
|
||||
The visualization manager is set via the G4VisExecutive class
|
||||
in the main () function in exampleB3.cc.
|
||||
The initialisation of the drawing is done via a set of /vis/ commands
|
||||
in the macro vis.mac. This macro is automatically read from
|
||||
the main function when the example is used in interactive running mode.
|
||||
|
||||
By default, vis.mac opens an OpenGL viewer (/vis/open OGL).
|
||||
The user can change the initial viewer by commenting out this line
|
||||
and instead uncommenting one of the other /vis/open statements, such as
|
||||
HepRepFile or DAWNFILE (which produce files that can be viewed with the
|
||||
HepRApp and DAWN viewers, respectively). Note that one can always
|
||||
open new viewers at any time from the command line. For example, if
|
||||
you already have a view in, say, an OpenGL window with a name
|
||||
"viewer-0", then
|
||||
\verbatim
|
||||
/vis/open DAWNFILE
|
||||
\endverbatim
|
||||
then to get the same view
|
||||
\verbatim
|
||||
/vis/viewer/copyView viewer-0
|
||||
\endverbatim
|
||||
or to get the same view *plus* scene-modifications
|
||||
\verbatim
|
||||
/vis/viewer/set/all viewer-0
|
||||
\endverbatim
|
||||
then to see the result
|
||||
\verbatim
|
||||
/vis/viewer/flush
|
||||
\endverbatim
|
||||
|
||||
The DAWNFILE, HepRepFile drivers are always available
|
||||
(since they require no external libraries), but the OGL driver requires
|
||||
that the Geant4 libraries have been built with the OpenGL option.
|
||||
|
||||
For more information on visualization, including information on how to
|
||||
install and run DAWN, OpenGL and HepRApp, see the visualization tutorials,
|
||||
for example,\n
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">
|
||||
OpenGL Tutorial </a>
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4DAWNTutorial/G4DAWNTutorial.html">
|
||||
DAWN Tutorial </a>
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4HepRAppTutorial/G4HepRAppTutorial.html">
|
||||
HepRApp Tutorial </a>
|
||||
|
||||
The tracks are automatically drawn at the end of each event, accumulated
|
||||
for all events and erased at the beginning of the next run.
|
||||
|
||||
\section B3_B USER INTERFACES
|
||||
|
||||
The user command interface is set via the G4UIExecutive class
|
||||
in the main () function in exampleB3.cc
|
||||
The selection of the user command interface is then done automatically
|
||||
according to the Geant4 configuration or it can be done explicitly via
|
||||
the third argument of the G4UIExecutive constructor (see exampleB4a.cc).
|
||||
|
||||
\section B3_C HOW TO RUN
|
||||
|
||||
- Execute exampleB3 in the 'interactive mode' with visualization
|
||||
\verbatim
|
||||
% exampleB3
|
||||
and type in the commands from run1.mac line by line:
|
||||
Idle> /control/verbose 2
|
||||
Idle> /tracking/verbose 2
|
||||
Idle> /run/beamOn 1
|
||||
Idle> ...
|
||||
Idle> exit
|
||||
\endverbatim
|
||||
or
|
||||
\verbatim
|
||||
Idle> /control/execute run1.mac
|
||||
....
|
||||
Idle> exit
|
||||
\endverbatim
|
||||
|
||||
- Execute exampleB3 in the 'batch' mode from macro files
|
||||
(without visualization)
|
||||
\verbatim
|
||||
% exampleB3 run2.mac
|
||||
% exampleB3 exampleB3.in > exampleB3.out
|
||||
\endverbatim
|
||||
|
||||
*/
|
||||
@@ -1,90 +0,0 @@
|
||||
$Id: History 89902 2015-05-04 09:30:08Z ihrivnac $
|
||||
--------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
Example B3 History file
|
||||
-----------------------
|
||||
This file should be used by the G4 example coordinator to briefly
|
||||
summarize all major modifications introduced in the code and keep
|
||||
track of all tags.
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
04/05/15 I. Hrivnacova (exampleB3-V10-01-00)
|
||||
- Coding guidelines: removed empty lines
|
||||
|
||||
29/11/14 I. Hrivnacova
|
||||
- Use G4endl instead of \n in G4cout;
|
||||
this makes each new line in the output on threads preceded with
|
||||
G4WTN >
|
||||
|
||||
06/11/14 I. Hrivnacova
|
||||
- Finalized modifications in previous tag (01):
|
||||
- Removed G4UI_USE/G4VIS_USE tests and init.mac macro (not needed)
|
||||
- Moved G4UIExecutive at the beginning of main() in all examples
|
||||
- Perform run initialization in macros instead of main()
|
||||
|
||||
04/11/14 L. Garnier (exampleB3-V10-00-01)
|
||||
- Remove old G4UI_USE/G4VIS_USE
|
||||
- Move G4UIExecutive at the beginning of main()
|
||||
|
||||
29/10/13 I. Hrivnacova (exampleB3-V09-06-06)
|
||||
- Removed SetNumberOfThreads(4) from main (use Geant4 default)
|
||||
- Updated README
|
||||
|
||||
09/09/13 M.Asai (exampleB3-V09-06-05)
|
||||
- B3PrimaryGeneratorAction.cc : Change G4ParticleTable::GetIon() to
|
||||
G4IonTable::GetIon(), as the former method becomes obsolete.
|
||||
|
||||
13/06/13 mma (exampleB3-V09-06-04)
|
||||
Fixes for MT:
|
||||
- Set sensitive detector via SetSensitiveDetector(..)
|
||||
- Get hits collection IDs in B3Run::RecordEvent (and not B3Run constructor)
|
||||
- Add a test for primary generator action in B3RunAction::EndOfRunAction()
|
||||
as it does not exist on master
|
||||
|
||||
05/06/13 mma (exampleB3-V09-06-03)
|
||||
- add section about ACTION INITALIZATION to README and .README
|
||||
|
||||
01/06/13 mma (exampleB3-V09-06-02)
|
||||
- Migration for MT:
|
||||
forgotten to add B3Run
|
||||
|
||||
31/05/13 mma (exampleB3-V09-06-01)
|
||||
- Migration for MT:
|
||||
Added B3ActionInitialization, B3Run
|
||||
Removed B3EventAction
|
||||
and updated actions classes accordingly.
|
||||
README files still need to be updated.
|
||||
|
||||
28/02/13 I. Hrivnacova
|
||||
- When building materials with NistManager
|
||||
do not set fromIsotopes argument (which was set to false),
|
||||
as since 9.6 all materials have to be built from isotopes.
|
||||
Thanks to V. Ivantchenko for pointing at this.
|
||||
|
||||
21/11/11 I. Hrivnacova
|
||||
- Improved vis.mac
|
||||
- Removed alternative detector construction class
|
||||
|
||||
14/11/11 I. Hrivnacova
|
||||
- The first tagged version of the new B3 example
|
||||
(tagged in basic).
|
||||
|
||||
11-11-11 (mma)
|
||||
- EventAction: printModulo 10000
|
||||
|
||||
01-11-11 (mma)
|
||||
- DetectorConstruction2: - add an offset when replicate dPhi
|
||||
|
||||
29-09-11 (mma)
|
||||
- DetectorConstruction: - replace crystal shape Trd by Box
|
||||
- add a gap for wrapping
|
||||
|
||||
27-06-11 michel maire
|
||||
- Created.
|
||||
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
|
||||
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -37,16 +37,18 @@ Registering model factories...
|
||||
You have successfully registered the following model factories.
|
||||
Registered model factories:
|
||||
generic
|
||||
drawByCharge
|
||||
drawByParticleID
|
||||
drawByOriginVolume
|
||||
drawByAttribute
|
||||
drawByCharge
|
||||
drawByOriginVolume
|
||||
drawByParticleID
|
||||
drawByTouchedVolume
|
||||
|
||||
Registered filter factories:
|
||||
chargeFilter
|
||||
particleFilter
|
||||
originVolumeFilter
|
||||
attributeFilter
|
||||
chargeFilter
|
||||
originVolumeFilter
|
||||
particleFilter
|
||||
touchedVolumeFilter
|
||||
|
||||
You have successfully registered the following user vis actions.
|
||||
Run Duration User Vis Actions: none
|
||||
@@ -203,16 +205,16 @@ Checking overlaps for volume Patient ... OK!
|
||||
|
||||
|
||||
G4SDManager::AddNewCollection : the collection <crystal/edep> is registered at 1
|
||||
New sensitive detector <crystal> is registored at /
|
||||
New sensitive detector <crystal> is registered at /
|
||||
G4SDManager::AddNewCollection : the collection <patient/dose> is registered at 2
|
||||
New sensitive detector <patient> is registored at /
|
||||
New sensitive detector <patient> is registered at /
|
||||
#
|
||||
/run/beamOn 10000
|
||||
### Run 0 start.
|
||||
|
||||
--------------------End of Global Run-----------------------
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1294
|
||||
Total dose in patient : 291.523 picoGy
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1249
|
||||
Total dose in patient : 290.467 picoGy
|
||||
------------------------------------------------------------
|
||||
|
||||
Graphics systems deleted.
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
B3aEventAction::B3aEventAction(B3aRunAction* runAction)
|
||||
: G4UserEventAction(),
|
||||
fRunAction(runAction),
|
||||
fCollID_cryst(0),
|
||||
fCollID_patient(0)
|
||||
fCollID_cryst(-1),
|
||||
fCollID_patient(-1)
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -56,16 +56,8 @@ B3aEventAction::~B3aEventAction()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void B3aEventAction::BeginOfEventAction(const G4Event* evt )
|
||||
{
|
||||
G4int evtNb = evt->GetEventID();
|
||||
|
||||
if (evtNb == 0) {
|
||||
G4SDManager* SDMan = G4SDManager::GetSDMpointer();
|
||||
fCollID_cryst = SDMan->GetCollectionID("crystal/edep");
|
||||
fCollID_patient = SDMan->GetCollectionID("patient/dose");
|
||||
}
|
||||
}
|
||||
void B3aEventAction::BeginOfEventAction(const G4Event* /*evt*/)
|
||||
{ }
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -76,6 +68,13 @@ void B3aEventAction::EndOfEventAction(const G4Event* evt )
|
||||
G4HCofThisEvent* HCE = evt->GetHCofThisEvent();
|
||||
if(!HCE) return;
|
||||
|
||||
// Get hits collections IDs
|
||||
if (fCollID_cryst < 0) {
|
||||
G4SDManager* SDMan = G4SDManager::GetSDMpointer();
|
||||
fCollID_cryst = SDMan->GetCollectionID("crystal/edep");
|
||||
fCollID_patient = SDMan->GetCollectionID("patient/dose");
|
||||
}
|
||||
|
||||
//Energy in crystals : identify 'good events'
|
||||
//
|
||||
const G4double eThreshold = 500*keV;
|
||||
@@ -103,7 +102,7 @@ void B3aEventAction::EndOfEventAction(const G4Event* evt )
|
||||
///G4int copyNb = (itr->first);
|
||||
dose = *(itr->second);
|
||||
}
|
||||
if (dose > 0.) fRunAction->SumDose(dose);
|
||||
if (dose > 0.) fRunAction->SumDose(dose);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
//$Id: .README 94957 2016-01-08 13:27:26Z gcosmo $
|
||||
|
||||
///\file "B3/.README"
|
||||
///\brief Example B3 README page
|
||||
|
||||
/*! \page ExampleB3 Example B3
|
||||
|
||||
This example simulates schematically a Positron Emitted Tomography system.
|
||||
|
||||
\section B3_s1 GEOMETRY DEFINITION
|
||||
|
||||
The support of gamma detection are scintillating crystals. A small number
|
||||
of such crystals are optically grouped in a matrix of crystals. In
|
||||
this example, individual crystals are not described; only the matrix of
|
||||
crystals is and it is still called 'Crystal' hereafter.
|
||||
|
||||
Crystals are circularly arranged to form a ring. Few rings make up the full
|
||||
detector (gamma camera). This is done by positionning Crystals in
|
||||
Ring with an appropriate rotation matrix. Several copies of Ring are
|
||||
then placed in the full detector.
|
||||
|
||||
The head of a patient is schematised as a homogeneous cylinder of brain
|
||||
tissue, placed at the center of full detector.
|
||||
|
||||
The Crystal material, Lu2SiO5, is not included in the G4Nist database.
|
||||
Therefore, it is explicitly built in DefineMaterials().
|
||||
|
||||
\section B3_s2 PHYSICS LIST
|
||||
|
||||
The physics list contains standard electromagnetic processes and the
|
||||
radioactiveDecay module for GenericIon. It is defined in the B3PhysicsList
|
||||
class as a Geant4 modular physics list with registered physics builders
|
||||
provided in Geant4:
|
||||
- G4DecayPhysics - defines all particles and their decay processes
|
||||
- G4RadioactiveDecayPhysics - defines radioactiveDecay for GenericIon
|
||||
- G4EmStandardPhysics - defines all EM standard processes
|
||||
|
||||
This physics list requires data files for:
|
||||
- low energy electromagnetic processes which path is defined via
|
||||
the G4LEDATA envirnoment variable
|
||||
- radioactive decay hadronic processes which path is defined via
|
||||
the G4RADIOACTIVEDATA envirnoment variable.
|
||||
|
||||
See more on installation of the datasets in
|
||||
<a href="http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides
|
||||
/InstallationGuide/html/ch03s03.html">
|
||||
Geant4 Installation Guide, Chapter 3.3: Note On Geant4 Datasets </a>.
|
||||
|
||||
\section B3_s3 ACTION INITALIZATION
|
||||
|
||||
A newly introduced class, B1ActionInitialization, instantiates and registers
|
||||
to Geant4 kernel all user action classes.
|
||||
|
||||
While in sequential mode the action classes are instatiated just once,
|
||||
via invoking the method:
|
||||
B3ActionInitialization::Build()
|
||||
in multi-threading mode the same method is invoked for each thread worker
|
||||
and so all user action classes are defined thread-local.
|
||||
|
||||
A run action class is instantiated both thread-local
|
||||
and global that's why its instance is created also in the method
|
||||
B3ActionInitialization::BuildForMaster()
|
||||
which is invoked only in multi-threading mode.
|
||||
|
||||
\section B3_s4 PRIMARY GENERATOR
|
||||
|
||||
The default particle beam is an ion (F18), at rest, randomly distributed
|
||||
within a zone inside a patient and is defined in
|
||||
B3PrimaryGeneratorAction::GeneratePrimaries().
|
||||
The type of a primary particle can be changed with G4ParticleGun commands
|
||||
(see run2.mac).
|
||||
|
||||
\section B3_s5 DETECTOR RESPONSE : scorers
|
||||
|
||||
A 'good' event is an event in which an identical energy of 511 keV is
|
||||
deposited in two separate Crystals. A count of the number of such events
|
||||
corresponds to a measure of the efficiency of the PET system.
|
||||
The total dose deposited in a patient during a run is also computed.
|
||||
|
||||
Scorers are defined in DetectorConstruction::ConstructSDandField(). There are
|
||||
two G4MultiFunctionalDetector objects: one for the Crystal (EnergyDeposit),
|
||||
and one for the Patient (DoseDeposit)
|
||||
|
||||
B3Run::RecordEvent() collects informations event per event
|
||||
from the hits collections, and accumulates statistic for
|
||||
RunAction::EndOfRunAction().
|
||||
|
||||
In multi-threading mode the statistics accumulated per workers is merged
|
||||
to the master in Run::Merge().
|
||||
|
||||
\section B3_s6 STACKING ACTION
|
||||
|
||||
Beta decay of Fluor generates a neutrino. One wishes not to track this
|
||||
neutrino; therefore one kills it immediately, before created particles
|
||||
are put in a stack.
|
||||
The function B3StackingAction::ClassifyNewTrack() is invoked by G4 kernel
|
||||
each time a new particle is created.
|
||||
|
||||
<hr>
|
||||
|
||||
The following paragraphs are common to all basic examples
|
||||
|
||||
\section B3_A VISUALISATION
|
||||
|
||||
The visualization manager is set via the G4VisExecutive class
|
||||
in the main () function in exampleB3.cc.
|
||||
The initialisation of the drawing is done via a set of /vis/ commands
|
||||
in the macro vis.mac. This macro is automatically read from
|
||||
the main function when the example is used in interactive running mode.
|
||||
|
||||
By default, vis.mac opens an OpenGL viewer (/vis/open OGL).
|
||||
The user can change the initial viewer by commenting out this line
|
||||
and instead uncommenting one of the other /vis/open statements, such as
|
||||
HepRepFile or DAWNFILE (which produce files that can be viewed with the
|
||||
HepRApp and DAWN viewers, respectively). Note that one can always
|
||||
open new viewers at any time from the command line. For example, if
|
||||
you already have a view in, say, an OpenGL window with a name
|
||||
"viewer-0", then
|
||||
\verbatim
|
||||
/vis/open DAWNFILE
|
||||
\endverbatim
|
||||
then to get the same view
|
||||
\verbatim
|
||||
/vis/viewer/copyView viewer-0
|
||||
\endverbatim
|
||||
or to get the same view *plus* scene-modifications
|
||||
\verbatim
|
||||
/vis/viewer/set/all viewer-0
|
||||
\endverbatim
|
||||
then to see the result
|
||||
\verbatim
|
||||
/vis/viewer/flush
|
||||
\endverbatim
|
||||
|
||||
The DAWNFILE, HepRepFile drivers are always available
|
||||
(since they require no external libraries), but the OGL driver requires
|
||||
that the Geant4 libraries have been built with the OpenGL option.
|
||||
|
||||
For more information on visualization, including information on how to
|
||||
install and run DAWN, OpenGL and HepRApp, see the visualization tutorials,
|
||||
for example,\n
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4OpenGLTutorial/G4OpenGLTutorial.html">
|
||||
OpenGL Tutorial </a>
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4DAWNTutorial/G4DAWNTutorial.html">
|
||||
DAWN Tutorial </a>
|
||||
- <a href="http://geant4.slac.stanford.edu/Presentations/vis/G4HepRAppTutorial/G4HepRAppTutorial.html">
|
||||
HepRApp Tutorial </a>
|
||||
|
||||
The tracks are automatically drawn at the end of each event, accumulated
|
||||
for all events and erased at the beginning of the next run.
|
||||
|
||||
\section B3_B USER INTERFACES
|
||||
|
||||
The user command interface is set via the G4UIExecutive class
|
||||
in the main () function in exampleB3.cc
|
||||
The selection of the user command interface is then done automatically
|
||||
according to the Geant4 configuration or it can be done explicitly via
|
||||
the third argument of the G4UIExecutive constructor (see exampleB4a.cc).
|
||||
|
||||
\section B3_C HOW TO RUN
|
||||
|
||||
- Execute exampleB3 in the 'interactive mode' with visualization
|
||||
\verbatim
|
||||
% exampleB3
|
||||
and type in the commands from run1.mac line by line:
|
||||
Idle> /control/verbose 2
|
||||
Idle> /tracking/verbose 2
|
||||
Idle> /run/beamOn 1
|
||||
Idle> ...
|
||||
Idle> exit
|
||||
\endverbatim
|
||||
or
|
||||
\verbatim
|
||||
Idle> /control/execute run1.mac
|
||||
....
|
||||
Idle> exit
|
||||
\endverbatim
|
||||
|
||||
- Execute exampleB3 in the 'batch' mode from macro files
|
||||
(without visualization)
|
||||
\verbatim
|
||||
% exampleB3 run2.mac
|
||||
% exampleB3 exampleB3.in > exampleB3.out
|
||||
\endverbatim
|
||||
|
||||
*/
|
||||
@@ -1,90 +0,0 @@
|
||||
$Id: History 89902 2015-05-04 09:30:08Z ihrivnac $
|
||||
--------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
||||
=========================================================
|
||||
|
||||
Example B3 History file
|
||||
-----------------------
|
||||
This file should be used by the G4 example coordinator to briefly
|
||||
summarize all major modifications introduced in the code and keep
|
||||
track of all tags.
|
||||
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
04/05/15 I. Hrivnacova (exampleB3-V10-01-00)
|
||||
- Coding guidelines: removed empty lines
|
||||
|
||||
29/11/14 I. Hrivnacova
|
||||
- Use G4endl instead of \n in G4cout;
|
||||
this makes each new line in the output on threads preceded with
|
||||
G4WTN >
|
||||
|
||||
06/11/14 I. Hrivnacova
|
||||
- Finalized modifications in previous tag (01):
|
||||
- Removed G4UI_USE/G4VIS_USE tests and init.mac macro (not needed)
|
||||
- Moved G4UIExecutive at the beginning of main() in all examples
|
||||
- Perform run initialization in macros instead of main()
|
||||
|
||||
04/11/14 L. Garnier (exampleB3-V10-00-01)
|
||||
- Remove old G4UI_USE/G4VIS_USE
|
||||
- Move G4UIExecutive at the beginning of main()
|
||||
|
||||
29/10/13 I. Hrivnacova (exampleB3-V09-06-06)
|
||||
- Removed SetNumberOfThreads(4) from main (use Geant4 default)
|
||||
- Updated README
|
||||
|
||||
09/09/13 M.Asai (exampleB3-V09-06-05)
|
||||
- B3PrimaryGeneratorAction.cc : Change G4ParticleTable::GetIon() to
|
||||
G4IonTable::GetIon(), as the former method becomes obsolete.
|
||||
|
||||
13/06/13 mma (exampleB3-V09-06-04)
|
||||
Fixes for MT:
|
||||
- Set sensitive detector via SetSensitiveDetector(..)
|
||||
- Get hits collection IDs in B3Run::RecordEvent (and not B3Run constructor)
|
||||
- Add a test for primary generator action in B3RunAction::EndOfRunAction()
|
||||
as it does not exist on master
|
||||
|
||||
05/06/13 mma (exampleB3-V09-06-03)
|
||||
- add section about ACTION INITALIZATION to README and .README
|
||||
|
||||
01/06/13 mma (exampleB3-V09-06-02)
|
||||
- Migration for MT:
|
||||
forgotten to add B3Run
|
||||
|
||||
31/05/13 mma (exampleB3-V09-06-01)
|
||||
- Migration for MT:
|
||||
Added B3ActionInitialization, B3Run
|
||||
Removed B3EventAction
|
||||
and updated actions classes accordingly.
|
||||
README files still need to be updated.
|
||||
|
||||
28/02/13 I. Hrivnacova
|
||||
- When building materials with NistManager
|
||||
do not set fromIsotopes argument (which was set to false),
|
||||
as since 9.6 all materials have to be built from isotopes.
|
||||
Thanks to V. Ivantchenko for pointing at this.
|
||||
|
||||
21/11/11 I. Hrivnacova
|
||||
- Improved vis.mac
|
||||
- Removed alternative detector construction class
|
||||
|
||||
14/11/11 I. Hrivnacova
|
||||
- The first tagged version of the new B3 example
|
||||
(tagged in basic).
|
||||
|
||||
11-11-11 (mma)
|
||||
- EventAction: printModulo 10000
|
||||
|
||||
01-11-11 (mma)
|
||||
- DetectorConstruction2: - add an offset when replicate dPhi
|
||||
|
||||
29-09-11 (mma)
|
||||
- DetectorConstruction: - replace crystal shape Trd by Box
|
||||
- add a gap for wrapping
|
||||
|
||||
27-06-11 michel maire
|
||||
- Created.
|
||||
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-02-ref-00 (4-December-2015)
|
||||
Geant4 version Name: geant4-10-03-beta-01 (30-June-2016)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -37,16 +37,18 @@ Registering model factories...
|
||||
You have successfully registered the following model factories.
|
||||
Registered model factories:
|
||||
generic
|
||||
drawByCharge
|
||||
drawByParticleID
|
||||
drawByOriginVolume
|
||||
drawByAttribute
|
||||
drawByCharge
|
||||
drawByOriginVolume
|
||||
drawByParticleID
|
||||
drawByTouchedVolume
|
||||
|
||||
Registered filter factories:
|
||||
chargeFilter
|
||||
particleFilter
|
||||
originVolumeFilter
|
||||
attributeFilter
|
||||
chargeFilter
|
||||
originVolumeFilter
|
||||
particleFilter
|
||||
touchedVolumeFilter
|
||||
|
||||
You have successfully registered the following user vis actions.
|
||||
Run Duration User Vis Actions: none
|
||||
@@ -203,9 +205,9 @@ Checking overlaps for volume Patient ... OK!
|
||||
|
||||
|
||||
G4SDManager::AddNewCollection : the collection <crystal/edep> is registered at 1
|
||||
New sensitive detector <crystal> is registored at /
|
||||
New sensitive detector <crystal> is registered at /
|
||||
G4SDManager::AddNewCollection : the collection <patient/dose> is registered at 2
|
||||
New sensitive detector <patient> is registored at /
|
||||
New sensitive detector <patient> is registered at /
|
||||
#
|
||||
/run/beamOn 10000
|
||||
### Run 0 start.
|
||||
@@ -213,8 +215,8 @@ New sensitive detector <patient> is registored at /
|
||||
---> end of event: 0
|
||||
|
||||
--------------------End of Global Run-----------------------
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1294
|
||||
Total dose in patient : 291.523 picoGy
|
||||
The run was 10000 events Nb of 'good' e+ annihilations: 1249
|
||||
Total dose in patient : 290.467 picoGy
|
||||
------------------------------------------------------------
|
||||
|
||||
Graphics systems deleted.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History 94093 2015-11-05 15:16:06Z gcosmo $
|
||||
$Id: History 97070 2016-05-24 08:49:17Z gcosmo $
|
||||
--------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,14 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
24/05/16 I. Hrivnacova (exampleB3-V10-02-01)
|
||||
- Fixed compiler warning introduced in the previous update
|
||||
|
||||
20/05/16 I. Hrivnacova (exampleB3-V10-02-00)
|
||||
- Fixed initialization of the hits collections IDs in B3aEventAction
|
||||
(this fixes the problem report #1862)
|
||||
- Removed History files from B3a and B3b
|
||||
|
||||
05/11/15 I. Hrivnacova (exampleB3-V10-01-01)
|
||||
- Splitting example in two variants of merging data:
|
||||
-B3a (new) with the code based on G4Parameter
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: README 94093 2015-11-05 15:16:06Z gcosmo $
|
||||
$Id: README 94957 2016-01-08 13:27:26Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -41,6 +41,8 @@ $Id: README 94093 2015-11-05 15:16:06Z gcosmo $
|
||||
This physics list requires data files for:
|
||||
- low energy electromagnetic processes which path is defined via
|
||||
the G4LEDATA envirnoment variable
|
||||
- nuclides properties which path is defined via
|
||||
the G4ENSDFSTATEDATA envirnoment variable
|
||||
- radioactive decay hadronic processes which path is defined via
|
||||
the G4RADIOACTIVEDATA envirnoment variable.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user