Import Geant4 11.2.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2023-06-30 09:09:57 +02:00
parent aef78ca386
commit dd1f179cda
3780 changed files with 212808 additions and 142780 deletions
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -45,7 +45,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -240,7 +242,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -272,7 +274,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -304,7 +306,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -317,7 +319,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -363,7 +364,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -395,7 +396,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -427,7 +428,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -459,7 +460,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -491,7 +492,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -523,7 +524,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -555,7 +556,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -940,12 +941,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -5,6 +5,14 @@ which **must** added in reverse chronological order (newest at the top). It must
be used as a substitute for writing good git commit messages!
## 2023-03-28 John Allison (exam-ext-vis-persp-V11-01-01)
- PerspectiveVisAction.hh:
- Remove unnecessary forward class declarations.
- clang-format.
## 2023-02-02 Igor Semeniouk (exam-ext-vis-persp-V11-01-00)
- PerspectiveVisAction.hh - fix missing include for G4Transform3D
## 2021-12-10 Ben Morgan (exam-ext-vis-persp-V11-00-00)
- Change to new Markdown History format
@@ -31,46 +31,41 @@
#ifndef PERSPECTIVEVISACTION_HH
#define PERSPECTIVEVISACTION_HH
#include "G4String.hh"
#include "G4Transform3D.hh"
#include "G4VUserVisAction.hh"
#include "G4String.hh"
#include <map>
#include <vector>
/*
class G4AttDef;
class G4AttValue;
*/
class G4VVisManager;
class G4VSolid;
class G4VisAttributes;
class PerspectiveVisAction: public G4VUserVisAction {
public:
PerspectiveVisAction();
void SetOptionString(const G4String& optionString)
{fOptionString = optionString;}
void SetScene(const G4String& scene)
{fScene = scene;}
virtual void Draw();
private:
void ExtendedDraw (const G4VSolid&, const G4VisAttributes&,
const G4Transform3D& objectTransformation = G4Transform3D());
void RoomAndChair();
void Chair(const G4VisAttributes&, const G4Transform3D&);
G4VVisManager* fpVisManager;
G4String fOptionString;
G4String fScene;
G4double fRoomX, fRoomY, fRoomZ, // Half lengths.
fWindowX, fWindowY, fWindowZ, fWindowSillHeight, fWindowOffset,
fDoorFrameX, fDoorFrameY, fDoorFrameZ, fDoorFrameOffset,
fDoorX, fDoorY, fDoorZ,
fChairX, // Half width.
fChairY, // Half depth.
fChairZ, // Half height.
fChairSeat, // Half height of top of seat.
fChairThickness; // Half thicknes of back, seat, legs.
class PerspectiveVisAction : public G4VUserVisAction
{
public:
PerspectiveVisAction();
void SetOptionString(const G4String& optionString) { fOptionString = optionString; }
void SetScene(const G4String& scene) { fScene = scene; }
virtual void Draw();
private:
void ExtendedDraw(const G4VSolid&, const G4VisAttributes&,
const G4Transform3D& objectTransformation = G4Transform3D());
void RoomAndChair();
void Chair(const G4VisAttributes&, const G4Transform3D&);
G4VVisManager* fpVisManager;
G4String fOptionString;
G4String fScene;
G4double fRoomX, fRoomY, fRoomZ, // Half lengths.
fWindowX, fWindowY, fWindowZ, fWindowSillHeight, fWindowOffset, fDoorFrameX, fDoorFrameY,
fDoorFrameZ, fDoorFrameOffset, fDoorX, fDoorY, fDoorZ,
fChairX, // Half width.
fChairY, // Half depth.
fChairZ, // Half height.
fChairSeat, // Half height of top of seat.
fChairThickness; // Half thicknes of back, seat, legs.
};
#endif
@@ -7,28 +7,35 @@ examples/extended/visualization/standalone
This example illustrates how one might use the Geant4 Visualization
System as a "stand alone" graphics library and viewer. It makes use
of the "user action" feature of the Geant4 vis manager - for a fuller
example of the use of this feature see
examples/extended/visualization/userVisAction.
System as a "standalone" graphics library and viewer, i.e, without
the overhead of the run manager and all the actions and physics.
1) Define a G4VUserVisAction that implements a Draw method. An
example is provided - see StandaloneVisAction.hh/cc.
StandaloneVisAction::Draw illustrates:
a) a simple box;
b) a Boolean solid;
c) an alternative way of drawing a solid by obtaining the
polyhedral representation.
The last is included for interest, not as a recommendation.
It makes use of the "user action" feature of the Geant4 vis manager - for
a simple example see examples/extended/visualization/userVisAction. You
have to encapsulate your drawing in a vis action so that the vis manager
can call it and re-call it as appropriate.
1) Define a G4VUserVisAction that implements a Draw method. Two
examples are provided:
- StandaloneVisAction:
- a simple box;
- a Boolean solid;
- an alternative way of drawing a solid by obtaining the
polyhedral representation (included for interest, not as a
recommendation).
- DrawGeometryVisAction:
- Shows how to visualise your geometry alone, i.e., without the
run manager and the physics stuff.
2) In the main () program (see standalone.cc), StandaloneVisAction must be instantiated and
its pointer registered with the visualization manager. You may
optionally specify an extent at this point to assist the viewers to
locate the objects.
2) In the main program, the vis actions must be instantiated and
registered with the visualization manager. You may (optionally)
specify an extent to assist the viewers to locate the objects.
3) To visualise, use the usual Geant4 vis commands to create a view
and scene, then add the vis action to the scene, optionally with an
extent - see standalone.mac.
3) To visualise, you need:
- /vis/scene/add/userAction
4) Use the usual Geant4 vis commands to create a scene
and view (including the above command) - see standalone.mac.
Note: The system needs an "extent" in order to point the virtual
camera and adjust its field of view, etc. This defines the "standard
@@ -37,5 +44,5 @@ be specified as suggested above or by using /vis/scene/add/extent.
John Allison
27th November 2014
30th December 2022
*/
@@ -5,6 +5,12 @@ which **must** added in reverse chronological order (newest at the top). It must
be used as a substitute for writing good git commit messages!
## 2022-12-30 John Allison (exam-ext-vis-standalone-V11-01-00)
- Include an example of DrawGeometry.
- DrawGeometryVisAction:
- Shows how to visualise your geometry alone, i.e., without the
run manager and the physics stuff.
## 2022-11-04 John Allison (exam-ext-vis-standalone-V11-00-01)
- Fix typo in README files
@@ -6,34 +6,41 @@
------------------------------------------
This example illustrates how one might use the Geant4 Visualization
System as a "stand alone" graphics library and viewer. It makes use
of the "user action" feature of the Geant4 vis manager - for a fuller
example of the use of this feature see
examples/extended/visualization/userVisAction.
System as a "standalone" graphics library and viewer, i.e, without
the overhead of the run manager and all the actions and physics.
1) Define a G4VUserVisAction that implements a Draw method. An
example is provided - see StandaloneVisAction.hh/cc.
StandaloneVisAction::Draw illustrates:
a) a simple box;
b) a Boolean solid;
c) an alternative way of drawing a solid by obtaining the
polyhedral representation.
The last is included for interest, not as a recommendation.
It makes use of the "user action" feature of the Geant4 vis manager - for
a simple example see examples/extended/visualization/userVisAction. You
have to encapsulate your drawing in a vis action so that the vis manager
can call it and re-call it as appropriate.
1) Define a G4VUserVisAction that implements a Draw method. Two
examples are provided:
- StandaloneVisAction:
- a simple box;
- a Boolean solid;
- an alternative way of drawing a solid by obtaining the
polyhedral representation (included for interest, not as a
recommendation).
- DrawGeometryVisAction:
- Shows how to visualise your geometry alone, i.e., without the
run manager and the physics stuff.
2) In the main program, StandaloneVisAction must be instantiated and
its pointer registered with the visualization manager. You may
optionally specify an extent at this point to assist the viewers to
locate the objects.
2) In the main program, the vis actions must be instantiated and
registered with the visualization manager. You may (optionally)
specify an extent to assist the viewers to locate the objects.
3) To visualise, use the usual Geant4 vis commands to create a view
and scene, then add the vis action to the scene, optionally with an
extent - see standalone.mac.
3) To visualise, you need:
- /vis/scene/add/userAction
4) Use the usual Geant4 vis commands to create a scene
and view (including the above command) - see standalone.mac.
Note: The system needs an "extent" in order to point the virtual
camera and adjust its field of view, etc. This defines the "standard
camera and adjust its field of view, etc. This defines the "standard
view". You may zoom, etc., from this standard view. The extent may
be specified as suggested above or by using /vis/scene/add/extent.
John Allison
27th November 2014
30th December 2022
@@ -0,0 +1,62 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
/// \file DetectorConstruction.hh
/// \brief Definition of the B1::DetectorConstruction class
#ifndef B1DetectorConstruction_h
#define B1DetectorConstruction_h 1
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
class G4VPhysicalVolume;
class G4LogicalVolume;
/// Detector construction class to define materials and geometry.
namespace B1
{
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
DetectorConstruction() = default;
~DetectorConstruction() override = default;
G4VPhysicalVolume* Construct() override;
G4LogicalVolume* GetScoringVolume() const { return fScoringVolume; }
protected:
G4LogicalVolume* fScoringVolume = nullptr;
};
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -0,0 +1,57 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
/// \file visualization/standalone/include/DrawGeometryVisAction.hh
/// \brief Definition of the DrawGeometryVisAction class
//
//
#ifndef DRAWGEOMETRYVISACTION_HH
#define DRAWGEOMETRYVISACTION_HH
#include "G4VUserVisAction.hh"
namespace B1 { // Taken from example/basic/B1
class DetectorConstruction;
}
class G4VPhysicalVolume;
#include "G4Transform3D.hh"
#include "G4VisExtent.hh"
class DrawGeometryVisAction: public G4VUserVisAction {
public:
DrawGeometryVisAction();
~DrawGeometryVisAction();
void Draw() override;
const G4VisExtent& GetVisxtent() const {return fExtent;}
private:
B1::DetectorConstruction* fDetectorConstruction;
G4VPhysicalVolume* fPhysicalVolume;
G4Transform3D fTransform;
G4VisExtent fExtent;
};
#endif
@@ -33,8 +33,15 @@
#include "G4VUserVisAction.hh"
class G4Polyhedron;
class StandaloneVisAction: public G4VUserVisAction {
virtual void Draw();
public:
StandaloneVisAction();
~StandaloneVisAction();
void Draw() override;
private:
G4Polyhedron* fpSubtractedPolyhedron;
};
#endif
@@ -0,0 +1,170 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
//
/// \file DetectorConstruction.cc
/// \brief Implementation of the B1::DetectorConstruction class
#include "DetectorConstruction.hh"
#include "G4RunManager.hh"
#include "G4NistManager.hh"
#include "G4Box.hh"
#include "G4Cons.hh"
#include "G4Orb.hh"
#include "G4Sphere.hh"
#include "G4Trd.hh"
#include "G4LogicalVolume.hh"
#include "G4PVPlacement.hh"
#include "G4SystemOfUnits.hh"
namespace B1
{
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
G4VPhysicalVolume* DetectorConstruction::Construct()
{
// Get nist material manager
G4NistManager* nist = G4NistManager::Instance();
// Envelope parameters
//
G4double env_sizeXY = 20*cm, env_sizeZ = 30*cm;
G4Material* env_mat = nist->FindOrBuildMaterial("G4_WATER");
// Option to switch on/off checking of volumes overlaps
//
G4bool checkOverlaps = true;
//
// World
//
G4double world_sizeXY = 1.2*env_sizeXY;
G4double world_sizeZ = 1.2*env_sizeZ;
G4Material* world_mat = nist->FindOrBuildMaterial("G4_AIR");
auto solidWorld = new G4Box("World", // its name
0.5 * world_sizeXY, 0.5 * world_sizeXY, 0.5 * world_sizeZ); // its size
auto logicWorld = new G4LogicalVolume(solidWorld, // its solid
world_mat, // its material
"World"); // its name
auto physWorld = new G4PVPlacement(nullptr, // no rotation
G4ThreeVector(), // at (0,0,0)
logicWorld, // its logical volume
"World", // its name
nullptr, // its mother volume
false, // no boolean operation
0, // copy number
checkOverlaps); // overlaps checking
//
// Envelope
//
auto solidEnv = new G4Box("Envelope", // its name
0.5 * env_sizeXY, 0.5 * env_sizeXY, 0.5 * env_sizeZ); // its size
auto logicEnv = new G4LogicalVolume(solidEnv, // its solid
env_mat, // its material
"Envelope"); // its name
new G4PVPlacement(nullptr, // no rotation
G4ThreeVector(), // at (0,0,0)
logicEnv, // its logical volume
"Envelope", // its name
logicWorld, // its mother volume
false, // no boolean operation
0, // copy number
checkOverlaps); // overlaps checking
//
// Shape 1
//
G4Material* shape1_mat = nist->FindOrBuildMaterial("G4_A-150_TISSUE");
G4ThreeVector pos1 = G4ThreeVector(0, 2*cm, -7*cm);
// Conical section shape
G4double shape1_rmina = 0.*cm, shape1_rmaxa = 2.*cm;
G4double shape1_rminb = 0.*cm, shape1_rmaxb = 4.*cm;
G4double shape1_hz = 3.*cm;
G4double shape1_phimin = 0.*deg, shape1_phimax = 360.*deg;
auto solidShape1 = new G4Cons("Shape1", shape1_rmina, shape1_rmaxa, shape1_rminb, shape1_rmaxb,
shape1_hz, shape1_phimin, shape1_phimax);
auto logicShape1 = new G4LogicalVolume(solidShape1, // its solid
shape1_mat, // its material
"Shape1"); // its name
new G4PVPlacement(nullptr, // no rotation
pos1, // at position
logicShape1, // its logical volume
"Shape1", // its name
logicEnv, // its mother volume
false, // no boolean operation
0, // copy number
checkOverlaps); // overlaps checking
//
// Shape 2
//
G4Material* shape2_mat = nist->FindOrBuildMaterial("G4_BONE_COMPACT_ICRU");
G4ThreeVector pos2 = G4ThreeVector(0, -1*cm, 7*cm);
// Trapezoid shape
G4double shape2_dxa = 12*cm, shape2_dxb = 12*cm;
G4double shape2_dya = 10*cm, shape2_dyb = 16*cm;
G4double shape2_dz = 6*cm;
auto solidShape2 = new G4Trd("Shape2", // its name
0.5 * shape2_dxa, 0.5 * shape2_dxb, 0.5 * shape2_dya, 0.5 * shape2_dyb,
0.5 * shape2_dz); // its size
auto logicShape2 = new G4LogicalVolume(solidShape2, // its solid
shape2_mat, // its material
"Shape2"); // its name
new G4PVPlacement(nullptr, // no rotation
pos2, // at position
logicShape2, // its logical volume
"Shape2", // its name
logicEnv, // its mother volume
false, // no boolean operation
0, // copy number
checkOverlaps); // overlaps checking
// Set Shape2 as scoring volume
//
fScoringVolume = logicShape2;
//
//always return the physical World
//
return physWorld;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
}
@@ -0,0 +1,68 @@
//
// ********************************************************************
// * 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. *
// ********************************************************************
//
/// \file visualization/standalone/src/DrawGeometryVisAction.cc
/// \brief Implementation of the DrawGeometryVisAction class
//
//
#include "DrawGeometryVisAction.hh"
#include "G4VVisManager.hh"
#include "DetectorConstruction.hh"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
#include "G4VSolid.hh"
#include "G4SystemOfUnits.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DrawGeometryVisAction::DrawGeometryVisAction() {
// Get a physical volume from your detector construction
fDetectorConstruction = new B1::DetectorConstruction();
// (I think, properly, we should delete this in the destructor.)
fPhysicalVolume = fDetectorConstruction->Construct();
// (I think the deletion of constructed volumes is handled by the volume stores.)
// Give this an overall transform to avoid clash with other vis action(s)
fTransform = G4Translate3D(-20*cm,20*cm,0);
fExtent = fPhysicalVolume->GetLogicalVolume()->GetSolid()->GetExtent().Transform(fTransform);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
DrawGeometryVisAction::~DrawGeometryVisAction() {
delete fDetectorConstruction;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void DrawGeometryVisAction::Draw() {
G4VVisManager* pVisManager = G4VVisManager::GetConcreteInstance();
if (pVisManager) {
pVisManager->DrawGeometry(fPhysicalVolume,fTransform);
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -39,34 +39,45 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StandaloneVisAction::StandaloneVisAction() {
auto pA = G4Box("boxA",3*cm,3*cm,3*cm).CreatePolyhedron();
auto pB = G4Box("boxB",1*cm,1*cm,1*cm).CreatePolyhedron();
pB->Transform(G4Translate3D(3*cm,3*cm,3*cm));
fpSubtractedPolyhedron = new G4Polyhedron(pA->subtract(*pB));
G4VisAttributes subVisAtts(G4Colour(0,1,1));
fpSubtractedPolyhedron->SetVisAttributes(subVisAtts);
delete pA;
delete pB;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
StandaloneVisAction::~StandaloneVisAction() {
delete fpSubtractedPolyhedron;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void StandaloneVisAction::Draw() {
G4VVisManager* pVisManager = G4VVisManager::GetConcreteInstance();
if (pVisManager) {
// Simple box...
pVisManager->Draw(G4Box("box",2*m,2*m,2*m),
pVisManager->Draw(G4Box("box",2*cm,2*cm,2*cm),
G4VisAttributes(G4Colour(1,1,0)));
// Boolean solid...
G4Box boxA("boxA",3*m,3*m,3*m);
G4Box boxB("boxB",1*m,1*m,1*m);
G4Box boxA("boxA",3*cm,3*cm,3*cm);
G4Box boxB("boxB",1*cm,1*cm,1*cm);
G4SubtractionSolid subtracted("subtracted_boxes",&boxA,&boxB,
G4Translate3D(3*m,3*m,3*m));
G4Translate3D(3*cm,3*cm,3*cm));
pVisManager->Draw(subtracted,
G4VisAttributes(G4Colour(0,1,1)),
G4Translate3D(-6*m,-6*m,-6*m));
G4Translate3D(-6*cm,-6*cm,-6*cm));
// Same, but explicit polyhedron...
G4Polyhedron* pA = G4Box("boxA",3*m,3*m,3*m).CreatePolyhedron();
G4Polyhedron* pB = G4Box("boxB",1*m,1*m,1*m).CreatePolyhedron();
pB->Transform(G4Translate3D(3*m,3*m,3*m));
G4Polyhedron* pSubtracted = new G4Polyhedron(pA->subtract(*pB));
G4VisAttributes subVisAtts(G4Colour(0,1,1));
pSubtracted->SetVisAttributes(&subVisAtts);
pVisManager->Draw(*pSubtracted,G4Translate3D(6*m,6*m,6*m));
delete pA;
delete pB;
delete pSubtracted;
// The heavy work is done in the constructor
pVisManager->Draw(*fpSubtractedPolyhedron,G4Translate3D(6*cm,6*cm,6*cm));
}
}
@@ -40,6 +40,7 @@
#include "G4SystemOfUnits.hh"
#include "StandaloneVisAction.hh"
#include "DrawGeometryVisAction.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -48,17 +49,27 @@ int main(int argc,char** argv) {
G4UIExecutive* ui = new G4UIExecutive(argc, argv);
G4VisManager* visManager = new G4VisExecutive;
visManager->RegisterRunDurationUserVisAction
("A standalone example - 3 boxes, 2 with boolean subtracted cutout",
new StandaloneVisAction,
G4VisExtent(-10*m,10*m,-10*m,10*m,-10*m,10*m));
visManager->Initialize ();
auto standaloneVisAction = new StandaloneVisAction;
visManager->RegisterRunDurationUserVisAction
("A standalone example - 3 boxes, 2 with boolean subtracted cutout",
standaloneVisAction,
G4VisExtent(-10*cm,10*cm,-10*cm,10*cm,-10*cm,10*cm));
auto geometryVisAction = new DrawGeometryVisAction;
visManager->RegisterRunDurationUserVisAction
("A detector geometry",
geometryVisAction,
geometryVisAction->GetVisxtent());
G4UImanager::GetUIpointer()->ApplyCommand ("/control/execute standalone.mac");
ui->SessionStart();
delete ui;
delete geometryVisAction;
delete standaloneVisAction;
delete visManager;
delete ui;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -7,3 +7,5 @@
/vis/scene/add/scale
/vis/sceneHandler/attach
/vis/viewer/flush
/vis/scene/list
#/vis/scene/activateModel to turn models on and off (see command guidance)
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -44,7 +44,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -212,7 +214,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -244,7 +246,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -276,7 +278,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -289,7 +291,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -335,7 +336,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -367,7 +368,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -399,7 +400,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -431,7 +432,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -463,7 +464,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -495,7 +496,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -527,7 +528,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -919,12 +920,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -1200,7 +1210,7 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu
Run terminated.
Run Summary
Number of events processed : 5
User=0.000000s Real=0.001780s Sys=0.000000s
User=0.000000s Real=0.001470s Sys=0.000000s
--------------------End of Global Run-----------------------
The run consists of 5 gamma of 6 MeV
@@ -1307,11 +1317,11 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu
Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName
0 -7.44 14.5 -32.7 0.109 0 0 0 Envelope initStep
1 -7.44 14.5 -32.7 0 0.109 0.000626 0.000626 Envelope ionIoni
1 -7.44 14.5 -32.7 0 0.109 0.000954 0.000954 Envelope ionIoni
Run terminated.
Run Summary
Number of events processed : 1
User=0.000000s Real=0.000924s Sys=0.000000s
User=0.000000s Real=0.000754s Sys=0.000000s
--------------------End of Global Run-----------------------
The run consists of 1 proton of 210 MeV
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -44,7 +44,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -212,7 +214,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -244,7 +246,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -276,7 +278,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -289,7 +291,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -335,7 +336,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -367,7 +368,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -399,7 +400,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -431,7 +432,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -463,7 +464,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -495,7 +496,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -527,7 +528,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -919,12 +920,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -1018,7 +1028,7 @@ See commands in /vis/modeling/trajectories/ for other options.
Run terminated.
Run Summary
Number of events processed : 1000
User=0.030000s Real=0.031007s Sys=0.000000s
User=0.030000s Real=0.026203s Sys=0.000000s
--------------------End of Global Run-----------------------
The run consists of 1000 gamma of 6 MeV
@@ -1093,11 +1103,11 @@ Index : 3 used in the geometry : Yes
Run terminated.
Run Summary
Number of events processed : 1000
User=0.240000s Real=0.248798s Sys=0.000000s
User=0.210000s Real=0.214312s Sys=0.000000s
--------------------End of Global Run-----------------------
The run consists of 1000 proton of 210 MeV
Dose in scoring volume : 4.91863 nanoGy +- 146.393 picoGy
Dose in scoring volume : 4.93724 nanoGy +- 146.024 picoGy
------------------------------------------------------------
Graphics systems deleted.
@@ -1120,19 +1130,19 @@ G4RNGHelper object is deleted.
================== Deleting memory pools ===================
Pool ID '20G4NavigationLevelRep', size : 0.0183 MB
Pool ID '24G4ReferenceCountedHandleIvE', size : 0.000961 MB
Pool ID '17G4DynamicParticle', size : 0.00385 MB
Pool ID '17G4DynamicParticle', size : 0.00769 MB
Pool ID '16G4SmartVoxelNode', size : 0.000961 MB
Pool ID '17G4SmartVoxelProxy', size : 0.000961 MB
Pool ID '7G4Event', size : 0.000961 MB
Pool ID '15G4PrimaryVertex', size : 0.000961 MB
Pool ID '17G4PrimaryParticle', size : 0.000961 MB
Pool ID '7G4Track', size : 0.00769 MB
Pool ID '7G4Track', size : 0.0144 MB
Pool ID '18G4TouchableHistory', size : 0.00192 MB
Pool ID '15G4CountedObjectIvE', size : 0.000961 MB
Pool ID '10G4Fragment', size : 0.00192 MB
Pool ID '17G4ReactionProduct', size : 0.00192 MB
Number of memory pools allocated: 13 of which, static: 0
Dynamic pools deleted: 13 / Total memory freed: 0.042 MB
Dynamic pools deleted: 13 / Total memory freed: 0.053 MB
============================================================
G4Allocator objects are deleted.
UImanager deleted.
@@ -11,7 +11,7 @@ Environment variable "G4FORCE_RUN_MANAGER_TYPE" enabled with value == Serial. Fo
**************************************************************
Geant4 version Name: geant4-11-01-patch-02 (15-June-2023)
Geant4 version Name: geant4-11-01-ref-06 (30-June-2023)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -44,7 +44,9 @@ Registered graphics systems are:
Qt3D (Qt3D)
TOOLSSG_X11_GLES (TSG_X11_GLES, TSGX11, TSG_XT_GLES_FALLBACK)
TOOLSSG_XT_GLES (TSG_XT_GLES, TSGXt, TSG_QT_GLES_FALLBACK)
TOOLSSG_XT_ZB (TSG_XT_ZB, TSGXtZB)
TOOLSSG_QT_GLES (TSG_QT_GLES, TSGQt, TSG)
TOOLSSG_QT_ZB (TSG_QT_ZB, TSGQtZB)
Registering model factories...
@@ -202,7 +204,7 @@ eBrem: for e- XStype:4 SubType=3
CoulombScat: for e- XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -234,7 +236,7 @@ annihil: for e+ XStype:2 SubType=5 BuildTable=0
CoulombScat: for e+ XStype:1 SubType=1 BuildTable=1
Lambda table from 100 MeV to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 100 MeV Emax= 100 TeV
@@ -266,7 +268,7 @@ hPairProd: for proton XStype:1 SubType=4
CoulombScat: for proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -279,7 +281,6 @@ ionIoni: for GenericIon XStype:3 SubType=2
dE/dx and range tables from 100 eV to 100 TeV in 84 bins
Lambda tables from threshold to 100 TeV, 7 bins/decade, spline: 1
StepFunction=(0.2, 0.1 mm), integ: 3, fluct: 1, linLossLim= 0.02
Stopping Power data for 17 ion/material pairs
===== EM models for the G4Region DefaultRegionForTheWorld ======
BraggIon : Emin= 0 eV Emax= 2 MeV
BetheBloch : Emin= 2 MeV Emax= 100 TeV
@@ -325,7 +326,7 @@ hPairProd: for anti_proton XStype:1 SubType=4
CoulombScat: for anti_proton XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -357,7 +358,7 @@ hPairProd: for kaon+ XStype:1 SubType=4
CoulombScat: for kaon+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -389,7 +390,7 @@ hPairProd: for kaon- XStype:1 SubType=4
CoulombScat: for kaon- XStype:1 SubType=1 BuildTable=1
Used Lambda table of kaon+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -421,7 +422,7 @@ muPairProd: for mu+ XStype:1 SubType=4
CoulombScat: for mu+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -453,7 +454,7 @@ muPairProd: for mu- XStype:1 SubType=4
CoulombScat: for mu- XStype:1 SubType=1 BuildTable=1
Used Lambda table of mu+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -485,7 +486,7 @@ hPairProd: for pi+ XStype:1 SubType=4
CoulombScat: for pi+ XStype:1 SubType=1 BuildTable=1
Lambda table from threshold to 100 TeV, 7 bins/decade, spline: 0
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -517,7 +518,7 @@ hPairProd: for pi- XStype:1 SubType=4
CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
Used Lambda table of pi+
ThetaMin(p) < Theta(degree) < 180 pLimit(GeV^1)= 0.139531
ThetaMin(p) < Theta(degree) < 180, pLimit(GeV^1)= 0.139531
===== EM models for the G4Region DefaultRegionForTheWorld ======
eCoulombScattering : Emin= 0 eV Emax= 100 TeV
@@ -909,12 +910,21 @@ CoulombScat: for pi- XStype:1 SubType=1 BuildTable=1
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
====== Geant4 Native Pre-compound Model Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound excitation low energy 100 keV
Pre-compound excitation high energy 30 MeV
Angular generator for pre-compound model 1
Use NeverGoBack option for pre-compound model 0
Use SoftCutOff option for pre-compound model 0
Use CEM transitions for pre-compound model 1
Use GNASH transitions for pre-compound model 0
Use HETC submodel for pre-compound model 0
=======================================================================
====== Nuclear De-excitation Module Parameters ========
=======================================================================
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation+GEM
Number of de-excitation channels 68
@@ -964,7 +974,7 @@ See commands in /vis/modeling/trajectories/ for other options.
--------------------End of Global Run-----------------------
The run consists of 1000 proton of 210 MeV
Dose in scoring volume : 4.91863 nanoGy +- 146.393 picoGy
Dose in scoring volume : 4.93724 nanoGy +- 146.024 picoGy
------------------------------------------------------------
Graphics systems deleted.