Import Geant4 10.4.0 source tree

This commit is contained in:
Gabriele Cosmo
2017-12-08 12:52:30 +01:00
parent 98e455a940
commit fc6af9e721
2166 changed files with 276760 additions and 100873 deletions
@@ -15,6 +15,25 @@ code and to keep track of all tags.
* Please list in reverse chronological order (last date on top)
---------------------------------------------------------------
27 November 2017 Dennis Wright (hadr-casc-V10-03-06)
-----------------------------------------------------
- G4CascadeInterface::createBullet, G4CascadeInterface::ApplyYourself:
rotation to z-axis unnecessary and may
cause irreproducibility. Remove it according to bug report #1990.
20 October 2017 Tatsumi Koi (hadr-casc-V10-03-05)
------------------------------------------------
- G4CascadeParameters.cc FERMI_SCALE and RAD_TRAILING are added to changeable parameters from HDP
Lower and upper limits of changeable parameters form HDP are registered
6 October 2017 Tatsumi Koi (hadr-casc-V10-03-04)
------------------------------------------------
- G4CascadeParameters.cc Remove protection for using G4HadronicDeveloperParameters
5 October 2017 Tatsumi Koi (hadr-casc-V10-03-03)
------------------------------------------------
- Adding comment for BEST_PAR in G4CascadeParameters and test/README
22 May 2017 Dennis Wright (hadr-casc-V10-03-02)
------------------------------------------------
- G4ElementaryParticleCollider::generateSCMmuonAbsorption: fix rare seg fault
@@ -178,7 +178,6 @@ private:
G4InuclElementaryParticle hadronTarget;
G4InuclNuclei nucleusTarget;
G4LorentzRotation bulletInLabFrame;
private:
// Copying of modules is forbidden
@@ -113,6 +113,10 @@ private: // Environment variable values, null pointers mean not set
G4String RANDOM_FILE;
G4bool BEST_PAR; // Nuclear structure parameters
//BEST_PAR has been used in a project on hold.
//Currently setting BEST_PAR or G4NUCMODEL_USE_BEST does not improve physics performance.
//Developer can get more information about this from cascade/test/README
G4bool TWOPARAM_RADIUS;
G4double RADIUS_SCALE;
G4double RADIUS_SMALL;
@@ -326,7 +326,8 @@ G4CascadeInterface::ApplyYourself(const G4HadProjectile& aTrack,
}
// Rotate event to put Z axis along original projectile direction
output->rotateEvent(bulletInLabFrame);
// Removed by DHW to fix bug #1990
// output->rotateEvent(bulletInLabFrame);
copyOutputToHadronicResult();
@@ -464,12 +465,14 @@ G4bool G4CascadeInterface::createBullet(const G4HadProjectile& aTrack) {
// Code momentum and energy -- Bertini wants z-axis and GeV units
G4LorentzVector projectileMomentum = aTrack.Get4Momentum()/GeV;
// Rotation/boost to get from z-axis back to original frame
bulletInLabFrame = G4LorentzRotation::IDENTITY; // Initialize
bulletInLabFrame.rotateZ(-projectileMomentum.phi());
bulletInLabFrame.rotateY(-projectileMomentum.theta());
bulletInLabFrame.invert();
// According to bug report #1990 this rotation is unnecessary and causes
// irreproducibility. Verifed and fixed by DHW 27 Nov 2017
// bulletInLabFrame = G4LorentzRotation::IDENTITY; // Initialize
// bulletInLabFrame.rotateZ(-projectileMomentum.phi());
// bulletInLabFrame.rotateY(-projectileMomentum.theta());
// bulletInLabFrame.invert();
G4LorentzVector momentumBullet(0., 0., projectileMomentum.rho(),
projectileMomentum.e());
@@ -56,8 +56,10 @@ namespace {
public:
BERTParameters(){
//HDP.SetDefault("NAME",VALUE,LOWER_LIMIT(default=-DBL_MAX),UPPER_LIMIT(default=DBL_MAX));
HDP.SetDefault( "BERT_RADIUS_SCALE" , OLD_RADIUS_UNITS );
HDP.SetDefault( "BERT_XSEC_SCALE" , 1.0 , 0. );
HDP.SetDefault( "BERT_FERMI_SCALE" , 1.932/OLD_RADIUS_UNITS , 1.932/OLD_RADIUS_UNITS/2 , 1.932/OLD_RADIUS_UNITS*2 );
HDP.SetDefault( "BERT_RADIUS_SCALE" , OLD_RADIUS_UNITS , OLD_RADIUS_UNITS/2 , OLD_RADIUS_UNITS*2 );
HDP.SetDefault( "BERT_RAD_TRAILING" , 0. , 0. , 2. );
HDP.SetDefault( "BERT_XSEC_SCALE" , 1.0 , 0.5 , 2. );
}
};
BERTParameters BP;
@@ -127,22 +129,20 @@ void G4CascadeParameters::Initialize() {
TWOPARAM_RADIUS = (0!=G4NUCMODEL_RAD_2PAR);
RADIUS_SCALE = (G4NUCMODEL_RAD_SCALE ? strtod(G4NUCMODEL_RAD_SCALE,0)
: (BEST_PAR?1.0:OLD_RADIUS_UNITS));
if ( getenv("TEST_HDP") ) {
HDP.DeveloperGet("BERT_RADIUS_SCALE",RADIUS_SCALE);
}
if ( G4NUCMODEL_RAD_SCALE == 0 && BEST_PAR == 0 ) HDP.DeveloperGet("BERT_RADIUS_SCALE",RADIUS_SCALE);
RADIUS_SMALL = ((G4NUCMODEL_RAD_SMALL ? strtod(G4NUCMODEL_RAD_SMALL,0)
: (BEST_PAR?1.992:(8.0/OLD_RADIUS_UNITS))) * RADIUS_SCALE);
RADIUS_ALPHA = (G4NUCMODEL_RAD_ALPHA ? strtod(G4NUCMODEL_RAD_ALPHA,0)
: (BEST_PAR?0.84:0.70));
RADIUS_TRAILING = ((G4NUCMODEL_RAD_TRAILING ? strtod(G4NUCMODEL_RAD_TRAILING,0)
: 0.) * RADIUS_SCALE);
if ( G4NUCMODEL_RAD_TRAILING == 0 ) HDP.DeveloperGet("BERT_RAD_TRAILING",RADIUS_TRAILING),RADIUS_TRAILING*=RADIUS_SCALE;
FERMI_SCALE = ((G4NUCMODEL_FERMI_SCALE ? strtod(G4NUCMODEL_FERMI_SCALE,0)
: (BEST_PAR?0.685:(1.932/OLD_RADIUS_UNITS))) * RADIUS_SCALE);
if ( G4NUCMODEL_FERMI_SCALE == 0 && BEST_PAR == 0 ) HDP.DeveloperGet("BERT_FERMI_SCALE",FERMI_SCALE),FERMI_SCALE*=RADIUS_SCALE;
XSEC_SCALE = (G4NUCMODEL_XSEC_SCALE ? strtod(G4NUCMODEL_XSEC_SCALE,0)
: (BEST_PAR?0.1:1.0) );
if ( getenv("TEST_HDP") ) {
HDP.DeveloperGet("BERT_XSEC_SCALE",XSEC_SCALE);
}
if ( G4NUCMODEL_XSEC_SCALE == 0 && BEST_PAR == 0 ) HDP.DeveloperGet("BERT_XSEC_SCALE",XSEC_SCALE);
GAMMAQD_SCALE = (G4NUCMODEL_GAMMAQD?strtod(G4NUCMODEL_GAMMAQD,0):1.);
DPMAX_DOUBLET = (DPMAX_2CLUSTER ? strtod(DPMAX_2CLUSTER,0) : 0.090);
DPMAX_TRIPLET = (DPMAX_3CLUSTER ? strtod(DPMAX_3CLUSTER,0) : 0.108);