Import Geant4 10.5.0 source tree

This commit is contained in:
Gabriele Cosmo
2018-12-07 15:15:39 +01:00
parent 6aa23be517
commit db49709b53
11370 changed files with 187480 additions and 160142 deletions
+5 -2
View File
@@ -1,4 +1,3 @@
//$Id$
///\file "exoticphysics/.README.txt"
///\brief Examples exoticphysics README page
@@ -12,6 +11,11 @@
This example simulates channeling of 400 GeV/c protons in a bent crystal.
\link Exampledmparticle dmparticle \endlink
This is very preliminary and simplified Geant4 example for light dark matter
(LDM) particles.
\link Examplemonopole monopole \endlink
This example is devoted to the energy deposited by classical magnetic
@@ -27,4 +31,3 @@ This example simulates the passage of ultra-cold neutrons (UCN) in a
hollow pipe.
*/
@@ -3,6 +3,7 @@
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
add_subdirectory(channeling)
add_subdirectory(dmparticle)
add_subdirectory(monopole)
add_subdirectory(phonon)
add_subdirectory(ucn)
+3 -1
View File
@@ -1,4 +1,3 @@
$Id: $
-------------------------------------------------------------------
=========================================================
@@ -16,6 +15,9 @@ track of all tags.
----------------------------------------------------------
9 November 2018: I. Hrivnacova (exExoticphysics-V10-04-00)
- Added new dmparticle example in CMake and README's
27 November 2014: I. Hrivnacova (exExoticphysics-V10-00-02)
- Minor fixes in top README, .README
+5
View File
@@ -10,6 +10,11 @@ channeling
This example simulates channeling of 400 GeV/c protons in a bent crystal.
dmparticle
---------
This is very preliminary and simplified Geant4 example for light dark matter
(LDM) particles.
monopole
---------
@@ -1,4 +1,3 @@
//$Id: .README $
///\file "exoticphysics/channeling/.README.txt"
///\brief Example channeling README page
@@ -1,4 +1,3 @@
$Id: $
-------------------------------------------------------------------
=========================================================
@@ -4,7 +4,7 @@
############################################
**************************************************************
Geant4 version Name: geant4-10-05-beta-01 (29-June-2018)
Geant4 version Name: geant4-10-05-ref-00 (7-December-2018)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -74,7 +74,7 @@ data/Si220pl_efy.txt
data/Si220pl_atd.txt
data/Si220pl_eld.txt
Attaching biasing operator ChannelingChangeXS-Many to logical volume crystal.logic
G4PhysicsListHelper::AddTransportation()--- G4CoupledTransportation is used
--- G4CoupledTransportation is used
FTFP_BERT : new threshold between BERT and FTFP is over the interval
for pions : 3 to 12 GeV
@@ -116,8 +116,8 @@ compt: for gamma SubType= 13 BuildTable= 1
conv: for gamma SubType= 14 BuildTable= 1
Lambda table from 1.022 MeV to 10 TeV, 20 bins per decade, spline: 1
===== EM models for the G4Region DefaultRegionForTheWorld ======
PenConversion : Emin= 0 eV Emax= 80 GeV
BetheHeitlerLPM : Emin= 80 GeV Emax= 10 TeV AngularGenUrban
PenConversion : Emin= 0 eV Emax= 1 GeV
BetheHeitlerLPM : Emin= 1 GeV Emax= 10 TeV AngularGenUrban
Rayl: for gamma SubType= 11 BuildTable= 1
Lambda table from 100 eV to 100 keV, 20 bins per decade, spline: 0
@@ -439,18 +439,15 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
@@ -460,7 +457,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: ionInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -468,13 +465,13 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -487,7 +484,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: alphaInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -496,12 +493,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -512,12 +509,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -528,12 +525,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -547,7 +544,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -556,12 +553,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -572,12 +569,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -592,7 +589,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: dInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -601,7 +598,6 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for e-
@@ -609,7 +605,6 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for gamma
@@ -618,20 +613,19 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Model: BertiniCascade: 0 eV ---> 3.5 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: PhotoNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonPlusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -640,13 +634,13 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonMinusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -692,10 +686,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: pi+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for pi-
@@ -708,10 +699,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: pi-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -720,8 +708,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: ChipsProtonElasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
@@ -738,29 +725,10 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: tInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
### Run 0 starts.
... open Root analysis file : ExExCh.root - done
--> Event 0 starts.
@@ -24,7 +24,6 @@
// ********************************************************************
//
//
// $Id: G4EmStandardPhysics_option4_channeling.hh 98736 2016-08-09 10:55:12Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -23,8 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ChannelingPhysics.cc 71570 2013-06-18 10:14:44Z gcosmo $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4EmStandardPhysics_option4_channeling.cc 99938 2016-10-12 08:06:52Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -1,4 +1,3 @@
//$Id$
///\file "exoticphysics/dmparticle/.README.txt"
///\brief Example dmparticle README page
@@ -1,4 +1,3 @@
# $Id: GNUmakefile 66241 2012-12-13 18:34:42Z gunter $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -1,4 +1,3 @@
$Id: History 100289 2016-10-17 08:46:50Z gcosmo $
----------------------------------------------------
=========================================================
@@ -1,4 +1,3 @@
$Id: README 93674 2015-10-28 09:58:36Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/dmparticle.cc
/// \brief Main program of the exoticphysics/dmparticle example
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
File diff suppressed because it is too large Load Diff
@@ -27,7 +27,6 @@
/// \file exoticphysics/dmparticle/include/ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
//
// $Id: ActionInitialization.hh 66241 2012-12-13 18:34:42Z gunter $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id: DetectorConstruction.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
// $Id: DetectorMessenger.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/EventAction.hh
/// \brief Definition of the EventAction class
//
// $Id: EventAction.hh 85243 2014-10-27 08:22:42Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hLDMBremModel.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4LDMBremsstrahlung.hh 97391 2016-06-02 10:08:45Z gcosmo $
//
//
// Class Description:
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/G4LDMHi.hh
/// \brief Definition of the G4LDMHi class
//
// $Id: G4LDMHi.hh 66817 2013-01-12 16:16:08Z gcosmo $
//
#ifndef G4LDMHi_h
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/G4LDMHiBar.hh
/// \brief Definition of the G4LDMHiBar class
//
// $Id: G4LDMHiBar.hh 66817 2013-01-12 16:16:08Z gcosmo $
//
#ifndef G4LDMHiBar_h
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4LDMPhoton.hh 66817 2013-01-12 16:16:08Z gcosmo $
//
/////////////////////////////////////////////////
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id: PhysicsList.hh 92047 2015-08-14 07:23:37Z gcosmo $
//
/////////////////////////////////////////////////
//
@@ -27,7 +27,6 @@
/// \brief Definition of the PhysicsListMessenger class
//
//
// $Id: PhysicsListMessenger.hh 95713 2016-02-22 08:08:38Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
// $Id: PrimaryGeneratorAction.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -27,7 +27,6 @@
/// \file exoticphysics/dmparticle/include/Run.hh
/// \brief Definition of the Run class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/RunAction.hh
/// \brief Definition of the RunAction class
//
// $Id: RunAction.hh 91581 2015-07-27 12:55:57Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/StackingAction.hh
/// \brief Definition of the StackingAction class
//
// $Id: StackingAction.hh,v 1.4 2006-09-25 17:06:29 maire Exp $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/StackingMessenger.hh
/// \brief Definition of the StackingMessenger class
//
// $Id: StackingMessenger.hh,v 1.6 2006-09-25 17:06:29 maire Exp $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/TargetSD.hh
/// \brief Definition of the TargetSD class
//
// $Id$
//
/////////////////////////////////////////////////
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/include/TestParameters.hh
/// \brief Definition of the TestParameters class
//
// $Id$
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: ActionInitialization.cc 66241 2012-12-13 18:34:42Z gunter $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: DetectorConstruction.cc 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/DetectorMessenger.cc
/// \brief Implementation of the DetectorMessenger class
//
// $Id: DetectorMessenger.cc 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/EventAction.cc
/// \brief Implementation of the EventAction class
//
// $Id: EventAction.cc 85243 2014-10-27 08:22:42Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hLDMBremModel.cc 74020 2013-09-19 13:38:38Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4LDMBremsstrahlung.cc 97391 2016-06-02 10:08:45Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/G4LDMHi.cc
/// \brief Implementation of the G4LDMHi class
//
// $Id: G4LDMHi.cc 66817 2013-01-12 16:16:08Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4LDMHiBar.cc 66817 2013-01-12 16:16:08Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/G4LDMPhoton.cc
/// \brief Implementation of the G4LDMPhoton class
//
// $Id: G4LDMPhoton.cc 66817 2013-01-12 16:16:08Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/PhysicsList.cc
/// \brief Implementation of the PhysicsList class
//
// $Id: PhysicsList.hh 92047 2015-08-14 07:23:37Z gcosmo $
//
/////////////////////////////////////////////////
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/PhysicsListMessenger.cc
/// \brief Implementation of the PhysicsListMessenger class
//
// $Id: PhysicsListMessenger.cc 95713 2016-02-22 08:08:38Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
// $Id$
#include "PrimaryGeneratorAction.hh"
#include "DetectorConstruction.hh"
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/Run.cc
/// \brief Implementation of the Run class
//
// $Id$
#include "Run.hh"
#include "G4Step.hh"
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/RunAction.cc
/// \brief Implementation of the RunAction class
//
// $Id: RunAction.cc 92047 2015-08-14 07:23:37Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/StackingAction.cc
/// \brief Implementation of the StackingAction class
//
// $Id: StackingAction.cc,v 1.8 2009-03-06 18:04:23 maire Exp $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/StackingMessenger.cc
/// \brief Implementation of the StackingMessenger class
//
// $Id: StackingMessenger.cc,v 1.5 2006-09-25 17:06:29 maire Exp $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/TargetSD.cc
/// \brief Implementation of the TargetSD. class
//
// $Id$
//
/////////////////////////////////////////////////
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/dmparticle/src/TestParameters.cc
/// \brief Implementation of the TestParameters class
//
// $Id: TestParameters.cc 78707 2014-01-17 16:02:01Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -1,4 +1,3 @@
//$Id$
///\file "exoticphysics/monopole/.README.txt"
///\brief Example monopole README page
@@ -35,24 +34,24 @@ monopole.
The default geometry is constructed in DetectorConstruction class,
but all of the above parameters can be changed interactively via
the commands defined in the DetectorMessenger class. After changing
material and/or dimentions one must update the detector construction:
the commands defined in the DetectorMessenger class.
In addition, a global, uniform, and transverse magnetic field can be applied
via G4MonopoleFieldSetup class, with the default z-value 0.2 tesla.
This value can be changed via UI command:
\verbatim
/testex/det/update
/testex/fld/setField 0.2 tesla
\endverbatim
\section monopole_s2 PHYSICS LIST
Physics Lists include standard QGSP physics and additional builder
for monopole physics.
To define monopole parameters an extra string should be provided
a) interactive mode by UI command:
The physics list includes standard FTFP_BERT physics and the additional builder
for monopole physics.
To define monopole parameters an extra string should be provided via
the program arguments:
\verbatim
/monopole/setup 2 0 200 GeV (magnetic number, electric number, mass)
\endverbatim
b) batch mode:
\verbatim
% monopole file.mac '2 0 200 GeV'
./monopole -s '2 0 200 GeV' # in the interactive mode
./monopole -m file.mac -s '2 0 200 GeV' # in the batch mode
\endverbatim
\section monopole_s3 AN EVENT : THE PRIMARY GENERATOR
@@ -64,41 +63,45 @@ monopole.
the macros provided with this example).
The default is monopole 100 GeV
In addition one can define randomly the impact point of the incident
particle. The corresponding interactive command is built in
PrimaryGeneratorMessenger class.
A RUN is a set of events.
\section monopole_s4 VISUALIZATION
The Visualization Manager is set in the main (), see monopole.cc, for interactive session.
The initialisation of the drawing is done via the command
\verbatim
/control/execute vis.mac
\endverbatim
The Visualization Manager is set in the main() for interactive session,
the initial parameters of the program are defined in the init_vis.mac macro
which then executes the visualisation macro, vis.mac.
The detector has a default view which is a longitudinal view of the box.
The tracks are drawn at the end of event, and erased at the end of run.
\section monopole_s5 HOW TO START ?
\section monopole_s5 HOW TO RUN ?
- Execute Test in 'batch' mode from macro files
This example handles the program arguments in a similar way as the basic
B4 example.
It can be run with the following optional arguments:
\verbatim
% monopole monopole.in
% ./monopole [-m macro ] [-s setupMonopole] [-t nThreads]
\endverbatim
The -s option was already explained in the Physics list section.
The -t option is available only in multi-threading mode
and it allows the user to override the Geant4 default number of
threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
environment variable which has the top priority.
- Execute program in the 'batch' mode from macro files
\verbatim
% ./monopole -m monopole.in [-s setupMonopole]
\endverbatim
- Execute Test in 'interactive mode' with visualization
- Execute program in the 'interactive mode' with visualization
\verbatim
% monopole
....
% ./monopole [-s setupMonopole]
....
Idle> type your commands
....
....
Idle> exit
\endverbatim
\section monopole_s6 HISTOGRAMS
The result is five histograms:
@@ -40,7 +40,7 @@ target_link_libraries(monopole ${Geant4_LIBRARIES} )
# relies on these scripts being in the current working directory.
#
set(monopole_SCRIPTS
monopole.in vis.mac
monopole.in init_vis.mac vis.mac
)
foreach(_script ${monopole_SCRIPTS})
@@ -1,4 +1,3 @@
# $Id: GNUmakefile 66817 2013-01-12 16:16:08Z gcosmo $
# --------------------------------------------------------------
# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98.
# --------------------------------------------------------------
@@ -1,4 +1,3 @@
$Id: History 110255 2018-05-17 14:15:38Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -15,6 +14,43 @@ track of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
23 October 2018: I.Hrivnacova (monopole-V10-04-06)
- Define the field setup data (fMonFieldSetup) in the DetectorConstruction class
thread-local using G4Cache utility.
19 October 2018: I.Hrivnacova (monopole-V10-04-05)
Macro review and code clean-up:
- Removed not used and not working commands:
/testex/det/setField
not used, duplicates /testex/fld/setField 0.2 tesla
/testex/det/update
not used
/monopole/magCharge, elCharge, Mass
not working, as these parameters need to be set at a very early stage
/testex/run/verbose
the set verbose level is not used
- Updated main() to make possible passing the monopole setup in both
batch and interactive mode
- DetectorConstruction, RunAction: code clean-up
- Added warning in G4MonopolePhysics when setting monopole parameters fails
- Updated README files
15 October 2018: I.Hrivnacova (monopole-V10-04-04)
- Removed run initialization from main and added init_vis.mac
macro for interactive session
- Explicitly define physics lists ("FTFP_BERT")
- Added the default value of magnetic field 0.2 tesla
and also setting of this value in monopole.in and init_vis.mac
- Fixed updating geometry parameters after initialization
by calling G4RunManager::ReinitializeGeometry() instead of
GeometryHasBeenModified()
- Added printing production cuts table in RunAction::EndOfRunAction
01 August 2018: V.Ivantchenko (monopole-V10-04-03)
- G4MonopolePhysics - fixed static analizer warning
- G4MonopoleTransportation - removed several static variables;
respect line length requirement
17-May-2018 J.Allison (monopole-V10-04-02)
- Remove G4UI_USE and G4VIS_USE.
- Move instantiation of G4UIExecutive to start of main.
+32 -27
View File
@@ -1,4 +1,3 @@
$Id: README 78110 2013-12-03 14:57:31Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -37,19 +36,21 @@ monopole.
The default geometry is constructed in DetectorConstruction class,
but all of the above parameters can be changed interactively via
the commands defined in the DetectorMessenger class. After changing
material and/or dimentions one must update the detector construction:
/testex/det/update
the commands defined in the DetectorMessenger class.
In addition, a global, uniform, and transverse magnetic field can be applied
via G4MonopoleFieldSetup class, with the default z-value 0.2 tesla.
This value can be changed via UI command:
/testex/fld/setField 0.2 tesla
2- PHYSICS LIST
Physics Lists include standard QGSP physics and additional builder
for monopole physics.
To define monopole parameters an extra string should be provided
a) interactive mode by UI command:
/monopole/setup 2 0 200 GeV (magnetic number, electric number, mass)
b) batch mode:
monopole file.mac '2 0 200 GeV'
The physics list includes standard FTFP_BERT physics and the additional builder
or monopole physics.
To define monopole parameters an extra string should be provided via
the program arguments:
./monopole -s '2 0 200 GeV' # in the interactive mode
./monopole -m file.mac -s '2 0 200 GeV' # in the batch mode
3- AN EVENT : THE PRIMARY GENERATOR
@@ -58,33 +59,37 @@ monopole.
and its energy are set in the PrimaryGeneratorAction class, and can
changed via the G4 build-in commands of ParticleGun class (see
the macros provided with this example).
The default is monopole 100 GeV
In addition one can define randomly the impact point of the incident
particle. The corresponding interactive command is built in
PrimaryGeneratorMessenger class.
A RUN is a set of events.
The default is monopole 100 GeV.
4- VISUALIZATION
The Visualization Manager is set in the main() for interactive session.
The initialisation of the drawing is done via the command
/control/execute vis.mac
The Visualization Manager is set in the main() for interactive session,
the initial parameters of the program are defined in the init_vis.mac macro
which then executes the visualisation macro, vis.mac.
The detector has a default view which is a longitudinal view of the box.
The tracks are drawn at the end of event, and erased at the end of run.
5- HOW TO START ?
5- HOW TO RUN ?
- execute Test in 'batch' mode from macro files
% monopole monopole.in
This example handles the program arguments in a similar way as the basic
B4 example.
It can be run with the following optional arguments:
% ./monopole [-m macro ] [-s setupMonopole] [-t nThreads]
The -s option was already explained in the Physics list section.
The -t option is available only in multi-threading mode
and it allows the user to override the Geant4 default number of
threads. The number of threads can be also set via G4FORCENUMBEROFTHREADS
environment variable which has the top priority.
- Execute program in the 'batch' mode from macro files
% ./monopole -m monopole.in [-s setupMonopole]
- execute Test in 'interactive mode' with visualization
% monopole
- Execute program in the 'interactive mode' with visualization
% ./monopole [-s setupMonopole]
....
Idle> type your commands
....
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ActionInitialization.hh 76485 2013-11-11 10:54:47Z gcosmo $
//
/// \file ActionInitialization.hh
/// \brief Definition of the ActionInitialization class
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id: DetectorConstruction.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -59,9 +58,7 @@ public:
void SetSizeX(G4double);
void SetSizeYZ(G4double);
void SetMaterial(const G4String&);
void SetMagField (G4double v) { fZMagFieldValue = v; }
void SetMaxStepSize(G4double);
void UpdateGeometry();
virtual void ConstructSDandField();
@@ -71,7 +68,7 @@ public:
inline G4double GetMaxStepSize() {return fMaxStepSize;};
inline const G4Material* GetAbsorMaterial() {return fAbsorMaterial;};
G4MonopoleFieldSetup* GetMonopoleFieldSetup() const { return fMonFieldSetup; }
G4MonopoleFieldSetup* GetMonopoleFieldSetup() const { return fMonFieldSetup.Get(); }
private:
@@ -86,9 +83,7 @@ private:
G4Material* fAbsorMaterial;
G4LogicalVolume* fLogAbsor;
G4MonopoleFieldSetup* fMonFieldSetup;
G4double fZMagFieldValue;
G4Cache<G4GlobalMagFieldMessenger*> fFieldMessenger;
G4Cache<G4MonopoleFieldSetup*> fMonFieldSetup;
DetectorMessenger* fDetectorMessenger;
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
// $Id: DetectorMessenger.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -64,9 +63,6 @@ private:
G4UIcmdWithADoubleAndUnit* fSizeXCmd;
G4UIcmdWithADoubleAndUnit* fSizeYZCmd;
G4UIcmdWithADoubleAndUnit* fStepSizeCmd;
G4UIcmdWithADoubleAndUnit* fMagFieldCmd;
G4UIcmdWithoutParameter* fUpdateCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4Monopole.hh
/// \brief Definition of the G4Monopole class
//
// $Id: G4Monopole.hh 66817 2013-01-12 16:16:08Z gcosmo $
//
#ifndef G4Monopole_h
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopoleEquation.hh
/// \brief Definition of the G4MonopoleEquation class
//
// $Id: G4MonopoleEquation.hh 108824 2018-03-09 11:05:41Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopoleFieldMessenger.hh
/// \brief Definition of the G4MonopoleFieldMessenger class
//
// $Id: G4MonopoleFieldMessenger.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopoleFieldSetup.hh
/// \brief Definition of the G4MonopoleFieldSetup class
//
// $Id: G4MonopoleFieldSetup.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -70,7 +69,8 @@ public:
void InitialiseAll(); // Set parameters and call method below
// void SetMagField(G4double fieldValue);
void SetStepperAndChordFinder(G4int val);
void SetMagField (G4double v, bool checkIfAlreadyDefined=false);
void SetZMagFieldValue (G4double val);
void ConstructMagField ();
// static G4MonopoleFieldSetup* GetMonopoleFieldSetup();
double GetZmagFieldValue() const { return fZmagFieldValue; }
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopolePhysics.hh
/// \brief Definition of the G4MonopolePhysics class
//
// $Id: G4MonopolePhysics.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopolePhysicsMessenger.hh
/// \brief Definition of the G4MonopolePhysicsMessenger class
//
// $Id: G4MonopolePhysicsMessenger.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -60,10 +59,6 @@ private:
G4UIdirectory* fPhysicsDir;
G4UIcommand* fPhysicsCmd;
G4UIcmdWithADouble* fMCmd;
G4UIcmdWithADouble* fZCmd;
G4UIcmdWithADoubleAndUnit* fMassCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopoleTransportation.hh
/// \brief Definition of the G4MonopoleTransportation class
//
// $Id: G4MonopoleTransportation.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -206,6 +205,7 @@ class G4MonopoleTransportation : public G4VProcess
G4bool fShortStepOptimisation;
G4SafetyHelper* fpSafetyHelper; // To pass it the safety value obtained
G4int noCalls;
};
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/G4MonopoleTransportation.icc
/// \brief Implementation of the G4MonopoleTransportation class inline functions
//
// $Id: G4MonopoleTransportation.icc 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/PrimaryGeneratorAction.hh
/// \brief Definition of the PrimaryGeneratorAction class
//
// $Id: PrimaryGeneratorAction.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file electromagnetic/TestEm5/include/Run.hh
/// \brief Definition of the Run class
//
// $Id: Run.hh 71375 2013-06-14 07:39:33Z maire $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/RunAction.hh
/// \brief Definition of the RunAction class
//
// $Id: RunAction.hh 107534 2017-11-21 13:13:36Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -57,8 +56,6 @@ public:
virtual void EndOfRunAction(const G4Run*);
void SetBinSize(G4double size);
inline void SetVerbose(G4int verbose) { fVerboseLevel = verbose;}
inline G4int GetVerbose() { return fVerboseLevel;}
private:
@@ -70,7 +67,6 @@ private:
RunActionMessenger* fMessenger;
G4double fBinLength;
G4int fVerboseLevel;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/RunActionMessenger.hh
/// \brief Definition of the RunActionMessenger class
//
// $Id: RunActionMessenger.hh 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -40,7 +39,6 @@
class RunAction;
class G4UIdirectory;
class G4UIcmdWithADouble;
class G4UIcmdWithAnInteger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -59,7 +57,6 @@ private:
G4UIdirectory* fActDir;
G4UIcmdWithADouble* fBinSizeCmd;
G4UIcmdWithAnInteger* fVerboseCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/SteppingAction.hh
/// \brief Definition of the SteppingAction class
//
// $Id: SteppingAction.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/include/TrackingAction.hh
/// \brief Definition of the TrackingAction class
//
// $Id: TrackingAction.hh 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -0,0 +1,26 @@
# Macro file for "monopole.cc"
# with initial setting equivalent to monopole.in
# for running in interactive mode
#
#
/control/verbose 1
/run/verbose 0
/tracking/verbose 0
#
/testex/det/setMat G4_Si
/testex/det/setSizeX 10 cm
/testex/det/setSizeYZ 20 cm
/testex/det/setStepSize 0.2 mm
#
/testex/run/binSize 0.2 mm
#
/process/em/verbose 1
#
/testex/fld/setField 0.2 tesla
#
/gun/particle monopole
/gun/energy 100 GeV
#
/run/initialize
#
/control/execute vis.mac
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/monopole.cc
/// \brief Main program of the exoticphysics/monopole example
//
// $Id: monopole.cc 110255 2018-05-17 14:15:38Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -55,11 +54,51 @@
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv) {
namespace {
void PrintUsage() {
G4cerr
<< " Usage: " << G4endl
<< " exampleB4a [-m macro ] [-s setupMonopole] [-t nThreads]" << G4endl
<< " Note: " << G4endl
<< " -s should be followed by a composed string, eg. \'1 0 100 GeV\'" << G4endl
<< " -t option is available only for multi-threaded mode." << G4endl
<< G4endl;
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
int main(int argc,char** argv)
{
// Evaluate arguments
//
if ( argc > 7 ) {
PrintUsage();
return 1;
}
G4String macro;
G4String setupMonopole;
#ifdef G4MULTITHREADED
G4int nThreads = 0;
#endif
for ( G4int i=1; i<argc; i=i+2 ) {
if ( G4String(argv[i]) == "-m" ) macro = argv[i+1];
else if ( G4String(argv[i]) == "-s" ) setupMonopole = argv[i+1];
#ifdef G4MULTITHREADED
else if ( G4String(argv[i]) == "-t" ) {
nThreads = G4UIcommand::ConvertToInt(argv[i+1]);
}
#endif
else {
PrintUsage();
return 1;
}
}
// Instantiate G4UIExecutive if interactive mode
G4UIExecutive* ui = nullptr;
if ( argc == 1 ) {
if ( ! macro.size() ) {
ui = new G4UIExecutive(argc, argv);
}
@@ -69,7 +108,9 @@ int main(int argc,char** argv) {
// Construct the default run manager
#ifdef G4MULTITHREADED
G4MTRunManager* runManager = new G4MTRunManager;
runManager->SetNumberOfThreads(2);
if ( nThreads > 0 ) {
runManager->SetNumberOfThreads(nThreads);
}
G4cout << "===== Monopole is started with "
<< runManager->GetNumberOfThreads() << " threads =====" << G4endl;
#else
@@ -79,10 +120,20 @@ int main(int argc,char** argv) {
//create physicsList
// Physics List is defined via environment variable PHYSLIST
G4PhysListFactory factory;
G4VModularPhysicsList* phys = factory.ReferencePhysList();
G4VModularPhysicsList* phys = factory.GetReferencePhysList("FTFP_BERT");
// monopole physics is added
G4MonopolePhysics * theMonopole = new G4MonopolePhysics();
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
// Setup monopole
if ( setupMonopole.size() ) {
UImanager->ApplyCommand("/control/verbose 1");
UImanager->ApplyCommand("/monopole/setup " + setupMonopole);
}
// regsiter monopole physics
phys->RegisterPhysics(theMonopole);
runManager->SetUserInitialization(phys);
@@ -90,15 +141,6 @@ int main(int argc,char** argv) {
G4VisManager* visManager = new G4VisExecutive();
visManager->Initialize();
//get the pointer to the User Interface manager
G4UImanager* UImanager = G4UImanager::GetUIpointer();
// Setup monopole
G4String s = "";
if(argc > 2) { s = argv[2]; }
UImanager->ApplyCommand("/control/verbose 1");
UImanager->ApplyCommand("/monopole/setup "+s);
// set detector construction
DetectorConstruction* det = new DetectorConstruction();
runManager->SetUserInitialization(det);
@@ -106,20 +148,19 @@ int main(int argc,char** argv) {
// set user action classes
runManager->SetUserInitialization(new ActionInitialization(det));
runManager->Initialize();
if (ui) // Define UI terminal for interactive mode
{
UImanager->ApplyCommand("/control/execute vis.mac");
ui->SessionStart();
delete ui;
}
else if (argc>1) // Batch mode with 1 or more files
{
G4String command = "/control/execute ";
G4String fileName = argv[1];
UImanager->ApplyCommand(command+fileName);
}
// Process macro or start UI session
//
if ( macro.size() ) {
// batch mode
G4String command = "/control/execute ";
UImanager->ApplyCommand(command+macro);
}
else {
// interactive mode : define UI session
UImanager->ApplyCommand("/control/execute init_vis.mac");
ui->SessionStart();
delete ui;
}
delete visManager;
@@ -6,7 +6,6 @@
/control/verbose 1
/control/cout/ignoreThreadsExcept 0
/run/verbose 0
/testex/run/verbose 1
/tracking/verbose 0
#
/testex/det/setMat G4_Si
@@ -23,7 +22,8 @@
#
/run/printProgress 10
#
#
/testex/fld/setField 0.2 tesla
#
/gun/particle monopole
/gun/energy 100 GeV
@@ -4,7 +4,7 @@
############################################
**************************************************************
Geant4 version Name: geant4-10-05-beta-01 (29-June-2018)
Geant4 version Name: geant4-10-05-ref-00 (7-December-2018)
Copyright : Geant4 Collaboration
References : NIM A 506 (2003), 250-303
: IEEE-TNS 53 (2006), 270-278
@@ -12,8 +12,6 @@
WWW : http://geant4.org/
**************************************************************
### G4PhysListFactory WARNING: environment variable PHYSLIST is not defined
Default Physics Lists FTFP_BERT is instantiated
G4PhysListFactory::GetReferencePhysList <FTFP_BERT> EMoption= 0
<<< Geant4 Physics List simulation engine: FTFP_BERT 2.0
@@ -67,12 +65,23 @@ End of Run User Vis Actions: none
Some /vis commands (optionally) take a string to specify colour.
"/vis/list" to see available colours.
/monopole/setup
/control/cout/ignoreThreadsExcept 0
/run/verbose 0
/tracking/verbose 0
/testex/det/setMat G4_Si
/testex/det/setSizeX 10 cm
/testex/det/setSizeYZ 20 cm
/testex/det/setStepSize 0.2 mm
/testex/run/binSize 0.2 mm
/process/em/verbose 1
/run/physicsModified
/run/initialize
---------------------------------------------------------
---> The Absorber is 10 cm of G4_Al
---> The Absorber is 10 cm of G4_Si
---------------------------------------------------------
G4MonopoleEquation::G4MonopoleEquation
FTFP_BERT : new threshold between BERT and FTFP is over the interval
for pions : 3 to 12 GeV
@@ -81,22 +90,6 @@ Some /vis commands (optionally) take a string to specify colour.
for neutron : 3 to 12 GeV
### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0
/control/execute /mnt/build/jenkins/workspace/g4-cc7/COMPILER/gcc63/LABEL/cc7/THREAD/Seq/release/RelWithDebInfo/10-04-ref-06_branch/10-04-ref-06_branch/examples/extended/exoticphysics/monopole/monopole.in
/control/verbose 1
/control/cout/ignoreThreadsExcept 0
/run/verbose 0
/testex/run/verbose 1
/tracking/verbose 0
/testex/det/setMat G4_Si
/testex/det/setSizeX 10 cm
/run/geometryModified
/testex/det/setSizeYZ 20 cm
/run/geometryModified
/testex/det/setStepSize 0.2 mm
/testex/run/binSize 0.2 mm
/process/em/verbose 1
/run/physicsModified
/run/initialize
/particle/select monopole
/particle/process/dump
G4ProcessManager: particle[monopole]
@@ -119,6 +112,8 @@ G4ProcessManager: particle[monopole]
index -1: -1: -1: -1: 0: 2:
parameter -1: -1: -1: -1: 1000: 1000:
/run/printProgress 10
/testex/fld/setField 0.2 tesla
G4MonopoleEquation::G4MonopoleEquation
/gun/particle monopole
/gun/energy 100 GeV
/run/beamOn 100
@@ -165,8 +160,8 @@ eBrem: for e- SubType= 3
Lambda tables from threshold to 100 TeV, 7 bins per decade, spline: 1
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 100 TeV DipBustGen
eBremSB : Emin= 0 eV Emax= 1 GeV AngularGenUrban
eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban
CoulombScat: for e-, integral: 1 SubType= 1 BuildTable= 1
Lambda table from 100 MeV to 100 TeV, 7 bins per decade, spline: 1
@@ -192,8 +187,8 @@ eBrem: for e+ SubType= 3
Lambda tables from threshold to 100 TeV, 7 bins per decade, spline: 1
LPM flag: 1 for E > 1 GeV, VertexHighEnergyTh(GeV)= 100000
===== EM models for the G4Region DefaultRegionForTheWorld ======
eBremSB : Emin= 0 eV Emax= 1 GeV DipBustGen
eBremLPM : Emin= 1 GeV Emax= 100 TeV DipBustGen
eBremSB : Emin= 0 eV Emax= 1 GeV AngularGenUrban
eBremLPM : Emin= 1 GeV Emax= 100 TeV AngularGenUrban
annihil: for e+, integral: 1 SubType= 5 BuildTable= 0
===== EM models for the G4Region DefaultRegionForTheWorld ======
@@ -246,7 +241,7 @@ ionIoni: for GenericIon 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 per decade, spline: 1
finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.02
Stopping Power data for 17 ion/material pairs
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
@@ -499,18 +494,15 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronElasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: neutronInelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4NeutronInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Process: nCapture
Model: nRadCapture: 0 eV ---> 100 TeV
Cr_sctns: G4NeutronCaptureXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaCaptureXS: 0 eV ---> 100 TeV
Process: nKiller
@@ -520,7 +512,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: ionInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -528,13 +520,13 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: He3Inelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -547,7 +539,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: alphaInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -556,12 +548,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_He3Inelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -572,12 +564,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_alphaInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -588,12 +580,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_deuteronInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -607,7 +599,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: anti_neutronInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -616,12 +608,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100.1 MeV
Model: AntiAElastic: 100 MeV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_protonInelastic
Model: FTFP: 0 eV ---> 100 TeV
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -632,12 +624,12 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV /n ---> 100.1 MeV/n
Model: AntiAElastic: 100 MeV/n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: anti_tritonInelastic
Model: FTFP: 0 eV /n ---> 100 TeV/n
Cr_sctns: AntiAGlauber: 0 eV ---> 2.88022e+295 J
Cr_sctns: AntiAGlauber: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Process: hFritiofCaptureAtRest
@@ -652,7 +644,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: dInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
@@ -661,7 +653,6 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: positronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for e-
@@ -669,7 +660,6 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: electronNuclear
Model: G4ElectroVDNuclearModel: 0 eV ---> 1 PeV
Cr_sctns: ElectroNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for gamma
@@ -678,20 +668,19 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Model: BertiniCascade: 0 eV ---> 3.5 GeV
Model: TheoFSGenerator: 3 GeV ---> 100 TeV
Cr_sctns: PhotoNuclearXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for kaon+
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonPlusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -700,13 +689,13 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticLHEP: 0 eV ---> 100 TeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Process: kaon-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: Glauber-Gribov: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov: 0 eV ---> 100 TeV
Cr_sctns: ChipsKaonMinusInelasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
@@ -752,10 +741,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: pi+Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber-Gribov: 0 eV ---> 100 TeV
---------------------------------------------------
Hadronic Processes for pi-
@@ -768,10 +754,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: pi-Inelastic
Model: FTFP: 3 GeV ---> 100 TeV
Model: BertiniCascade: 0 eV ---> 12 GeV
Cr_sctns: G4CrossSectionPairGG: 0 eV ---> 100 TeV
G4CrossSectionPairGG: G4PiNuclearCrossSection cross sections
below 91 GeV, Glauber-Gribov above
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber-Gribov: 0 eV ---> 100 TeV
Process: hBertiniCaptureAtRest
@@ -780,8 +763,7 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: hadElastic
Model: hElasticCHIPS: 0 eV ---> 100 TeV
Cr_sctns: ChipsProtonElasticXS: 0 eV ---> 100 TeV
Cr_sctns: GheishaElastic: 0 eV ---> 100 TeV
Cr_sctns: Barashenkov-Glauber: 0 eV ---> 100 TeV
Process: protonInelastic
Model: FTFP: 3 GeV ---> 100 TeV
@@ -798,30 +780,30 @@ CoulombScat: for pi-, integral: 1 SubType= 1 BuildTable= 1
Process: tInelastic
Model: Binary Light Ion Cascade: 0 eV /n ---> 4 GeV/n
Model: FTFP: 2 GeV/n ---> 100 TeV/n
Cr_sctns: Glauber-Gribov nucleus nucleus: 0 eV ---> 2.88022e+295 J
Cr_sctns: Glauber-Gribov Nucl-nucl: 0 eV ---> 100 TeV
Cr_sctns: GheishaInelastic: 0 eV ---> 100 TeV
================================================================
=======================================================================
====== Pre-compound/De-excitation Physics Parameters ========
=======================================================================
Type of pre-compound inverse x-section 3
Pre-compound model active 1
Pre-compound low energy (MeV) 0.1
Type of de-excitation inverse x-section 3
Type of de-excitation factory Evaporation
Number of de-excitation channels 8
Min excitation energy (keV) 0.01
Min energy per nucleon for multifragmentation (MeV) 1e+05
Level density (1/MeV) 0.1
Time limit for long lived isomeres (ns) 1e+12
Internal e- conversion flag 1
Store e- internal conversion data 0
Electron internal conversion ID 2
Correlated gamma emission flag 0
Max 2J for sampling of angular correlations 10
=======================================================================
### Run 0 starts.
========= Table of registered couples ==============================
Index : 0 used in the geometry : Yes
Material : G4_Galactic
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 70 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
Index : 1 used in the geometry : Yes
Material : G4_Si
Range cuts : gamma 700 um e- 700 um e+ 700 um proton 700 um
Energy thresholds : gamma 5.87535 keV e- 424.726 keV e+ 410.692 keV proton 70 keV
Region(s) which use this couple :
DefaultRegionForTheWorld
====================================================================
### Run 0 start.
... open Root analysis file : monopole.root - done
--> Event 0 starts.
@@ -836,67 +818,67 @@ Max 2J for sampling of angular correlations 10
--> Event 90 starts.
The run consists of 100 monopole of 100 GeV through 10 cm of G4_Si (density: 2.33 g/cm3 )
Projected Range= 7.7466 cm rms= 106.12 um
Projected Range= 7.7514 cm rms= 99.391 um
### Stopping Powers
E(MeV)= 0.001 dedxp(MeV/mm)= 24.465 dedxmp(MeV/mm)= 1.2659
E(MeV)= 0.0012589 dedxp(MeV/mm)= 27.276 dedxmp(MeV/mm)= 1.4204
E(MeV)= 0.0015849 dedxp(MeV/mm)= 30.767 dedxmp(MeV/mm)= 1.5937
E(MeV)= 0.0019953 dedxp(MeV/mm)= 34.558 dedxmp(MeV/mm)= 1.7881
E(MeV)= 0.0025119 dedxp(MeV/mm)= 38.769 dedxmp(MeV/mm)= 2.0063
E(MeV)= 0.0031623 dedxp(MeV/mm)= 43.491 dedxmp(MeV/mm)= 2.2511
E(MeV)= 0.0039811 dedxp(MeV/mm)= 48.814 dedxmp(MeV/mm)= 2.5258
E(MeV)= 0.0050119 dedxp(MeV/mm)= 54.773 dedxmp(MeV/mm)= 2.834
E(MeV)= 0.0063096 dedxp(MeV/mm)= 61.455 dedxmp(MeV/mm)= 3.1798
E(MeV)= 0.0079433 dedxp(MeV/mm)= 68.933 dedxmp(MeV/mm)= 3.5678
E(MeV)= 0.01 dedxp(MeV/mm)= 77.356 dedxmp(MeV/mm)= 4.0031
E(MeV)= 0.012589 dedxp(MeV/mm)= 85.192 dedxmp(MeV/mm)= 4.4916
E(MeV)= 0.015849 dedxp(MeV/mm)= 93.469 dedxmp(MeV/mm)= 5.0397
E(MeV)= 0.019953 dedxp(MeV/mm)= 101.92 dedxmp(MeV/mm)= 5.6546
E(MeV)= 0.025119 dedxp(MeV/mm)= 110.26 dedxmp(MeV/mm)= 6.3445
E(MeV)= 0.031623 dedxp(MeV/mm)= 117.88 dedxmp(MeV/mm)= 7.1187
E(MeV)= 0.039811 dedxp(MeV/mm)= 123.92 dedxmp(MeV/mm)= 7.9873
E(MeV)= 0.050119 dedxp(MeV/mm)= 127.47 dedxmp(MeV/mm)= 8.9619
E(MeV)= 0.063096 dedxp(MeV/mm)= 127.65 dedxmp(MeV/mm)= 10.055
E(MeV)= 0.079433 dedxp(MeV/mm)= 124.16 dedxmp(MeV/mm)= 11.282
E(MeV)= 0.1 dedxp(MeV/mm)= 117.53 dedxmp(MeV/mm)= 12.659
E(MeV)= 0.12589 dedxp(MeV/mm)= 108.93 dedxmp(MeV/mm)= 14.204
E(MeV)= 0.15849 dedxp(MeV/mm)= 99.664 dedxmp(MeV/mm)= 15.937
E(MeV)= 0.19953 dedxp(MeV/mm)= 90.588 dedxmp(MeV/mm)= 17.881
E(MeV)= 0.25119 dedxp(MeV/mm)= 82.081 dedxmp(MeV/mm)= 20.063
E(MeV)= 0.31623 dedxp(MeV/mm)= 74.169 dedxmp(MeV/mm)= 22.511
E(MeV)= 0.39811 dedxp(MeV/mm)= 66.763 dedxmp(MeV/mm)= 25.258
E(MeV)= 0.50119 dedxp(MeV/mm)= 59.742 dedxmp(MeV/mm)= 28.34
E(MeV)= 0.63096 dedxp(MeV/mm)= 53.434 dedxmp(MeV/mm)= 31.798
E(MeV)= 0.79433 dedxp(MeV/mm)= 47.062 dedxmp(MeV/mm)= 35.678
E(MeV)= 1 dedxp(MeV/mm)= 40.845 dedxmp(MeV/mm)= 40.031
E(MeV)= 1.2589 dedxp(MeV/mm)= 35.325 dedxmp(MeV/mm)= 44.916
E(MeV)= 1.5849 dedxp(MeV/mm)= 30.422 dedxmp(MeV/mm)= 50.396
E(MeV)= 1.9953 dedxp(MeV/mm)= 26.068 dedxmp(MeV/mm)= 56.545
E(MeV)= 2.5119 dedxp(MeV/mm)= 22.267 dedxmp(MeV/mm)= 63.444
E(MeV)= 3.1623 dedxp(MeV/mm)= 18.934 dedxmp(MeV/mm)= 71.185
E(MeV)= 3.9811 dedxp(MeV/mm)= 16.043 dedxmp(MeV/mm)= 79.871
E(MeV)= 5.0119 dedxp(MeV/mm)= 13.589 dedxmp(MeV/mm)= 89.528
E(MeV)= 6.3096 dedxp(MeV/mm)= 11.42 dedxmp(MeV/mm)= 91.388
E(MeV)= 7.9433 dedxp(MeV/mm)= 9.608 dedxmp(MeV/mm)= 94.03
E(MeV)= 10 dedxp(MeV/mm)= 8.0524 dedxmp(MeV/mm)= 97.584
E(MeV)= 12.589 dedxp(MeV/mm)= 6.6936 dedxmp(MeV/mm)= 102.2
E(MeV)= 15.849 dedxp(MeV/mm)= 5.5755 dedxmp(MeV/mm)= 108.06
E(MeV)= 19.953 dedxp(MeV/mm)= 4.6616 dedxmp(MeV/mm)= 115.36
E(MeV)= 25.119 dedxp(MeV/mm)= 3.9107 dedxmp(MeV/mm)= 124.33
E(MeV)= 31.623 dedxp(MeV/mm)= 3.2703 dedxmp(MeV/mm)= 135.25
E(MeV)= 39.811 dedxp(MeV/mm)= 2.7356 dedxmp(MeV/mm)= 148.41
E(MeV)= 50.119 dedxp(MeV/mm)= 2.2882 dedxmp(MeV/mm)= 164.17
E(MeV)= 63.096 dedxp(MeV/mm)= 1.9184 dedxmp(MeV/mm)= 182.94
E(MeV)= 79.433 dedxp(MeV/mm)= 1.6121 dedxmp(MeV/mm)= 205.18
E(MeV)= 100 dedxp(MeV/mm)= 1.3599 dedxmp(MeV/mm)= 231.43
E(MeV)= 125.89 dedxp(MeV/mm)= 1.153 dedxmp(MeV/mm)= 262.3
E(MeV)= 158.49 dedxp(MeV/mm)= 0.98406 dedxmp(MeV/mm)= 298.49
E(MeV)= 199.53 dedxp(MeV/mm)= 0.84666 dedxmp(MeV/mm)= 340.8
E(MeV)= 251.19 dedxp(MeV/mm)= 0.73555 dedxmp(MeV/mm)= 390.13
E(MeV)= 316.23 dedxp(MeV/mm)= 0.64633 dedxmp(MeV/mm)= 447.53
E(MeV)= 398.11 dedxp(MeV/mm)= 0.57535 dedxmp(MeV/mm)= 514.18
E(MeV)= 501.19 dedxp(MeV/mm)= 0.51956 dedxmp(MeV/mm)= 591.42
E(MeV)= 0.001 dedxp(MeV/mm)= 24.465 dedxmp(MeV/mm)= -8.0876e-16
E(MeV)= 0.0012589 dedxp(MeV/mm)= 27.276 dedxmp(MeV/mm)= -9.0745e-16
E(MeV)= 0.0015849 dedxp(MeV/mm)= 30.767 dedxmp(MeV/mm)= -1.0182e-15
E(MeV)= 0.0019953 dedxp(MeV/mm)= 34.558 dedxmp(MeV/mm)= -1.1424e-15
E(MeV)= 0.0025119 dedxp(MeV/mm)= 38.769 dedxmp(MeV/mm)= -1.2818e-15
E(MeV)= 0.0031623 dedxp(MeV/mm)= 43.491 dedxmp(MeV/mm)= -1.4382e-15
E(MeV)= 0.0039811 dedxp(MeV/mm)= 48.814 dedxmp(MeV/mm)= -1.6137e-15
E(MeV)= 0.0050119 dedxp(MeV/mm)= 54.773 dedxmp(MeV/mm)= -1.8106e-15
E(MeV)= 0.0063096 dedxp(MeV/mm)= 61.455 dedxmp(MeV/mm)= -2.0315e-15
E(MeV)= 0.0079433 dedxp(MeV/mm)= 68.933 dedxmp(MeV/mm)= -2.2794e-15
E(MeV)= 0.01 dedxp(MeV/mm)= 77.356 dedxmp(MeV/mm)= -2.5575e-15
E(MeV)= 0.012589 dedxp(MeV/mm)= 85.192 dedxmp(MeV/mm)= -2.8696e-15
E(MeV)= 0.015849 dedxp(MeV/mm)= 93.469 dedxmp(MeV/mm)= -3.2197e-15
E(MeV)= 0.019953 dedxp(MeV/mm)= 101.92 dedxmp(MeV/mm)= -3.6126e-15
E(MeV)= 0.025119 dedxp(MeV/mm)= 110.26 dedxmp(MeV/mm)= -4.0534e-15
E(MeV)= 0.031623 dedxp(MeV/mm)= 117.88 dedxmp(MeV/mm)= -4.548e-15
E(MeV)= 0.039811 dedxp(MeV/mm)= 123.92 dedxmp(MeV/mm)= -5.103e-15
E(MeV)= 0.050119 dedxp(MeV/mm)= 127.47 dedxmp(MeV/mm)= -5.7256e-15
E(MeV)= 0.063096 dedxp(MeV/mm)= 127.65 dedxmp(MeV/mm)= -6.4242e-15
E(MeV)= 0.079433 dedxp(MeV/mm)= 124.16 dedxmp(MeV/mm)= -7.2081e-15
E(MeV)= 0.1 dedxp(MeV/mm)= 117.53 dedxmp(MeV/mm)= -8.0876e-15
E(MeV)= 0.12589 dedxp(MeV/mm)= 108.93 dedxmp(MeV/mm)= -9.0745e-15
E(MeV)= 0.15849 dedxp(MeV/mm)= 99.664 dedxmp(MeV/mm)= -1.0182e-14
E(MeV)= 0.19953 dedxp(MeV/mm)= 90.588 dedxmp(MeV/mm)= -1.1424e-14
E(MeV)= 0.25119 dedxp(MeV/mm)= 82.081 dedxmp(MeV/mm)= -1.2818e-14
E(MeV)= 0.31623 dedxp(MeV/mm)= 74.169 dedxmp(MeV/mm)= -1.4382e-14
E(MeV)= 0.39811 dedxp(MeV/mm)= 66.763 dedxmp(MeV/mm)= -1.6137e-14
E(MeV)= 0.50119 dedxp(MeV/mm)= 59.742 dedxmp(MeV/mm)= -1.8106e-14
E(MeV)= 0.63096 dedxp(MeV/mm)= 53.434 dedxmp(MeV/mm)= -2.0315e-14
E(MeV)= 0.79433 dedxp(MeV/mm)= 47.062 dedxmp(MeV/mm)= -2.2794e-14
E(MeV)= 1 dedxp(MeV/mm)= 40.845 dedxmp(MeV/mm)= -2.5575e-14
E(MeV)= 1.2589 dedxp(MeV/mm)= 35.325 dedxmp(MeV/mm)= -2.8696e-14
E(MeV)= 1.5849 dedxp(MeV/mm)= 30.422 dedxmp(MeV/mm)= -3.2197e-14
E(MeV)= 1.9953 dedxp(MeV/mm)= 26.068 dedxmp(MeV/mm)= -3.6126e-14
E(MeV)= 2.5119 dedxp(MeV/mm)= 22.267 dedxmp(MeV/mm)= -4.0533e-14
E(MeV)= 3.1623 dedxp(MeV/mm)= 18.934 dedxmp(MeV/mm)= -4.5479e-14
E(MeV)= 3.9811 dedxp(MeV/mm)= 16.043 dedxmp(MeV/mm)= -5.1028e-14
E(MeV)= 5.0119 dedxp(MeV/mm)= 13.589 dedxmp(MeV/mm)= 0.026437
E(MeV)= 6.3096 dedxp(MeV/mm)= 11.42 dedxmp(MeV/mm)= 3.1012
E(MeV)= 7.9433 dedxp(MeV/mm)= 9.608 dedxmp(MeV/mm)= 7.106
E(MeV)= 10 dedxp(MeV/mm)= 8.0524 dedxmp(MeV/mm)= 12.19
E(MeV)= 12.589 dedxp(MeV/mm)= 6.6936 dedxmp(MeV/mm)= 18.525
E(MeV)= 15.849 dedxp(MeV/mm)= 5.5755 dedxmp(MeV/mm)= 26.308
E(MeV)= 19.953 dedxp(MeV/mm)= 4.6616 dedxmp(MeV/mm)= 35.767
E(MeV)= 25.119 dedxp(MeV/mm)= 3.9107 dedxmp(MeV/mm)= 47.162
E(MeV)= 31.623 dedxp(MeV/mm)= 3.2703 dedxmp(MeV/mm)= 60.794
E(MeV)= 39.811 dedxp(MeV/mm)= 2.7356 dedxmp(MeV/mm)= 77.004
E(MeV)= 50.119 dedxp(MeV/mm)= 2.2882 dedxmp(MeV/mm)= 96.188
E(MeV)= 63.096 dedxp(MeV/mm)= 1.9184 dedxmp(MeV/mm)= 118.8
E(MeV)= 79.433 dedxp(MeV/mm)= 1.6121 dedxmp(MeV/mm)= 145.34
E(MeV)= 100 dedxp(MeV/mm)= 1.3599 dedxmp(MeV/mm)= 176.42
E(MeV)= 125.89 dedxp(MeV/mm)= 1.153 dedxmp(MeV/mm)= 212.71
E(MeV)= 158.49 dedxp(MeV/mm)= 0.98406 dedxmp(MeV/mm)= 254.96
E(MeV)= 199.53 dedxp(MeV/mm)= 0.84666 dedxmp(MeV/mm)= 304.07
E(MeV)= 251.19 dedxp(MeV/mm)= 0.73555 dedxmp(MeV/mm)= 361.04
E(MeV)= 316.23 dedxp(MeV/mm)= 0.64633 dedxmp(MeV/mm)= 426.99
E(MeV)= 398.11 dedxp(MeV/mm)= 0.57535 dedxmp(MeV/mm)= 503.21
E(MeV)= 501.19 dedxp(MeV/mm)= 0.51956 dedxmp(MeV/mm)= 591.16
E(MeV)= 630.96 dedxp(MeV/mm)= 0.47644 dedxmp(MeV/mm)= 631.06
E(MeV)= 794.33 dedxp(MeV/mm)= 0.44387 dedxmp(MeV/mm)= 669.72
E(MeV)= 1000 dedxp(MeV/mm)= 0.42068 dedxmp(MeV/mm)= 708.41
@@ -945,3 +927,11 @@ Range table for G4_Si
... close Root file : monopole.root - done
Graphics systems deleted.
Visualization Manager deleting...
G4Integration Driver Stats: #QuickAdvance 1518074 - #AccurateAdvance 8563 #good steps 14225 #bad steps 2
G4ChordFinder statistics report:
No trials: 1517124 No Calls: 1516624 Max-trial: 3
Parameters: fFirstFraction 0.999 fFractionLast 1 fFractionNextEstimate 0.98
G4Integration Driver Stats: #QuickAdvance 1715737 - #AccurateAdvance 601 #good steps 5666 #bad steps 0
G4ChordFinder statistics report:
No trials: 1715185 No Calls: 1715084 Max-trial: 3
Parameters: fFirstFraction 0.999 fFractionLast 1 fFractionNextEstimate 0.98
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ActionInitialization.cc 76485 2013-11-11 10:54:47Z gcosmo $
//
/// \file ActionInitialization.cc
/// \brief Implementation of the ActionInitialization class
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/DetectorConstruction.cc
/// \brief Implementation of the DetectorConstruction class
//
// $Id: DetectorConstruction.cc 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -45,6 +44,7 @@
#include "G4PhysicalVolumeStore.hh"
#include "G4LogicalVolumeStore.hh"
#include "G4SolidStore.hh"
#include "G4StateManager.hh"
#include "G4UnitsTable.hh"
#include "G4NistManager.hh"
@@ -66,8 +66,7 @@ DetectorConstruction::DetectorConstruction()
fWorldMaterial(0),
fAbsorMaterial(0),
fLogAbsor(0),
fMonFieldSetup(0),
fZMagFieldValue(0.),
fMonFieldSetup(),
fDetectorMessenger(0)
{
// default parameter values
@@ -75,9 +74,6 @@ DetectorConstruction::DetectorConstruction()
fWorldSizeX = fWorldSizeYZ = 1.2 * fAbsorSizeX;
fMaxStepSize = 5 * mm;
// fMonFieldSetup = G4MonopoleFieldSetup::GetMonopoleFieldSetup();
fMonFieldSetup = new G4MonopoleFieldSetup();
SetMaterial("G4_Al");
fWorldMaterial =
G4NistManager::Instance()->FindOrBuildMaterial("G4_Galactic");
@@ -161,7 +157,9 @@ void DetectorConstruction::SetSizeX(G4double value)
if(value > 0.0) {
fAbsorSizeX = value;
fWorldSizeX = 1.2 * fAbsorSizeX;
G4RunManager::GetRunManager()->GeometryHasBeenModified();
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
G4RunManager::GetRunManager()->ReinitializeGeometry();
}
}
}
@@ -172,7 +170,9 @@ void DetectorConstruction::SetSizeYZ(G4double value)
if(value > 0.0) {
fAbsorSizeYZ = value;
fWorldSizeYZ = 1.2 * fAbsorSizeYZ;
G4RunManager::GetRunManager()->GeometryHasBeenModified();
if ( G4StateManager::GetStateManager()->GetCurrentState() != G4State_PreInit ) {
G4RunManager::GetRunManager()->ReinitializeGeometry();
}
}
}
@@ -195,65 +195,18 @@ void DetectorConstruction::SetMaterial(const G4String& namemat)
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
// void DetectorConstruction::SetMagField(G4double fieldValue)
// {
// fMonFieldSetup->SetMagField(fieldValue);
// //apply a global uniform magnetic field along Z axis
// G4FieldManager * fieldMgr =
// G4TransportationManager::GetTransportationManager()->GetFieldManager();
// if (fMagField) { delete fMagField; } //delete the existing magn field
// if (fieldValue != 0.) // create a new one if non nul
// {
// fMagField = new G4UniformMagField(G4ThreeVector(0., 0., fieldValue));
// fieldMgr->SetDetectorField(fMagField);
// fieldMgr->CreateChordFinder(fMagField);
// }
// else
// {
// fMagField = 0;
// fieldMgr->SetDetectorField(fMagField);
// }
// }
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
void DetectorConstruction::ConstructSDandField()
{
// Define magnetic field
bool bNewFieldValue = false;
if ( fFieldMessenger.Get() != 0 ) {
G4ThreeVector fieldSet = fFieldMessenger.Get()->GetFieldValue();
if(fieldSet.z()!=fZMagFieldValue) bNewFieldValue = true;
if ( ! fMonFieldSetup.Get() ) {
G4MonopoleFieldSetup* fieldSetup
= new G4MonopoleFieldSetup();
G4AutoDelete::Register(fieldSetup); // Kernel will delete the F01FieldSetup
fMonFieldSetup.Put(fieldSetup);
}
else bNewFieldValue = true;
// Monopole particule specific magnetic field
if(bNewFieldValue&&fZMagFieldValue!=0.)
fMonFieldSetup->SetMagField(fZMagFieldValue, true);
if ( bNewFieldValue ) {
// Create global magnetic field messenger.
// Uniform magnetic field is then created automatically if
// the field value is not zero.
if(fZMagFieldValue!=0.)
{
G4ThreeVector fieldValue = G4ThreeVector(0.,0.,fZMagFieldValue);
G4GlobalMagFieldMessenger* msg =
new G4GlobalMagFieldMessenger(fieldValue);
msg->SetVerboseLevel(1);
G4AutoDelete::Register(msg);
fFieldMessenger.Put( msg );
}
}
fMonFieldSetup.Get()->ConstructMagField(); // add field value
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -265,10 +218,3 @@ void DetectorConstruction::SetMaxStepSize(G4double step)
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void DetectorConstruction::UpdateGeometry()
{
G4RunManager::GetRunManager()->ReinitializeGeometry();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/DetectorMessenger.cc
/// \brief Implementation of the DetectorMessenger class
//
// $Id: DetectorMessenger.cc 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -49,8 +48,7 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * det)
fMaterCmd(0),
fSizeXCmd(0),
fSizeYZCmd(0),
fStepSizeCmd(0),
fMagFieldCmd(0)
fStepSizeCmd(0)
{
fDetDir = new G4UIdirectory("/testex/det/");
@@ -81,20 +79,6 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * det)
fStepSizeCmd->SetRange("StepSize>0.");
fStepSizeCmd->SetUnitCategory("Length");
fStepSizeCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fMagFieldCmd = new G4UIcmdWithADoubleAndUnit("/testex/det/setField",this);
fMagFieldCmd->SetGuidance("Define magnetic field.");
fMagFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
fMagFieldCmd->SetParameterName("Bz",false);
fMagFieldCmd->SetUnitCategory("Magnetic flux density");
fMagFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fUpdateCmd = new G4UIcmdWithoutParameter("/testex/det/update",this);
fUpdateCmd->SetGuidance("Update calorimeter geometry.");
fUpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" ");
fUpdateCmd->SetGuidance("if you changed geometrical value(s).");
fUpdateCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -105,8 +89,6 @@ DetectorMessenger::~DetectorMessenger()
delete fSizeXCmd;
delete fSizeYZCmd;
delete fStepSizeCmd;
delete fMagFieldCmd;
delete fUpdateCmd;
delete fDetDir;
}
@@ -123,14 +105,8 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
if( command == fSizeYZCmd )
{ fDetector->SetSizeYZ(fSizeYZCmd->GetNewDoubleValue(newValue));}
if( command == fMagFieldCmd )
{ fDetector->SetMagField(fMagFieldCmd->GetNewDoubleValue(newValue));}
if( command == fStepSizeCmd )
{ fDetector->SetMaxStepSize(fStepSizeCmd->GetNewDoubleValue(newValue));}
if( command == fUpdateCmd )
{ fDetector->UpdateGeometry();}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4Monopole.cc
/// \brief Implementation of the G4Monopole class
//
// $Id: G4Monopole.cc 66817 2013-01-12 16:16:08Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4MonopoleEquation.cc
/// \brief Implementation of the G4MonopoleEquation class
//
// $Id: G4MonopoleEquation.cc 108824 2018-03-09 11:05:41Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -64,7 +63,9 @@
G4MonopoleEquation::G4MonopoleEquation(G4MagneticField *emField )
: G4EquationOfMotion( emField )
{}
{
G4cout << "G4MonopoleEquation::G4MonopoleEquation" << G4endl;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,7 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MonopoleFieldMessenger.cc 68036 2013-03-13 14:13:45Z gcosmo $
//
/// \file exoticphysics/monopole/src/G4MonopoleFieldMessenger.cc
/// \brief Implementation of the G4MonopoleFieldMessenger class
@@ -59,7 +58,7 @@ G4MonopoleFieldMessenger::G4MonopoleFieldMessenger(G4MonopoleFieldSetup * fld)
fSetFieldCmd->SetGuidance("Magnetic field will be in Z direction.");
fSetFieldCmd->SetParameterName("Bz",false);
fSetFieldCmd->SetUnitCategory("Magnetic flux density");
fSetFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle);
fSetFieldCmd->AvailableForStates(G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -75,7 +74,7 @@ G4MonopoleFieldMessenger::~G4MonopoleFieldMessenger()
void G4MonopoleFieldMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if( command == fSetFieldCmd )
{ fField->SetMagField(fSetFieldCmd->GetNewDoubleValue(newValue));}
{ fField->SetZMagFieldValue(fSetFieldCmd->GetNewDoubleValue(newValue));}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4MonopoleFieldSetup.cc
/// \brief Implementation of the G4MonopoleFieldSetup class
//
// $Id: G4MonopoleFieldSetup.cc 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -82,7 +81,7 @@ G4MonopoleFieldSetup::G4MonopoleFieldSetup()
fStepper(0),
fMonopoleStepper(0),
fMinStep(0.0),
fZmagFieldValue(0.),
fZmagFieldValue(0.2*tesla),
fMonopoleFieldMessenger(0)
{
@@ -118,30 +117,31 @@ G4MonopoleFieldSetup::~G4MonopoleFieldSetup()
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void G4MonopoleFieldSetup::SetMagField(G4double fieldValue,
bool checkIfAlreadyDefined)
void G4MonopoleFieldSetup::SetZMagFieldValue (G4double val)
{
if(checkIfAlreadyDefined&&fMagneticField){
// G4double fieldSet[4], fValue;
// fMagneticField->GetFieldValue(fieldSet, &fValue);
return;
}
//set new magnetic field value and rebuild the field
fZmagFieldValue = val;
ConstructMagField();
}
fZmagFieldValue = fieldValue;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
void G4MonopoleFieldSetup::ConstructMagField()
{
//apply a global uniform magnetic field along Z axis
if (fMagneticField) { delete fMagneticField; } //delete the existing magn field
if (fZmagFieldValue != 0.) // create a new one if non nul
{
// G4cout << "Go to create new field ..." << G4endl;
fMagneticField = new G4UniformMagField(G4ThreeVector(0., 0.,
fZmagFieldValue));
InitialiseAll();
}
else
{
// G4cout << "Set field = 0 ..." << G4endl;
fMagneticField = 0;
}
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4MonopolePhysics.cc
/// \brief Implementation of the G4MonopolePhysics class
//
// $Id: G4MonopolePhysics.cc 107526 2017-11-21 07:17:43Z gcosmo $
//
//---------------------------------------------------------------------------
//
@@ -115,7 +114,8 @@ void G4MonopolePhysics::ConstructProcess()
// dedicated trasporation
if(magn != 0.0) {
pmanager->RemoveProcess(0);
G4int idxt(0);
pmanager->RemoveProcess(idxt);
pmanager->AddProcess(new G4MonopoleTransportation(fMpl),-1, 0, 0);
}
@@ -140,6 +140,10 @@ void G4MonopolePhysics::ConstructProcess()
void G4MonopolePhysics::SetMagneticCharge(G4double val)
{
if ( fMpl ) {
G4cerr << "Cannot set value. Monopole particle was already constructed." << G4endl;
}
fMagCharge = val;
}
@@ -147,6 +151,10 @@ void G4MonopolePhysics::SetMagneticCharge(G4double val)
void G4MonopolePhysics::SetElectricCharge(G4double val)
{
if ( fMpl ) {
G4cerr << "Cannot set value. Monopole particle was already constructed." << G4endl;
}
fElCharge = val;
}
@@ -154,6 +162,10 @@ void G4MonopolePhysics::SetElectricCharge(G4double val)
void G4MonopolePhysics::SetMonopoleMass(G4double mass)
{
if ( fMpl ) {
G4cerr << "Cannot set value. Monopole particle was already constructed." << G4endl;
}
fMonopoleMass = mass;
}
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4MonopolePhysicsMessenger.cc
/// \brief Implementation of the G4MonopolePhysicsMessenger class
//
// $Id: G4MonopolePhysicsMessenger.cc 107526 2017-11-21 07:17:43Z gcosmo $
//
// 12.07.10 S.Burdin (changed the magnetic and electric charge variables
// from integer to double)
@@ -75,24 +74,6 @@ G4MonopolePhysicsMessenger::G4MonopolePhysicsMessenger(G4MonopolePhysics* p)
fPhysicsCmd->SetParameter(unit);
qmag->SetDefaultValue("GeV");
fPhysicsCmd->AvailableForStates(G4State_PreInit);
fMCmd = new G4UIcmdWithADouble("/monopole/magCharge",this);
fMCmd->SetGuidance("Set monopole magnetic charge number");
fMCmd->SetParameterName("Qmag",false);
fMCmd->AvailableForStates(G4State_PreInit);
fZCmd = new G4UIcmdWithADouble("/monopole/elCharge",this);
fZCmd->SetGuidance("Set monopole electric charge number");
fZCmd->SetParameterName("Qel",false);
fZCmd->AvailableForStates(G4State_PreInit);
fMassCmd = new G4UIcmdWithADoubleAndUnit("/monopole/Mass",this);
fMassCmd->SetGuidance("Set monopole fMass");
fMassCmd->SetParameterName("Mass",false);
fMassCmd->SetRange("Mass>0.");
fMassCmd->SetUnitCategory("Energy");
fMassCmd->AvailableForStates(G4State_PreInit);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -100,9 +81,6 @@ G4MonopolePhysicsMessenger::G4MonopolePhysicsMessenger(G4MonopolePhysics* p)
G4MonopolePhysicsMessenger::~G4MonopolePhysicsMessenger()
{
delete fPhysicsCmd;
delete fMCmd;
delete fZCmd;
delete fMassCmd;
delete fPhysicsDir;
}
@@ -122,15 +100,6 @@ void G4MonopolePhysicsMessenger::SetNewValue(G4UIcommand* command,
fPhys->SetElectricCharge(q);
fPhys->SetMonopoleMass(mass*vUnit);
}
if (command == fMCmd) {
fPhys->SetMagneticCharge(fMCmd->GetNewDoubleValue(newValue));
}
if (command == fZCmd) {
fPhys->SetElectricCharge(fZCmd->GetNewDoubleValue(newValue));
}
if (command == fMassCmd) {
fPhys->SetMonopoleMass(fMassCmd->GetNewDoubleValue(newValue));
}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/G4MonopoleTransportation.cc
/// \brief Implementation of the G4MonopoleTransportation class
//
// $Id: G4MonopoleTransportation.cc 106979 2017-10-31 09:01:20Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -77,7 +76,8 @@ G4MonopoleTransportation::G4MonopoleTransportation( const G4Monopole* mpl,
fNoLooperTrials(0),
fSumEnergyKilled( 0.0 ), fMaxEnergyKilled( 0.0 ),
fShortStepOptimisation(false), // Old default: true (=fast short steps)
fpSafetyHelper(0)
fpSafetyHelper(0),
noCalls(0)
{
verboseLevel = verb;
@@ -93,17 +93,17 @@ G4MonopoleTransportation::G4MonopoleTransportation( const G4Monopole* mpl,
}
#endif
const DetectorConstruction* detector = static_cast<const DetectorConstruction*>
(G4RunManager::GetRunManager()->GetUserDetectorConstruction());
const DetectorConstruction* detector =
static_cast<const DetectorConstruction*>
(G4RunManager::GetRunManager()->GetUserDetectorConstruction());
fMagSetup = detector->GetMonopoleFieldSetup();
G4TransportationManager* transportMgr = G4TransportationManager::GetTransportationManager();
G4TransportationManager* transportMgr =
G4TransportationManager::GetTransportationManager();
fLinearNavigator = transportMgr->GetNavigatorForTracking() ;
// fGlobalFieldMgr = transportMgr->GetFieldManager() ;
fFieldPropagator = transportMgr->GetPropagatorInField() ;
fpSafetyHelper = transportMgr->GetSafetyHelper();
@@ -114,9 +114,7 @@ G4MonopoleTransportation::G4MonopoleTransportation( const G4Monopole* mpl,
// about the detector's field before this transportation process
// is constructed.
// Instead later the method DoesGlobalFieldExist() is called
static G4TouchableHandle nullTouchableHandle; // Points to (G4VTouchable*) 0
fCurrentTouchableHandle = nullTouchableHandle;
fCurrentTouchableHandle = nullptr;
fEndGlobalTimeComputed = false;
fCandidateEndGlobalTime = 0;
@@ -129,8 +127,10 @@ G4MonopoleTransportation::~G4MonopoleTransportation()
if( (verboseLevel > 0) && (fSumEnergyKilled > 0.0 ) ){
G4cout << " G4MonopoleTransportation: Statistics for looping particles "
<< G4endl;
G4cout << " Sum of energy of loopers killed: " << fSumEnergyKilled << G4endl;
G4cout << " Max energy of loopers killed: " << fMaxEnergyKilled << G4endl;
G4cout << " Sum of energy of loopers killed: "
<< fSumEnergyKilled << G4endl;
G4cout << " Max energy of loopers killed: "
<< fMaxEnergyKilled << G4endl;
}
}
@@ -287,20 +287,20 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track,
G4double lengthAlongCurve ;
G4double restMass = fParticleDef->GetPDGMass() ;
G4ChargeState chargeState(particleElectricCharge, // The charge can change (dynamic)
G4ChargeState chargeState(particleElectricCharge, // The charge can change
fParticleDef->GetPDGSpin(),
0, // Magnetic moment: pParticleDef->GetMagneticMoment(),
0, // Electric Dipole moment - not in Particle Definition
0, // Magnetic moment:
0, // Electric Dipole moment
particleMagneticCharge ); // in Mev/c
G4EquationOfMotion* equationOfMotion =
fFieldPropagator->GetChordFinder()->GetIntegrationDriver()->GetEquationOfMotion();
G4EquationOfMotion* equationOfMotion = fFieldPropagator->
GetChordFinder()->GetIntegrationDriver()->GetEquationOfMotion();
equationOfMotion
->SetChargeMomentumMass( chargeState, // Was particleMagneticCharge - in Mev/c
momentumMagnitude, // Was particleElectricCharge
restMass ) ;
// SetChargeMomentumMass now passes both the electric and magnetic charge - in chargeState
equationOfMotion->SetChargeMomentumMass( chargeState,
momentumMagnitude,
restMass );
// SetChargeMomentumMass now passes both the electric and magnetic
// charge in chargeState
G4ThreeVector spin = track.GetPolarization() ;
G4FieldTrack aFieldTrack = G4FieldTrack( startPosition,
@@ -372,7 +372,7 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track,
if( currentSafety < endpointDistance )
{
// if( particleMagneticCharge == 0.0 )
// G4cout << " Avoiding call to ComputeSafety : charge = 0.0 " << G4endl;
//G4cout << " Avoiding call to ComputeSafety : charge = 0.0 " << G4endl;
if( particleMagneticCharge != 0.0 ) {
@@ -381,7 +381,7 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track,
currentSafety = endSafety ;
fPreviousSftOrigin = fTransportEndPosition ;
fPreviousSafety = currentSafety ;
fpSafetyHelper->SetCurrentSafety( currentSafety, fTransportEndPosition);
fpSafetyHelper->SetCurrentSafety(currentSafety, fTransportEndPosition);
// Because the Stepping Manager assumes it is from the start point,
// add the StepLength
@@ -390,11 +390,12 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track,
#ifdef G4DEBUG_TRANSPORT
G4cout.precision(12) ;
G4cout << "***G4MonopoleTransportation::AlongStepGPIL ** " << G4endl ;
G4cout << " Called Navigator->ComputeSafety at " << fTransportEndPosition
<< " and it returned safety= " << endSafety << G4endl ;
G4cout << "***G4MonopoleTransportation::AlongStepGPIL ** " << G4endl;
G4cout << " Called Navigator->ComputeSafety at "
<< fTransportEndPosition
<< " and it returned safety= " << endSafety << G4endl;
G4cout << " Adding endpoint distance " << endpointDistance
<< " to obtain pseudo-safety= " << currentSafety << G4endl ;
<< " to obtain pseudo-safety= " << currentSafety << G4endl;
#endif
}
}
@@ -412,14 +413,13 @@ AlongStepGetPhysicalInteractionLength( const G4Track& track,
// Initialize ParticleChange (by setting all its members equal
// to corresponding members in G4Track)
G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track,
const G4Step& stepData )
G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt(
const G4Track& track, const G4Step& stepData )
{
static G4int noCalls=0;
static const G4ParticleDefinition* fOpticalPhoton =
const G4ParticleDefinition* fOpticalPhoton =
G4ParticleTable::GetParticleTable()->FindParticle("opticalphoton");
noCalls++;
++noCalls;
fParticleChange.Initialize(track) ;
@@ -435,8 +435,6 @@ G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track
G4double deltaTime = 0.0 ;
// Calculate Lab Time of Flight (ONLY if field Equations used it!)
// G4double endTime = fCandidateEndGlobalTime;
// G4double delta_time = endTime - startTime;
G4double startTime = track.GetGlobalTime() ;
@@ -461,7 +459,7 @@ G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track
G4double meanInverseVelocity ;
// deltaTime = stepLength/finalVelocity ;
meanInverseVelocity = 0.5
* ( 1.0 / initialVelocity + 1.0 / finalVelocity ) ;
* ( 1.0 / initialVelocity + 1.0 / finalVelocity );
deltaTime = stepLength * meanInverseVelocity ;
}
else if( initialVelocity > 0.0 )
@@ -479,11 +477,10 @@ G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track
// Now Correct by Lorentz factor to get "proper" deltaTime
G4double restMass = track.GetDynamicParticle()->GetMass() ;
G4double deltaProperTime = deltaTime*( restMass/track.GetTotalEnergy() ) ;
G4double restMass = track.GetDynamicParticle()->GetMass();
G4double deltaProperTime = deltaTime*( restMass/track.GetTotalEnergy() );
fParticleChange.ProposeProperTime(track.GetProperTime() + deltaProperTime) ;
//fParticleChange. ProposeTrueStepLength( track.GetStepLength() ) ;
fParticleChange.ProposeProperTime(track.GetProperTime() + deltaProperTime);
// If the particle is caught looping or is stuck (in very difficult
// boundaries) in a magnetic field (doing many steps)
@@ -506,8 +503,8 @@ G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track
#ifdef G4VERBOSE
if( (verboseLevel > 1) ||
( endEnergy > fThreshold_Warning_Energy ) ) {
G4cout << " G4MonopoleTransportation is killing track that is looping or stuck "
<< G4endl
G4cout << " G4MonopoleTransportation is killing track "
<< "that is looping or stuck " << G4endl
<< " This track has " << track.GetKineticEnergy() / MeV
<< " MeV energy." << G4endl;
G4cout << " Number of trials = " << fNoLooperTrials
@@ -521,7 +518,8 @@ G4VParticleChange* G4MonopoleTransportation::AlongStepDoIt( const G4Track& track
fNoLooperTrials ++;
#ifdef G4VERBOSE
if( (verboseLevel > 2) ){
G4cout << " G4MonopoleTransportation::AlongStepDoIt(): Particle looping - "
G4cout << " G4MonopoleTransportation::AlongStepDoIt(): "
<< "Particle looping - "
<< " Number of trials = " << fNoLooperTrials
<< " No of calls to = " << noCalls
<< G4endl;
@@ -614,7 +612,6 @@ G4VParticleChange* G4MonopoleTransportation::PostStepDoIt( const G4Track& track,
const G4VPhysicalVolume* pNewVol = retCurrentTouchable->GetVolume() ;
const G4Material* pNewMaterial = 0 ;
const G4VSensitiveDetector* pNewSensitiveDetector = 0 ;
if( pNewVol != 0 )
{
pNewMaterial= pNewVol->GetLogicalVolume()->GetMaterial();
@@ -688,14 +685,15 @@ G4MonopoleTransportation::StartTracking(G4Track* aTrack)
if( DoesGlobalFieldExist() ) {
fFieldPropagator->ClearPropagatorState();
// Resets all state of field propagator class (ONLY)
// including safety values (in case of overlaps and to wipe for first track).
// including safety values
// in case of overlaps and to wipe for first track).
// G4ChordFinder* chordF= fFieldPropagator->GetChordFinder();
// if( chordF ) chordF->ResetStepEstimate();
}
// Make sure to clear the chord finders of all fields (ie managers)
static G4FieldManagerStore* fieldMgrStore= G4FieldManagerStore::GetInstance();
G4FieldManagerStore* fieldMgrStore= G4FieldManagerStore::GetInstance();
fieldMgrStore->ClearAllChordFindersState();
// Update the current touchable handle (from the track's)
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/PrimaryGeneratorAction.cc
/// \brief Implementation of the PrimaryGeneratorAction class
//
// $Id: PrimaryGeneratorAction.cc 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file electromagnetic/TestEm5/src/Run.cc
/// \brief Implementation of the Run class
//
// $Id: Run.cc 71376 2013-06-14 07:44:50Z maire $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/RunAction.cc
/// \brief Implementation of the RunAction class
//
// $Id: RunAction.cc 107534 2017-11-21 13:13:36Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -41,6 +40,7 @@
#include "G4SystemOfUnits.hh"
#include "G4ios.hh"
#include "Randomize.hh"
#include "G4ProductionCutsTable.hh"
#include "G4EmCalculator.hh"
@@ -79,6 +79,9 @@ G4Run* RunAction::GenerateRun()
void RunAction::BeginOfRunAction(const G4Run* aRun)
{
// Dump production cuts
G4ProductionCutsTable::GetProductionCutsTable()->DumpCouples();
G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl;
//histograms
//
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/RunActionMessenger.cc
/// \brief Implementation of the RunActionMessenger class
//
// $Id: RunActionMessenger.cc 68036 2013-03-13 14:13:45Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -36,7 +35,6 @@
#include "RunAction.hh"
#include "G4UIdirectory.hh"
#include "G4UIcmdWithADouble.hh"
#include "G4UIcmdWithAnInteger.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -44,8 +42,7 @@ RunActionMessenger::RunActionMessenger(RunAction * ra)
: G4UImessenger(),
fRunAction(ra),
fActDir(0),
fBinSizeCmd(0),
fVerboseCmd(0)
fBinSizeCmd(0)
{
fActDir = new G4UIdirectory("/testex/run/");
fActDir->SetGuidance("run commands");
@@ -54,11 +51,6 @@ RunActionMessenger::RunActionMessenger(RunAction * ra)
fBinSizeCmd->SetGuidance("Set bin size.");
fBinSizeCmd->SetParameterName("binSize", false);
fBinSizeCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
fVerboseCmd = new G4UIcmdWithAnInteger("/testex/run/verbose", this);
fVerboseCmd->SetGuidance("Set verbose level.");
fVerboseCmd->SetParameterName("verbose", false);
fVerboseCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -66,7 +58,6 @@ RunActionMessenger::RunActionMessenger(RunAction * ra)
RunActionMessenger::~RunActionMessenger()
{
delete fBinSizeCmd;
delete fVerboseCmd;
delete fActDir;
}
@@ -76,10 +67,6 @@ void RunActionMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
{
if( command == fBinSizeCmd )
{ fRunAction->SetBinSize(fBinSizeCmd->GetNewDoubleValue(newValue));}
if( command == fVerboseCmd )
{ fRunAction->SetVerbose(fVerboseCmd->GetNewIntValue(newValue));}
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/SteppingAction.cc
/// \brief Implementation of the SteppingAction class
//
// $Id: SteppingAction.cc 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,6 @@
/// \file exoticphysics/monopole/src/TrackingAction.cc
/// \brief Implementation of the TrackingAction class
//
// $Id: TrackingAction.cc 104872 2017-06-23 14:19:16Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,4 +1,3 @@
//$Id: .README.txt 98745 2016-08-09 13:36:03Z gcosmo $
///\file "exoticphysics/phonon/.README.txt"
///\brief Example phonon README page
@@ -1,4 +1,3 @@
$Id: History 110889 2018-06-25 06:19:53Z gcosmo $
-------------------------------------------------------------------
=========================================================
@@ -4,7 +4,6 @@
=================================================================
Daniel Brandt - SLAC
dbrandt@slac.stanford.edu
$Id: README 76246 2013-11-08 11:17:29Z gcosmo $
This example demonstrates how phonon propagation in cryogenic crystals
can be simulated in Geant4.
@@ -26,7 +26,6 @@
/// \file exoticphysics/phonon/XGeBox.cc
/// \brief Main program of the exoticphysics/phonon example
//
// $Id: XGeBox.cc 110254 2018-05-17 14:14:23Z gcosmo $
//
#include "G4Types.hh"
@@ -26,7 +26,6 @@
/// \file exoticphysics/phonon/include/XActionInitialization.hh
/// \brief Definition of the XActionInitialization class
//
// $Id$
//
#ifndef XActionInitialization_h
@@ -26,7 +26,6 @@
/// \file exoticphysics/phonon/include/XAluminumElectrodeHit.hh
/// \brief Definition of the XAluminumElectrodeHit class
//
// $Id: XAluminumElectrodeHit.hh 92176 2015-08-20 13:07:22Z gcosmo $
//
// 20141008 Allocators must be thread-local, and must be pointers
// 20150818 Make hit a simple container, with public data members

Some files were not shown because too many files have changed in this diff Show More