Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
-1
@@ -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......
|
||||
|
||||
-1
@@ -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.
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user