Import Geant4 10.4.0.beta source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History 101664 2016-11-21 09:10:32Z gcosmo $
|
||||
$Id: History 104350 2017-05-26 07:20:25Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,9 @@ track of all tags.
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
May 24, 2017 J.Apostolakis - fieldex01-V10-03-00
|
||||
- Fixed valgrind error in F01FieldSetup CreateStepperAndChordFinder() method.
|
||||
first delete all dependent objects, then create new ones.
|
||||
|
||||
November 19,2016 A.Dotti - fieldex01-V10-02-05
|
||||
- explicit set of SD to manager
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-03-patch-01 (24-February-2017)
|
||||
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -14,7 +14,7 @@
|
||||
***** Table : Nb of materials = 11 *****
|
||||
|
||||
Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.319 cm
|
||||
Imean: 75.967 eV
|
||||
Imean: 75.967 eV temperature: 293.15 K pressure: 1.00 atm
|
||||
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
|
||||
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
|
||||
Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.282 cm
|
||||
Imean: 56.518 eV
|
||||
Imean: 56.518 eV temperature: 293.15 K pressure: 1.00 atm
|
||||
|
||||
---> Element: Hydrogen (H) Z = 1.0 N = 1 A = 1.010 g/mole
|
||||
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.989 %
|
||||
@@ -201,9 +201,12 @@
|
||||
Z position of the (middle of the) absorber 21990 mm.
|
||||
|
||||
F01FieldSetup: magnetic field set to Uniform( (0.0033,0,0) )
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called to reset Stepper.
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called.
|
||||
1. Creating Stepper.
|
||||
G4ClassicalRK4 (default) is chosen
|
||||
The minimal step is equal to 1 mm
|
||||
2. Creating ChordFinder.
|
||||
3. Updating Field Manager.
|
||||
|
||||
FTFP_BERT : new threshold between BERT and FTFP is over the interval
|
||||
for pions : 3 to 12 GeV
|
||||
@@ -261,14 +264,17 @@ Some /vis commands (optionally) take a string to specify colour.
|
||||
Available colours:
|
||||
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
|
||||
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called to reset Stepper.
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called.
|
||||
1. Creating Stepper.
|
||||
G4ClassicalRK4 (default) is chosen
|
||||
The minimal step is equal to 0.1 mm
|
||||
2. Creating ChordFinder.
|
||||
3. Updating Field Manager.
|
||||
|
||||
phot: for gamma SubType= 12 BuildTable= 0
|
||||
LambdaPrime table from 200 keV to 100 TeV in 61 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
PhotoElectric : Emin= 0 eV Emax= 100 TeV AngularGenSauterGavrila FluoActive
|
||||
LivermorePhElectric : Emin= 0 eV Emax= 100 TeV AngularGenSauterGavrila FluoActive
|
||||
|
||||
compt: for gamma SubType= 13 BuildTable= 1
|
||||
Lambda table from 100 eV to 1 MeV, 7 bins per decade, spline: 1
|
||||
@@ -282,6 +288,12 @@ conv: for gamma SubType= 14 BuildTable= 1
|
||||
BetheHeitler : Emin= 0 eV Emax= 80 GeV
|
||||
BetheHeitlerLPM : Emin= 80 GeV Emax= 100 TeV
|
||||
|
||||
Rayl: for gamma SubType= 11 BuildTable= 1
|
||||
Lambda table from 100 eV to 100 keV, 7 bins per decade, spline: 0
|
||||
LambdaPrime table from 100 keV to 100 TeV in 63 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
|
||||
|
||||
msc: for e- SubType= 10
|
||||
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
@@ -946,10 +958,11 @@ Type of pre-compound inverse x-section 3
|
||||
Type of de-excitation inverse x-section 3
|
||||
Min excitation energy (keV) 0.01
|
||||
Level density (1/MeV) 0.1
|
||||
Time limit for long lived isomeres (ns) 1000
|
||||
Time limit for long lived isomeres (ns) 1e+12
|
||||
Use new data files 1
|
||||
Use complete data files 0
|
||||
Correlated gamma emission flag 0
|
||||
Electron internal conversion ID 2
|
||||
=======================================================================
|
||||
Number of de-excitation channels 8
|
||||
|
||||
@@ -1102,9 +1115,12 @@ Run Summary
|
||||
Number of events processed : 1
|
||||
User=0s Real=0s Sys=0s
|
||||
WARNING: command "/vis/viewer/update" could not be applied: no current viewer.
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called to reset Stepper.
|
||||
F01FieldSetup::CreateStepperAndChordFinder() called.
|
||||
1. Creating Stepper.
|
||||
G4ClassicalRK4 (default) is chosen
|
||||
The minimal step is equal to 0.1 mm
|
||||
2. Creating ChordFinder.
|
||||
3. Updating Field Manager.
|
||||
Setting Field strength to 1000 Gauss. Magnetic field vector is (0,0,1000) G
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// \brief Implementation of the F01FieldSetup class
|
||||
//
|
||||
//
|
||||
// $Id: F01FieldSetup.cc 100688 2016-10-31 11:21:51Z gcosmo $
|
||||
// $Id: F01FieldSetup.cc 104350 2017-05-26 07:20:25Z gcosmo $
|
||||
//
|
||||
// User Field setup class implementation.
|
||||
//
|
||||
@@ -136,21 +136,22 @@ F01FieldSetup::~F01FieldSetup()
|
||||
|
||||
void F01FieldSetup::CreateStepperAndChordFinder()
|
||||
{
|
||||
delete fChordFinder;
|
||||
fChordFinder= nullptr;
|
||||
|
||||
// Update field
|
||||
|
||||
G4cout<< " F01FieldSetup::CreateStepperAndChordFinder() called "
|
||||
<< " to reset Stepper." << G4endl;
|
||||
G4cout << " F01FieldSetup::CreateStepperAndChordFinder() called. " << G4endl
|
||||
<< " 1. Creating Stepper." << G4endl;
|
||||
|
||||
SetStepper();
|
||||
G4cout<<"The minimal step is equal to "<<fMinStep/mm<<" mm"<<G4endl;
|
||||
|
||||
fFieldManager->SetDetectorField(fMagneticField );
|
||||
|
||||
if (fChordFinder) delete fChordFinder;
|
||||
|
||||
G4cout << " 2. Creating ChordFinder." << G4endl;
|
||||
fChordFinder = new G4ChordFinder( fMagneticField, fMinStep,fStepper );
|
||||
|
||||
G4cout << " 3. Updating Field Manager." << G4endl;
|
||||
fFieldManager->SetChordFinder( fChordFinder );
|
||||
fFieldManager->SetDetectorField(fMagneticField );
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -232,13 +233,13 @@ void F01FieldSetup::SetStepper()
|
||||
case 457:
|
||||
case 745:
|
||||
fStepper = new G4DormandPrince745( fEquation );
|
||||
G4cout<<"G4DormandPrince745 Stepper is chosen"<<G4endl;
|
||||
G4cout<<"G4DormandPrince745 Stepper is chosen"<<G4endl;
|
||||
break;
|
||||
default:
|
||||
fStepper = new G4ClassicalRK4( fEquation );
|
||||
G4cout<<"G4ClassicalRK4 Stepper (default) is chosen"<<G4endl;
|
||||
// fStepper = new G4DormandPrince745( fEquation );
|
||||
// G4cout<<"G4DormandPrince745 (default) Stepper is chosen"<<G4endl;
|
||||
// G4cout<<"G4DormandPrince745 (default) Stepper is chosen"<<G4endl;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History 101665 2016-11-21 09:11:07Z gcosmo $
|
||||
$Id: History 104352 2017-05-26 07:23:36Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,14 @@ track of all tags.
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
May 24, 2017 J.Apostolakis - fieldex02-V10-03-02
|
||||
- Fixed F02ElectricFieldSetup UpdateIntegrator() method (avoid double
|
||||
deletion of driver - done by chord finder already. )
|
||||
|
||||
May 17, 2017 J.Apostolakis - fieldex02-V10-03-00, 01
|
||||
- Fixed F02ElectricFieldSetup Update...() method.
|
||||
* Now all old objects are deleted first, and then new objects are created.
|
||||
* Renamed UpdateStepper() to UpdateIntegrator() to clarify its role
|
||||
|
||||
November 19, 2016 A.Dotti - fieldex02-V10-02-03
|
||||
- explicit set of SD to manager
|
||||
|
||||
+2593
-2505
File diff suppressed because it is too large
Load Diff
@@ -27,7 +27,7 @@
|
||||
/// \brief Definition of the F02ElectricFieldSetup class
|
||||
//
|
||||
//
|
||||
// $Id: F02ElectricFieldSetup.hh 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
// $Id: F02ElectricFieldSetup.hh 104216 2017-05-18 13:45:22Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -49,6 +49,7 @@ class G4MagInt_Driver;
|
||||
class F02FieldMessenger;
|
||||
|
||||
/// A class for control of the Electric Field of the detector.
|
||||
/// The field for this case is uniform.
|
||||
///
|
||||
/// The field for this case is uniform.
|
||||
/// It is simply a 'setup' class that creates the field and necessary
|
||||
@@ -58,29 +59,37 @@ class F02ElectricFieldSetup
|
||||
{
|
||||
public:
|
||||
F02ElectricFieldSetup(G4ThreeVector); // The value of the field
|
||||
F02ElectricFieldSetup(); // A zero field
|
||||
F02ElectricFieldSetup(); // A zero field - true value set later
|
||||
|
||||
virtual ~F02ElectricFieldSetup();
|
||||
|
||||
void SetStepperType( G4int i) { fStepperType = i ; }
|
||||
|
||||
void SetStepper();
|
||||
// Methods to set parameters or select
|
||||
void SetStepperType( G4int i) { fStepperType = i ; CreateStepper(); }
|
||||
|
||||
void SetMinStep(G4double s) { fMinStep = s ; }
|
||||
|
||||
void UpdateField();
|
||||
|
||||
void SetFieldValue(G4ThreeVector fieldVector);
|
||||
void SetFieldValue(G4double fieldValue);
|
||||
G4ThreeVector GetConstantFieldValue();
|
||||
// Set/Get Field strength in Geant4 units
|
||||
|
||||
void UpdateIntegrator();
|
||||
// Prepare all the classes required for tracking - from stepper
|
||||
// to Chord-Finder
|
||||
// NOTE: field and equation must have been created before calling this.
|
||||
|
||||
protected:
|
||||
|
||||
// Find the global Field Manager
|
||||
|
||||
G4FieldManager* GetGlobalFieldManager();
|
||||
|
||||
void CreateStepper();
|
||||
// Implementation method - should not be exposed
|
||||
|
||||
private:
|
||||
G4double fMinStep;
|
||||
G4bool fVerbose;
|
||||
|
||||
G4FieldManager* fFieldManager;
|
||||
|
||||
@@ -97,8 +106,7 @@ private:
|
||||
|
||||
G4int fStepperType;
|
||||
|
||||
G4double fMinStep;
|
||||
|
||||
|
||||
F02FieldMessenger* fFieldMessenger;
|
||||
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// \brief Implementation of the F02ElectricFieldSetup class
|
||||
//
|
||||
//
|
||||
// $Id: F02ElectricFieldSetup.cc 77123 2013-11-21 16:13:28Z gcosmo $
|
||||
// $Id: F02ElectricFieldSetup.cc 104352 2017-05-26 07:23:36Z gcosmo $
|
||||
//
|
||||
// User Field class implementation.
|
||||
//
|
||||
@@ -69,7 +69,8 @@
|
||||
// Constructors:
|
||||
|
||||
F02ElectricFieldSetup::F02ElectricFieldSetup()
|
||||
: fFieldManager(0),
|
||||
: fMinStep(0.010*mm), // minimal step of 10 microns
|
||||
fFieldManager(0),
|
||||
fChordFinder(0),
|
||||
fEquation(0),
|
||||
fEMfield(0),
|
||||
@@ -77,21 +78,23 @@ F02ElectricFieldSetup::F02ElectricFieldSetup()
|
||||
fStepper(0),
|
||||
fIntgrDriver(0),
|
||||
fStepperType(4), // ClassicalRK4 -- the default stepper
|
||||
fMinStep(0.010*mm) // minimal step of 10 microns
|
||||
fFieldMessenger(nullptr)
|
||||
{
|
||||
fEMfield = new G4UniformElectricField(
|
||||
G4ThreeVector(0.0,100000.0*kilovolt/cm,0.0));
|
||||
fEquation = new G4EqMagElectricField(fEMfield);
|
||||
|
||||
fFieldManager = GetGlobalFieldManager();
|
||||
|
||||
UpdateIntegrator();
|
||||
fFieldMessenger = new F02FieldMessenger(this);
|
||||
UpdateField();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
F02ElectricFieldSetup::F02ElectricFieldSetup(G4ThreeVector fieldVector)
|
||||
: fFieldManager(0),
|
||||
: fMinStep(0.010*mm), // minimal step of 10 microns
|
||||
fFieldManager(0),
|
||||
fChordFinder(0),
|
||||
fEquation(0),
|
||||
fEMfield(0),
|
||||
@@ -99,43 +102,66 @@ F02ElectricFieldSetup::F02ElectricFieldSetup(G4ThreeVector fieldVector)
|
||||
fStepper(0),
|
||||
fIntgrDriver(0),
|
||||
fStepperType(4), // ClassicalRK4 -- the default stepper
|
||||
fMinStep(0.010*mm) // minimal step of 10 microns
|
||||
fFieldMessenger(nullptr)
|
||||
{
|
||||
fEMfield = new G4UniformElectricField(fieldVector);
|
||||
fEquation = new G4EqMagElectricField(fEMfield);
|
||||
|
||||
fFieldManager = GetGlobalFieldManager();
|
||||
UpdateIntegrator();
|
||||
|
||||
fFieldMessenger = new F02FieldMessenger(this);
|
||||
|
||||
UpdateField();
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
F02ElectricFieldSetup::~F02ElectricFieldSetup()
|
||||
{
|
||||
delete fChordFinder;
|
||||
delete fStepper;
|
||||
delete fEquation;
|
||||
delete fEMfield;
|
||||
delete fFieldMessenger;
|
||||
G4cout << " F02ElectricFieldSetup - dtor called. " << G4endl;
|
||||
|
||||
delete fFieldMessenger; fFieldMessenger= nullptr;
|
||||
// Delete the messenger first, to avoid messages to deleted classes!
|
||||
|
||||
delete fChordFinder; fChordFinder= nullptr;
|
||||
delete fStepper; fStepper = nullptr;
|
||||
delete fEquation; fEquation = nullptr;
|
||||
delete fEMfield; fEMfield = nullptr;
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F02ElectricFieldSetup::UpdateField()
|
||||
void F02ElectricFieldSetup::UpdateIntegrator()
|
||||
{
|
||||
// Register this field to 'global' Field Manager and
|
||||
// Create Stepper and Chord Finder with predefined type, minstep (resp.)
|
||||
// Register this field to 'global' Field Manager and
|
||||
// Create Stepper and Chord Finder with predefined type, minstep (resp.)
|
||||
|
||||
SetStepper();
|
||||
// It must be possible to call 'again' after an alternative stepper
|
||||
// has been chosen, or other changes have been made
|
||||
assert(fEquation!=nullptr);
|
||||
|
||||
G4cout<<"The minimal step is equal to "<<fMinStep/mm<<" mm"<<G4endl;
|
||||
G4cout<< " F02ElectricFieldSetup: The minimal step is equal to "
|
||||
<< fMinStep/mm << " mm" << G4endl;
|
||||
|
||||
fFieldManager->SetDetectorField(fEMfield);
|
||||
|
||||
if (fChordFinder) delete fChordFinder;
|
||||
if (fChordFinder) {
|
||||
delete fChordFinder;
|
||||
fChordFinder= nullptr;
|
||||
// The chord-finder's destructor deletes the driver
|
||||
fIntgrDriver= nullptr;
|
||||
}
|
||||
|
||||
// Currently driver does not 'own' stepper ( 17.05.2017 J.A. )
|
||||
// -- so this stepper is still a valid object after this
|
||||
|
||||
if( fStepper ) {
|
||||
delete fStepper;
|
||||
fStepper = nullptr;
|
||||
}
|
||||
|
||||
// Create the new objects, in turn for all relevant classes
|
||||
// -- Careful to call this after all old objects are destroyed, and
|
||||
// pointers nullified.
|
||||
CreateStepper(); // Note that this method deleted the existing Stepper!
|
||||
|
||||
fIntgrDriver = new G4MagInt_Driver(fMinStep,
|
||||
fStepper,
|
||||
fStepper->GetNumberOfVariables());
|
||||
@@ -143,17 +169,19 @@ void F02ElectricFieldSetup::UpdateField()
|
||||
fChordFinder = new G4ChordFinder(fIntgrDriver);
|
||||
|
||||
fFieldManager->SetChordFinder(fChordFinder);
|
||||
fFieldManager->SetDetectorField(fEMfield);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F02ElectricFieldSetup::SetStepper()
|
||||
void F02ElectricFieldSetup::CreateStepper()
|
||||
{
|
||||
// Set stepper according to the stepper type
|
||||
// Deletes the existing stepper
|
||||
// and creates a new stepper object of the chosen stepper type
|
||||
|
||||
G4int nvar = 8;
|
||||
const G4int nvar = 8;
|
||||
|
||||
if (fStepper) delete fStepper;
|
||||
auto oldStepper= fStepper;
|
||||
|
||||
switch ( fStepperType )
|
||||
{
|
||||
@@ -200,6 +228,15 @@ void F02ElectricFieldSetup::SetStepper()
|
||||
break;
|
||||
default: fStepper = 0;
|
||||
}
|
||||
|
||||
delete oldStepper;
|
||||
// Now must make sure it is 'stripped' from the dependent object(s)
|
||||
// ... but the next line does this anyway - by informing
|
||||
// the driver (if it exists) about the new stepper.
|
||||
|
||||
// Always inform the (existing) driver about the new stepper
|
||||
if( fIntgrDriver )
|
||||
fIntgrDriver->RenewStepperAndAdjust( fStepper );
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// \brief Implementation of the F02FieldMessenger class
|
||||
//
|
||||
//
|
||||
// $Id: F02FieldMessenger.cc 76247 2013-11-08 11:18:52Z gcosmo $
|
||||
// $Id: F02FieldMessenger.cc 104216 2017-05-18 13:45:22Z gcosmo $
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -99,7 +99,7 @@ void F02FieldMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
|
||||
if( command == fStepperCmd )
|
||||
fElFieldSetup->SetStepperType(fStepperCmd->GetNewIntValue(newValue));
|
||||
if( command == fUpdateCmd )
|
||||
fElFieldSetup->UpdateField();
|
||||
fElFieldSetup->UpdateIntegrator();
|
||||
if( command == fElFieldCmd )
|
||||
fElFieldSetup->SetFieldValue(fElFieldCmd->GetNewDoubleValue(newValue));
|
||||
if( command == fMinStepCmd )
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History 101666 2016-11-21 09:12:08Z gcosmo $
|
||||
$Id: History 104351 2017-05-26 07:23:04Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,9 @@ track of all tags.
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
May 24, 2017 - J.Apostolakis - fieldex03-V10-03-00
|
||||
- fixed valgrind issues in field setup's update method: first
|
||||
delete all dependent objects, then create new ones.
|
||||
|
||||
November 19, 2016 A.Dotti - fieldex03-V10-02-04
|
||||
- explicit set of SD to manager
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-03-patch-01 (24-February-2017)
|
||||
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -14,7 +14,7 @@
|
||||
***** Table : Nb of materials = 11 *****
|
||||
|
||||
Material: Mylar density: 1.390 g/cm3 RadL: 28.743 cm Nucl.Int.Length: 56.319 cm
|
||||
Imean: 75.967 eV
|
||||
Imean: 75.967 eV temperature: 293.15 K pressure: 1.00 atm
|
||||
|
||||
---> Element: Oxygen (O) Z = 8.0 N = 16 A = 16.000 g/mole
|
||||
---> Isotope: O16 Z = 8 N = 16 A = 15.99 g/mole abundance: 99.757 %
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
|
||||
Material: Polypropelene density: 910.000 mg/cm3 RadL: 49.214 cm Nucl.Int.Length: 74.282 cm
|
||||
Imean: 56.518 eV
|
||||
Imean: 56.518 eV temperature: 293.15 K pressure: 1.00 atm
|
||||
|
||||
---> Element: Hydrogen (H) Z = 1.0 N = 1 A = 1.010 g/mole
|
||||
---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.989 %
|
||||
@@ -207,8 +207,9 @@ fRadiatorMat = Air
|
||||
WorldMaterial = Air
|
||||
zModule = 21790 mm
|
||||
21790 mm
|
||||
F03FieldSetup::UpdateField> The minimal step is equal to 0.25 mm
|
||||
Stepper Type chosen = 4
|
||||
G4ClassicalRK4 (default) is called
|
||||
The minimal step is equal to 0.25 mm
|
||||
|
||||
FTFP_BERT : new threshold between BERT and FTFP is over the interval
|
||||
for pions : 3 to 12 GeV
|
||||
@@ -266,13 +267,14 @@ Some /vis commands (optionally) take a string to specify colour.
|
||||
Available colours:
|
||||
black, blue, brown, cyan, gray, green, grey, magenta, red, white, yellow
|
||||
|
||||
F03FieldSetup::UpdateField> The minimal step is equal to 10 mm
|
||||
Stepper Type chosen = 4
|
||||
G4ClassicalRK4 (default) is called
|
||||
The minimal step is equal to 10 mm
|
||||
|
||||
phot: for gamma SubType= 12 BuildTable= 0
|
||||
LambdaPrime table from 200 keV to 100 TeV in 61 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
PhotoElectric : Emin= 0 eV Emax= 100 TeV AngularGenSauterGavrila FluoActive
|
||||
LivermorePhElectric : Emin= 0 eV Emax= 100 TeV AngularGenSauterGavrila FluoActive
|
||||
|
||||
compt: for gamma SubType= 13 BuildTable= 1
|
||||
Lambda table from 100 eV to 1 MeV, 7 bins per decade, spline: 1
|
||||
@@ -286,6 +288,12 @@ conv: for gamma SubType= 14 BuildTable= 1
|
||||
BetheHeitler : Emin= 0 eV Emax= 80 GeV
|
||||
BetheHeitlerLPM : Emin= 80 GeV Emax= 100 TeV
|
||||
|
||||
Rayl: for gamma SubType= 11 BuildTable= 1
|
||||
Lambda table from 100 eV to 100 keV, 7 bins per decade, spline: 0
|
||||
LambdaPrime table from 100 keV to 100 TeV in 63 bins
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
LivermoreRayleigh : Emin= 0 eV Emax= 100 TeV CullenGenerator
|
||||
|
||||
msc: for e- SubType= 10
|
||||
RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1
|
||||
===== EM models for the G4Region DefaultRegionForTheWorld ======
|
||||
@@ -950,10 +958,11 @@ Type of pre-compound inverse x-section 3
|
||||
Type of de-excitation inverse x-section 3
|
||||
Min excitation energy (keV) 0.01
|
||||
Level density (1/MeV) 0.1
|
||||
Time limit for long lived isomeres (ns) 1000
|
||||
Time limit for long lived isomeres (ns) 1e+12
|
||||
Use new data files 1
|
||||
Use complete data files 0
|
||||
Correlated gamma emission flag 0
|
||||
Electron internal conversion ID 2
|
||||
=======================================================================
|
||||
Number of de-excitation channels 8
|
||||
|
||||
@@ -990,7 +999,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 1
|
||||
User=0.01s Real=0.01s Sys=0s
|
||||
User=0.01s Real=0s Sys=0s
|
||||
WARNING: command "/vis/viewer/update" could not be applied: no current viewer.
|
||||
|
||||
========= Table of registered couples ==============================
|
||||
@@ -1034,7 +1043,7 @@ WARNING: Scene "none" not found.
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 10
|
||||
User=0.01s Real=0.01s Sys=0s
|
||||
User=0s Real=0s Sys=0s
|
||||
WARNING: command "/vis/viewer/update" could not be applied: no current viewer.
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/// \brief Implementation of the F03FieldSetup class
|
||||
//
|
||||
//
|
||||
// $Id: F03FieldSetup.cc 77294 2013-11-22 11:01:00Z gcosmo $
|
||||
// $Id: F03FieldSetup.cc 104351 2017-05-26 07:23:04Z gcosmo $
|
||||
//
|
||||
//
|
||||
// Field Setup class implementation.
|
||||
@@ -111,28 +111,45 @@ F03FieldSetup::~F03FieldSetup()
|
||||
|
||||
void F03FieldSetup::UpdateField()
|
||||
{
|
||||
// It must be possible to call 'again' - e.g. to choose an alternative stepper
|
||||
// has been chosen, or in case other changes have been made.
|
||||
|
||||
// 1. First clean up previous state.
|
||||
delete fChordFinder;
|
||||
fChordFinder= nullptr;
|
||||
delete fLocalChordFinder;
|
||||
fLocalChordFinder= nullptr;
|
||||
|
||||
G4cout<<"F03FieldSetup::UpdateField> The minimal step is equal to "
|
||||
<< fMinStep/mm <<" mm"<<G4endl;
|
||||
G4cout<<" Stepper Type chosen = " << fStepperType
|
||||
<< G4endl;
|
||||
|
||||
// 2. Create the steppers ( Note: this also deletes the previous ones. )
|
||||
SetStepper();
|
||||
G4cout<<"The minimal step is equal to "<<fMinStep/mm<<" mm"<<G4endl;
|
||||
|
||||
fFieldManager->SetDetectorField(fMagneticField);
|
||||
fLocalFieldManager->SetDetectorField(fLocalMagneticField);
|
||||
|
||||
if (fChordFinder) delete fChordFinder;
|
||||
if (fLocalChordFinder) delete fLocalChordFinder;
|
||||
|
||||
// 3. Create the chord finder(s)
|
||||
fChordFinder = new G4ChordFinder(fMagneticField, fMinStep, fStepper);
|
||||
fLocalChordFinder = new G4ChordFinder(fLocalMagneticField,
|
||||
fMinStep,fLocalStepper);
|
||||
|
||||
fFieldManager->SetChordFinder(fChordFinder);
|
||||
fLocalFieldManager->SetChordFinder(fLocalChordFinder);
|
||||
|
||||
// 4. Ensure that the field is updated (in Field manager & equation)
|
||||
fFieldManager->SetDetectorField(fMagneticField);
|
||||
fLocalFieldManager->SetDetectorField(fLocalMagneticField);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void F03FieldSetup::SetStepper()
|
||||
{
|
||||
if (fStepper) delete fStepper;
|
||||
delete fStepper;
|
||||
fStepper= nullptr;
|
||||
|
||||
delete fLocalStepper;
|
||||
fLocalStepper= nullptr;
|
||||
|
||||
switch ( fStepperType )
|
||||
{
|
||||
|
||||
+2583
-3370
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-03-patch-01 (24-February-2017)
|
||||
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
############################################
|
||||
|
||||
*************************************************************
|
||||
Geant4 version Name: geant4-10-03-patch-01 (24-February-2017)
|
||||
Geant4 version Name: geant4-10-03-ref-06 (30-June-2017)
|
||||
Copyright : Geant4 Collaboration
|
||||
Reference : NIM A 506 (2003), 250-303
|
||||
WWW : http://cern.ch/geant4
|
||||
@@ -2301,7 +2301,7 @@ Terminate current event processing.
|
||||
Run terminated.
|
||||
Run Summary
|
||||
Number of events processed : 1
|
||||
User=0.02s Real=0.02s Sys=0s
|
||||
User=0.03s Real=0.03s Sys=0s
|
||||
#
|
||||
Graphics systems deleted.
|
||||
Visualization Manager deleting...
|
||||
|
||||
Reference in New Issue
Block a user