Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4CrossSectionDataStore.hh,v 1.3 2000/12/14 08:33:02 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4CrossSectionDataStore -- header file
@@ -41,7 +54,7 @@ public:
}
G4double GetCrossSection(const G4DynamicParticle*,
const G4Element*);
const G4Element*, G4double aTemperature);
void AddDataSet(G4VCrossSectionDataSet*);
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronCaptureDataSet.hh,v 1.3 2000/12/14 08:33:03 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4HadronCaptureDataSet -- header file
@@ -48,7 +61,7 @@ public:
}
G4double GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement, G4double aTemperature)
{
return theHadronCrossSections->GetCaptureCrossSection(aParticle,
anElement);
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronCrossSections.hh,v 1.4 2000/12/14 08:33:03 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronCrossSections.hh,v 1.4.6.1 2001/06/28 19:12:52 gunter Exp $
// GEANT4 tag $Name: $
//
//
// GEANT4 Hadron physics class -- header file
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronElasticDataSet.hh,v 1.3 2000/12/14 08:33:04 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4HadronElasticDataSet -- header file
@@ -47,7 +60,7 @@ public:
}
G4double GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement, G4double aTemperature)
{
return theHadronCrossSections->GetElasticCrossSection(aParticle,
anElement);
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronFissionDataSet.hh,v 1.3 2000/12/14 08:33:04 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4HadronFissionDataSet -- header file
@@ -46,7 +59,7 @@ public:
}
G4double GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement, G4double aTemperature)
{
return theHadronCrossSections->GetFissionCrossSection(aParticle,
anElement);
@@ -1,12 +1,24 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HadronInelasticDataSet.hh,v 1.3 2000/12/14 08:33:04 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// GEANT4 physics class: G4HadronInelasticDataSet -- header file
@@ -46,7 +58,7 @@ public:
}
G4double GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement, G4double aTemperature)
{
return theHadronCrossSections->GetInelasticCrossSection(aParticle,
anElement);
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4IonProtonCrossSection_h
#define G4IonProtonCrossSection_h
@@ -29,7 +51,8 @@ class G4IonProtonCrossSection : public G4VCrossSectionDataSet
}
virtual
G4double GetCrossSection(const G4DynamicParticle* aPart, const G4Element*anEle)
G4double GetCrossSection(const G4DynamicParticle* aPart,
const G4Element*anEle, G4double aTemperature)
{
G4ProtonInelasticCrossSection theForward;
G4double result = theForward.GetCrossSection(aPart->GetKineticEnergy(),
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// by JPW, working, but to be cleaned up. @@@@
#ifndef G4NeutronInelasticCrossSection_h
@@ -29,7 +51,8 @@ class G4NeutronInelasticCrossSection : public G4VCrossSectionDataSet
}
virtual
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*);
G4double GetCrossSection(const G4DynamicParticle*,
const G4Element*, G4double aTemperature);
G4double GetCrossSection(G4double anEnergy, G4double anA, G4double aZ);
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// by JPW, working, but to be cleaned up. @@@@
#ifndef G4ProtonInelasticCrossSection_h
@@ -28,7 +50,8 @@ class G4ProtonInelasticCrossSection : public G4VCrossSectionDataSet
}
virtual
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*);
G4double GetCrossSection(const G4DynamicParticle*,
const G4Element*, G4double aTemperature);
G4double GetCrossSection(G4double anEnergy, G4double anA, G4double aZ);
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// by JPW, working, but to be cleaned up. @@@@
#ifndef G4TripathiCrossSection_h
@@ -27,7 +49,8 @@ class G4TripathiCrossSection : public G4VCrossSectionDataSet
}
virtual
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*);
G4double GetCrossSection(const G4DynamicParticle*,
const G4Element*, G4double aTemperature);
virtual
void BuildPhysicsTable(const G4ParticleDefinition&)
@@ -1,12 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4VCrossSectionDataSet.hh,v 1.4 2000/12/14 11:25:57 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics abstract class: G4VCrossSectionData -- header file
@@ -45,7 +59,9 @@ public: //with description
G4bool IsApplicable(const G4DynamicParticle*, const G4Element*) = 0;
virtual
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*) = 0;
G4double GetCrossSection(const G4DynamicParticle*,
const G4Element*,
G4double aTemperature = 0.) = 0;
virtual
void BuildPhysicsTable(const G4ParticleDefinition&) = 0;
@@ -1,12 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4CrossSectionDataStore.cc,v 1.2 1999/12/15 14:52:06 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// GEANT4 physics class: G4CrossSectionDataStore
@@ -18,7 +31,8 @@
G4double
G4CrossSectionDataStore::GetCrossSection(const G4DynamicParticle* aParticle,
const G4Element* anElement)
const G4Element* anElement,
G4double aTemperature)
{
if (NDataSetList == 0) {
G4Exception("G4CrossSectionDataStore: no data sets registered");
@@ -26,7 +40,7 @@ G4CrossSectionDataStore::GetCrossSection(const G4DynamicParticle* aParticle,
}
for (G4int i = NDataSetList-1; i >= 0; i--) {
if (DataSetList[i]->IsApplicable(aParticle, anElement))
return DataSetList[i]->GetCrossSection(aParticle, anElement);
return DataSetList[i]->GetCrossSection(aParticle, anElement, aTemperature);
}
G4Exception("G4CrossSectionDataStore: no applicable data set found "
"for particle/element");
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronCaptureDataSet.cc,v 1.2 1999/12/15 14:52:06 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronCaptureDataSet.cc,v 1.2.8.1 2001/06/28 19:12:53 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronCaptureDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronCrossSections.cc,v 1.3 2001/02/26 17:09:14 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronCrossSections.cc,v 1.4.2.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Hadron Physics class G4HadronCrossSections
@@ -1485,7 +1501,7 @@ G4HadronCrossSections::GetCaptureCrossSection(
G4double ekx = G4std::max(ek, 1.e-9);
G4double z = anElement->GetZ();
G4int izno = z + 0.01;
G4int izno = static_cast<G4int> (z + 0.01);
if (izno > 100) izno = 100; // Not in GHESIG
izno = izno - 1; // For array indexing
G4double sigcap = 11.12*cscap[izno]/pow(ekx*1.e6, 0.577);
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronElasticDataSet.cc,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronElasticDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronElasticDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronFissionDataSet.cc,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronFissionDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronFissionDataSet for cross sections
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronInelasticDataSet.cc,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronInelasticDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4 Physics class: HadronInelasticDataSet for cross sections
@@ -1,10 +1,33 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// By JPW, working, but to be cleaned up. @@@
#include "G4NeutronInelasticCrossSection.hh"
#include "globals.hh"
G4double G4NeutronInelasticCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element* anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element* anEle, G4double aTemperature)
{
G4double atomicNumber = anEle->GetN();
G4double nOfProtons = anEle->GetZ();
@@ -1,10 +1,33 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// By JPW, working, but to be cleaned up. @@@
#include "G4ProtonInelasticCrossSection.hh"
#include "globals.hh"
G4double G4ProtonInelasticCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element* anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element* anEle, G4double aTemperature)
{
G4double atomicNumber = anEle->GetN();
G4double nOfProtons = anEle->GetZ();
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// Implementation of formulas in analogy to NASA technical paper 3621 by Tripathi, et al.
#include "G4TripathiCrossSection.hh"
@@ -5,7 +27,8 @@
#include "G4IonTable.hh"
G4double G4TripathiCrossSection::
GetCrossSection(const G4DynamicParticle* aPart, const G4Element*anEle)
GetCrossSection(const G4DynamicParticle* aPart,
const G4Element*anEle, G4double aTemperature)
{
G4double result = 0;
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4VCrossSectionDataSet.cc,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VCrossSectionDataSet.cc,v 1.2.8.1 2001/06/28 19:12:54 gunter Exp $
// GEANT4 tag $Name: $
//
//
// GEANT4 physics abstract class: G4VCrossSectionDataSet
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4EnergyRangeManager.hh,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4EnergyRangeManager.hh,v 1.2.8.1 2001/06/28 19:12:55 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Energy Range Manager
// original by H.P. Wellisch
@@ -1,12 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4HadronInelasticProcess.hh,v 1.4 2000/09/20 16:52:36 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// Hadronic Inelastic Process class
// The specific particle inelastic processes derive from this class
@@ -61,7 +75,8 @@
G4double GetMicroscopicCrossSection(
const G4DynamicParticle *aParticle,
const G4Element *anElement);
const G4Element *anElement,
G4double aTemp);
G4VParticleChange *PostStepDoIt(
const G4Track &aTrack, const G4Step &aStep )
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronicInteraction.hh,v 1.4 2000/12/14 08:40:43 hpw Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronicInteraction.hh,v 1.4.6.1 2001/06/28 19:12:55 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Interaction abstract base class
// This class is the base class for the model classes.
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4HadronicInteractionRegistry_h
#define G4HadronicInteractionRegistry_h 1
@@ -1,12 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4HadronicProcess.hh,v 1.5 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// This is the top level Hadronic Process class
// The inelastic, elastic, capture, and fission processes
@@ -79,7 +93,8 @@
{ dispatch=value; }
virtual G4double GetMicroscopicCrossSection( const G4DynamicParticle *aParticle,
const G4Element *anElement ) = 0;
const G4Element *anElement,
G4double aTemp ) = 0;
G4double GetCurrentZ()
{ return currentZ; }
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4InelasticInteraction.hh,v 1.2 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4InelasticInteraction.hh,v 1.2.8.1 2001/06/28 19:12:56 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Inelastic Interaction
// This class is an abstract base class, since the pure virtual
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4IsoParticleChange_h
#define G4IsoParticleChange_h
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4VIsotopeProduction_h
#define G4VIsotopeProduction_h 1
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4EnergyRangeManager.cc,v 1.3 1999/12/15 14:52:07 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4EnergyRangeManager.cc,v 1.3.8.1 2001/06/28 19:12:57 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Energy Range Manager
// original by H.P. Wellisch
@@ -1,9 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
// Hadronic Inelastic Process Class
@@ -43,20 +59,15 @@
const G4double *theAtomicNumDensityVector =
aMaterial->GetAtomicNumDensityVector();
G4double aTemp = aMaterial->GetTemperature();
G4Element *anElement = (*theElementVector)[0];
G4int j = anElement->GetIndex();
// This apparently should not be here (not useful and dumps core)
// FWJ 17-JUN-1998
// G4bool isOutRange;
// G4double xSection = (*((*thePhysicsTable)(j))).GetValue(
// aParticle->GetTotalMomentum()/GeV, isOutRange );
G4double sigma = 0.0;
for( G4int i=0; i<nElements; ++i )
{
G4double xSection =
GetMicroscopicCrossSection( aParticle, (*theElementVector)[i] );
GetMicroscopicCrossSection( aParticle, (*theElementVector)[i], aTemp);
sigma += theAtomicNumDensityVector[i] * xSection;
}
sigma *= aScaleFactor;
@@ -91,7 +102,8 @@
G4double G4HadronInelasticProcess::GetMicroscopicCrossSection(
const G4DynamicParticle *aParticle,
const G4Element *anElement)
const G4Element *anElement,
G4double aTemp)
{
// returns the microscopic cross section in GEANT4 internal units
@@ -100,7 +112,7 @@
"no CrossSectionDataStore");
return DBL_MIN;
}
return theCrossSectionDataStore->GetCrossSection(aParticle, anElement);
return theCrossSectionDataStore->GetCrossSection(aParticle, anElement, aTemp);
// G4bool isOutRange;
// G4int j = anElement->GetIndex();
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4HadronicInteraction.cc,v 1.2 1999/12/15 14:52:08 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4HadronicInteraction.cc,v 1.2.8.1 2001/06/28 19:12:57 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Interaction base class
// original by H.P. Wellisch
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#include "G4HadronicInteractionRegistry.hh"
#include "G4HadronicInteraction.hh"
@@ -1,12 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4HadronicProcess.cc,v 1.8 1999/12/15 14:52:08 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// HPW to implement the choosing of an element for scattering.
#include "g4std/fstream"
@@ -38,19 +52,21 @@
}
const G4double *theAtomicNumberDensity = aMaterial->GetAtomicNumDensityVector();
G4double aTemp = aMaterial->GetTemperature();
G4double crossSectionTotal = 0;
G4int i;
G4std::vector<G4double> runningSum;
for( i=0; i < numberOfElements; ++i )
crossSectionTotal += theAtomicNumberDensity[i] *
dispatch->GetMicroscopicCrossSection( aParticle, (*theElementVector)(i) );
{
runningSum.push_back(theAtomicNumberDensity[i] *
dispatch->GetMicroscopicCrossSection( aParticle, (*theElementVector)(i), aTemp));
crossSectionTotal+=runningSum[i];
}
G4double crossSectionSum= 0.;
G4double random = G4UniformRand()*crossSectionTotal;
G4double random = G4UniformRand();
for( i=0; i < numberOfElements; ++i )
{
crossSectionSum += theAtomicNumberDensity[i] *
dispatch->GetMicroscopicCrossSection( aParticle, (*theElementVector)(i) );
if( random<=crossSectionSum )
if( random<=runningSum[i]/crossSectionTotal )
{
currentZ = G4double((*theElementVector)(i)->GetZ());
currentN = (*theElementVector)(i)->GetN();
@@ -1,9 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
// Hadronic Process: Inelastic Interaction
@@ -238,7 +254,11 @@
leadingStrangeParticle );
if( finishedGenXPt )return;
G4bool finishedTwoClu = false;
if( modifiedOriginal.GetTotalMomentum()/MeV < 1.0 )vecLen = 0;
if( modifiedOriginal.GetTotalMomentum()/MeV < 1.0 )
{
for(G4int i=0; i<vecLen; i++) delete vec[i];
vecLen = 0;
}
else
{
theReactionDynamics.SuppressChargedPions( vec, vecLen,
@@ -1,21 +0,0 @@
$Id: History,v 1.1 1999/01/07 16:11:38 gunter Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Hadronics/models/Generator History file
---------------------------------------
This file should be used by G4 developers to briefly summarize all major
modifications introduced in the code and keep track of all tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
GF 12-May-98: Add more functions to G4Fancy3DNucleus:
doLorentzContraction with algorithm given by Nicolai
give access to all nucleons with a RWTPtrOrederedVector
Required a mod to G4Nucleon, ie. add operator ==
@@ -1,18 +0,0 @@
Known problems/ missing topics
date date who description
found fixed
5-Nov 98 GF String models need projectile momentum along +z;
G4VPartonStringModel should do this rotation.
Nov98 Above is wrong. for the excitation the
transformation to the correct frame is done.
5-Nov-98 GF G4VPartonStringModel must use momentum corrector
Do not forget Nucleus in this.
9-Dec98 Done. Nucleon momenta are included by correcting
to sum of strings; these were checked to conserve
E/p.
30-Oct GF dtor of G4VPartonStringModel should delete things;
Or should derived classes actually do this?
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4AlphaCoulombBarrier.hh,v 1.1 2000/06/09 11:36:49 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AlphaCoulombBarrier.hh,v 1.2.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -20,19 +36,19 @@
class G4AlphaCoulombBarrier : public G4CoulombBarrier
{
public:
G4AlphaCoulombBarrier() : G4CoulombBarrier(4,2) {};
~G4AlphaCoulombBarrier() {};
G4AlphaCoulombBarrier() : G4CoulombBarrier(4,2) {};
~G4AlphaCoulombBarrier() {};
private:
G4AlphaCoulombBarrier(const G4AlphaCoulombBarrier & right);
G4AlphaCoulombBarrier(const G4AlphaCoulombBarrier & right);
const G4AlphaCoulombBarrier & operator=(const G4AlphaCoulombBarrier & right);
G4bool operator==(const G4AlphaCoulombBarrier & right) const;
G4bool operator!=(const G4AlphaCoulombBarrier & right) const;
const G4AlphaCoulombBarrier & operator=(const G4AlphaCoulombBarrier & right);
G4bool operator==(const G4AlphaCoulombBarrier & right) const;
G4bool operator!=(const G4AlphaCoulombBarrier & right) const;
private:
virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
virtual G4double BarrierPenetrationFactor(const G4double aZ) const;
};
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4AlphaEvaporationChannel.hh,v 1.2.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov. 1999)
@@ -20,28 +39,28 @@
class G4AlphaEvaporationChannel : public G4EvaporationChannel
{
public:
// only available constructor
G4AlphaEvaporationChannel() : G4EvaporationChannel(4,2,
&theEvaporationProbability,&theCoulombBarrier) {};
// only available constructor
G4AlphaEvaporationChannel() : G4EvaporationChannel(4,2,"alpha",
&theEvaporationProbability,&theCoulombBarrier) {};
// destructor
~G4AlphaEvaporationChannel() {};
// destructor
~G4AlphaEvaporationChannel() {};
private:
const G4AlphaEvaporationChannel & operator=(const G4AlphaEvaporationChannel & right);
const G4AlphaEvaporationChannel & operator=(const G4AlphaEvaporationChannel & right);
G4AlphaEvaporationChannel(const G4AlphaEvaporationChannel & right);
G4AlphaEvaporationChannel(const G4AlphaEvaporationChannel & right);
public:
G4bool operator==(const G4AlphaEvaporationChannel & right) const;
G4bool operator!=(const G4AlphaEvaporationChannel & right) const;
G4bool operator==(const G4AlphaEvaporationChannel & right) const;
G4bool operator!=(const G4AlphaEvaporationChannel & right) const;
private:
G4AlphaCoulombBarrier theCoulombBarrier;
G4AlphaCoulombBarrier theCoulombBarrier;
G4AlphaEvaporationProbability theEvaporationProbability;
G4AlphaEvaporationProbability theEvaporationProbability;
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4AlphaEvaporationProbability.hh,v 1.2.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1999)
//
@@ -22,34 +40,34 @@
class G4AlphaEvaporationProbability : public G4EvaporationProbability
{
public:
// Only available constructor is default constructor
G4AlphaEvaporationProbability();
// Only available constructor is default constructor
G4AlphaEvaporationProbability();
~G4AlphaEvaporationProbability() {}
~G4AlphaEvaporationProbability() {}
private:
// Copy constructor
G4AlphaEvaporationProbability(const G4AlphaEvaporationProbability &right);
// Copy constructor
G4AlphaEvaporationProbability(const G4AlphaEvaporationProbability &right);
const G4AlphaEvaporationProbability & operator=(const G4AlphaEvaporationProbability &right);
G4bool operator==(const G4AlphaEvaporationProbability &right) const;
G4bool operator!=(const G4AlphaEvaporationProbability &right) const;
const G4AlphaEvaporationProbability & operator=(const G4AlphaEvaporationProbability &right);
G4bool operator==(const G4AlphaEvaporationProbability &right) const;
G4bool operator!=(const G4AlphaEvaporationProbability &right) const;
private:
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
G4double CCoeficient(const G4double aZ) const;
G4double CCoeficient(const G4double aZ) const;
// Excitation energy levels
G4RWTValVector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4RWTValVector<G4int> ExcitSpins;
// Excitation energy levels
G4std::vector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4std::vector<G4int> ExcitSpins;
};
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4B9FermiFragment.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4Be8FermiFragment.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -1,3 +1,33 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CameronGilbertPairingCorrections.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4CameronGilbertPairingCorrections_h
#define G4CameronGilbertPairingCorrections_h 1
@@ -6,41 +36,41 @@
class G4CameronGilbertPairingCorrections
{
private:
// Dummy constructor
G4CameronGilbertPairingCorrections(G4double dummy);
// Dummy constructor
G4CameronGilbertPairingCorrections(G4double dummy);
static G4CameronGilbertPairingCorrections theInstance;
static G4CameronGilbertPairingCorrections theInstance;
public:
~G4CameronGilbertPairingCorrections() {};
~G4CameronGilbertPairingCorrections() {};
G4double GetPairingZ(const G4int Z) {
if (Z <= ZTableSize && Z > 1) return PairingZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronGilbertPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
G4double GetPairingZ(const G4int Z) {
if (Z <= ZTableSize && Z > 1) return PairingZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronGilbertPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
}
G4double GetPairingN(const G4int N) {
if (N <= NTableSize && N > 0) return PairingNTable[N-1]*MeV;
else {
G4cerr << "G4CameronGilbertPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
G4double GetPairingN(const G4int N) {
if (N <= NTableSize && N > 0) return PairingNTable[N-1]*MeV;
else {
G4cerr << "G4CameronGilbertPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
}
enum { ZTableSize = 98, NTableSize = 150 };
enum { ZTableSize = 98, NTableSize = 150 };
private:
static G4double PairingZTable[ZTableSize];
static G4double PairingZTable[ZTableSize];
static G4double PairingNTable[NTableSize];
static G4double PairingNTable[NTableSize];
};
#endif
@@ -1,3 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CameronGilbertShellCorrections.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4CameronGilbertShellCorrections_h
#define G4CameronGilbertShellCorrections_h 1
@@ -6,41 +35,41 @@
class G4CameronGilbertShellCorrections
{
private:
// Dummy constructor
G4CameronGilbertShellCorrections(G4double dummy);
// Dummy constructor
G4CameronGilbertShellCorrections(G4double dummy);
static G4CameronGilbertShellCorrections theInstance;
static G4CameronGilbertShellCorrections theInstance;
public:
~G4CameronGilbertShellCorrections() {};
~G4CameronGilbertShellCorrections() {};
G4double GetShellZ(const G4int Z) const {
if (Z <= ZTableSize && Z > 1) return ShellZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronGilbertShellCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
G4double GetShellZ(const G4int Z) const {
if (Z <= ZTableSize && Z > 1) return ShellZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronGilbertShellCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
}
G4double GetShellN(const G4int N) const {
if (N <= NTableSize && N > 0) return ShellNTable[N-1]*MeV;
else {
G4cerr << "G4CameronGilbertShellCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
G4double GetShellN(const G4int N) const {
if (N <= NTableSize && N > 0) return ShellNTable[N-1]*MeV;
else {
G4cerr << "G4CameronGilbertShellCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
}
enum { ZTableSize = 98, NTableSize = 150 };
enum { ZTableSize = 98, NTableSize = 150 };
private:
static const G4double ShellZTable[ZTableSize];
static const G4double ShellZTable[ZTableSize];
static const G4double ShellNTable[NTableSize];
static const G4double ShellNTable[NTableSize];
};
#endif
@@ -1,3 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CameronShellPlusPairingCorrections.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4CameronShellPlusPairingCorrections_h
#define G4CameronShellPlusPairingCorrections_h 1
@@ -7,39 +36,39 @@ class G4CameronShellPlusPairingCorrections
{
private:
// Dummy constructor
G4CameronShellPlusPairingCorrections(G4double dummy);
// Dummy constructor
G4CameronShellPlusPairingCorrections(G4double dummy);
static G4CameronShellPlusPairingCorrections theInstance;
static G4CameronShellPlusPairingCorrections theInstance;
public:
~G4CameronShellPlusPairingCorrections() {};
~G4CameronShellPlusPairingCorrections() {};
static G4double GetShellPlusPairingZ(const G4int Z) {
if (Z <= TableSize && Z > 1) return SPZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronShellPlusPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
static G4double GetShellPlusPairingZ(const G4int Z) {
if (Z <= TableSize && Z > 1) return SPZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronShellPlusPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
}
static G4double GetShellPlusPairingN(const G4int N) {
if (N <= TableSize && N > 0) return SPNTable[N-1]*MeV;
else {
G4cerr << "G4CameronShellPlusPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
static G4double GetShellPlusPairingN(const G4int N) {
if (N <= TableSize && N > 0) return SPNTable[N-1]*MeV;
else {
G4cerr << "G4CameronShellPlusPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
}
enum { TableSize = 200 };
enum { TableSize = 200 };
private:
static G4double SPZTable[TableSize];
static G4double SPZTable[TableSize];
static G4double SPNTable[TableSize];
static G4double SPNTable[TableSize];
};
#endif
@@ -1,3 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CameronTruranHilfPairingCorrections.hh,v 1.3.2.1 2001/06/28 19:12:58 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4CameronTruranHilfPairingCorrections_h
#define G4CameronTruranHilfPairingCorrections_h 1
@@ -6,41 +35,41 @@
class G4CameronTruranHilfPairingCorrections
{
private:
// Dummy constructor
G4CameronTruranHilfPairingCorrections(G4double dummy);
// Dummy constructor
G4CameronTruranHilfPairingCorrections(G4double dummy);
static G4CameronTruranHilfPairingCorrections theInstance;
static G4CameronTruranHilfPairingCorrections theInstance;
public:
~G4CameronTruranHilfPairingCorrections() {};
~G4CameronTruranHilfPairingCorrections() {};
G4double GetPairingZ(const G4int Z) const {
if (Z <= ZTableSize && Z > 1) return PairingZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
G4double GetPairingZ(const G4int Z) const {
if (Z <= ZTableSize && Z > 1) return PairingZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfPairingCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
}
G4double GetPairingN(const G4int N) const {
if (N <= NTableSize && N > 0) return PairingNTable[N-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
G4double GetPairingN(const G4int N) const {
if (N <= NTableSize && N > 0) return PairingNTable[N-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfPairingCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
}
enum { ZTableSize = 102, NTableSize = 155 };
enum { ZTableSize = 102, NTableSize = 155 };
private:
static const G4double PairingZTable[ZTableSize];
static const G4double PairingZTable[ZTableSize];
static const G4double PairingNTable[NTableSize];
static const G4double PairingNTable[NTableSize];
};
#endif
@@ -1,3 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CameronTruranHilfShellCorrections.hh,v 1.3.2.1 2001/06/28 19:12:59 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4CameronTruranHilfShellCorrections_h
#define G4CameronTruranHilfShellCorrections_h 1
@@ -7,41 +36,41 @@ class G4CameronTruranHilfShellCorrections
{
private:
// Dummy constructor
G4CameronTruranHilfShellCorrections(G4double dummy);
// Dummy constructor
G4CameronTruranHilfShellCorrections(G4double dummy);
static G4CameronTruranHilfShellCorrections theInstance;
static G4CameronTruranHilfShellCorrections theInstance;
public:
~G4CameronTruranHilfShellCorrections() {};
~G4CameronTruranHilfShellCorrections() {};
static G4double GetShellZ(const G4int Z) {
if (Z <= ZTableSize && Z > 1) return ShellZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfShellCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
static G4double GetShellZ(const G4int Z) {
if (Z <= ZTableSize && Z > 1) return ShellZTable[Z-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfShellCorrections: out of table for Z = " << Z << G4endl;
return 0.0;
}
}
static G4double GetShellN(const G4int N) {
if (N <= NTableSize && N > 0) return ShellNTable[N-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfShellCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
static G4double GetShellN(const G4int N) {
if (N <= NTableSize && N > 0) return ShellNTable[N-1]*MeV;
else {
G4cerr << "G4CameronTruranHilfShellCorrections: out of table for N = " << N << G4endl;
return 0.0;
}
}
enum { ZTableSize = 102, NTableSize = 155 };
enum { ZTableSize = 102, NTableSize = 155 };
private:
static G4double ShellZTable[ZTableSize];
static G4double ShellZTable[ZTableSize];
static G4double ShellNTable[NTableSize];
static G4double ShellNTable[NTableSize];
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4CompetitiveFission.hh,v 1.4.2.1 2001/06/28 19:12:59 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
@@ -25,6 +43,8 @@
#include "G4IonTable.hh"
#include "Randomize.hh"
//#define debug
class G4CompetitiveFission : public G4VEvaporationChannel
{
public:
@@ -46,26 +66,26 @@ public:
void Initialize(const G4Fragment & fragment);
inline void SetFissionBarrier(G4VFissionBarrier * aBarrier)
{
if (MyOwnFissionBarrier) delete theFissionBarrierPtr;
theFissionBarrierPtr = aBarrier;
MyOwnFissionBarrier = false;
}
{
if (MyOwnFissionBarrier) delete theFissionBarrierPtr;
theFissionBarrierPtr = aBarrier;
MyOwnFissionBarrier = false;
}
inline void SetEmissionStrategy(G4VEmissionProbability * aFissionProb)
{
if (MyOwnFissionProbability) delete theFissionProbabilityPtr;
theFissionProbabilityPtr = aFissionProb;
MyOwnFissionProbability = false;
}
{
if (MyOwnFissionProbability) delete theFissionProbabilityPtr;
theFissionProbabilityPtr = aFissionProb;
MyOwnFissionProbability = false;
}
inline void SetLevelDensityParameter(G4VLevelDensityParameter * aLevelDensity)
{
if (MyOwnLevelDensity) delete theLevelDensityPtr;
theLevelDensityPtr = aLevelDensity;
MyOwnLevelDensity = false;
}
{
if (MyOwnLevelDensity) delete theLevelDensityPtr;
theLevelDensityPtr = aLevelDensity;
MyOwnLevelDensity = false;
}
inline G4double GetFissionBarrier(void) const { return FissionBarrier; }
@@ -113,7 +133,6 @@ private:
// Sample Kinetic energy of fission products
G4double FissionKineticEnergy(const G4double A, const G4double Z,
const G4double Af1, const G4double Zf1,
const G4double Af2, const G4double Zf2,
@@ -128,14 +147,13 @@ private:
G4double FissionPairingCorrection(const G4int A, const G4int Z) const;
G4ThreeVector IsotropicVector(const G4double Magnitude = 1.0);
#ifdef debug
void CheckConservation(const G4Fragment & theInitialState,
G4FragmentVector * Result) const;
#endif
};
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4ConstantLevelDensityParameter.hh,v 1.3.2.1 2001/06/28 19:12:59 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations (photon evaporation)
// by C. Dallapiccola (Nov 1998)
//
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4ContinuumGammaDeexcitation
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4ContinuumGammaTransition
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4CoulombBarrier.hh,v 1.1 2000/06/09 11:36:52 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4CoulombBarrier.hh,v 1.2.2.1 2001/06/28 19:13:00 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -21,26 +37,26 @@
class G4CoulombBarrier : public G4VCoulombBarrier
{
public:
G4CoulombBarrier() : G4VCoulombBarrier(1,0) {};
G4CoulombBarrier(const G4int anA,const G4int aZ) :
G4VCoulombBarrier(anA,aZ) {};
~G4CoulombBarrier() {};
G4CoulombBarrier() : G4VCoulombBarrier(1,0) {};
G4CoulombBarrier(const G4int anA,const G4int aZ) :
G4VCoulombBarrier(anA,aZ) {};
~G4CoulombBarrier() {};
private:
G4CoulombBarrier(const G4CoulombBarrier & right);
G4CoulombBarrier(const G4CoulombBarrier & right);
const G4CoulombBarrier & operator=(const G4CoulombBarrier & right);
G4bool operator==(const G4CoulombBarrier & right) const;
G4bool operator!=(const G4CoulombBarrier & right) const;
const G4CoulombBarrier & operator=(const G4CoulombBarrier & right);
G4bool operator==(const G4CoulombBarrier & right) const;
G4bool operator!=(const G4CoulombBarrier & right) const;
public:
G4double GetCoulombBarrier(const G4int ARes, const G4int ZRes,
const G4double U) const;
G4double GetCoulombBarrier(const G4int ARes, const G4int ZRes,
const G4double U) const;
private:
virtual G4double BarrierPenetrationFactor(const G4double aZ) const {return 1.0;}
virtual G4double BarrierPenetrationFactor(const G4double aZ) const {return 1.0;}
};
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4DeuteronCoulombBarrier.hh,v 1.1 2000/06/09 11:36:52 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4DeuteronCoulombBarrier.hh,v 1.1.8.1 2001/06/28 19:13:00 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4DeuteronEvaporationChannel.hh,v 1.2.2.1 2001/06/28 19:13:00 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov. 1999)
@@ -20,27 +39,27 @@
class G4DeuteronEvaporationChannel : public G4EvaporationChannel
{
public:
// only available constructor
G4DeuteronEvaporationChannel() : G4EvaporationChannel(2,1,
&theEvaporationProbability,&theCoulombBarrier) {};
// only available constructor
G4DeuteronEvaporationChannel() : G4EvaporationChannel(2,1,"deuteron",
&theEvaporationProbability,&theCoulombBarrier) {};
// destructor
~G4DeuteronEvaporationChannel() {};
// destructor
~G4DeuteronEvaporationChannel() {};
private:
const G4DeuteronEvaporationChannel & operator=(const G4DeuteronEvaporationChannel & right);
const G4DeuteronEvaporationChannel & operator=(const G4DeuteronEvaporationChannel & right);
G4DeuteronEvaporationChannel(const G4DeuteronEvaporationChannel & right);
G4DeuteronEvaporationChannel(const G4DeuteronEvaporationChannel & right);
public:
G4bool operator==(const G4DeuteronEvaporationChannel & right) const;
G4bool operator!=(const G4DeuteronEvaporationChannel & right) const;
G4bool operator==(const G4DeuteronEvaporationChannel & right) const;
G4bool operator!=(const G4DeuteronEvaporationChannel & right) const;
private:
G4DeuteronCoulombBarrier theCoulombBarrier;
G4DeuteronCoulombBarrier theCoulombBarrier;
G4DeuteronEvaporationProbability theEvaporationProbability;
G4DeuteronEvaporationProbability theEvaporationProbability;
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4DeuteronEvaporationProbability.hh,v 1.2.2.1 2001/06/28 19:13:00 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1999)
//
@@ -22,34 +40,34 @@
class G4DeuteronEvaporationProbability : public G4EvaporationProbability
{
public:
// Only available constructor
G4DeuteronEvaporationProbability();
// Only available constructor
G4DeuteronEvaporationProbability();
~G4DeuteronEvaporationProbability() {}
~G4DeuteronEvaporationProbability() {}
private:
// Copy constructor
G4DeuteronEvaporationProbability(const G4DeuteronEvaporationProbability &right);
// Copy constructor
G4DeuteronEvaporationProbability(const G4DeuteronEvaporationProbability &right);
const G4DeuteronEvaporationProbability & operator=(const G4DeuteronEvaporationProbability &right);
G4bool operator==(const G4DeuteronEvaporationProbability &right) const;
G4bool operator!=(const G4DeuteronEvaporationProbability &right) const;
const G4DeuteronEvaporationProbability & operator=(const G4DeuteronEvaporationProbability &right);
G4bool operator==(const G4DeuteronEvaporationProbability &right) const;
G4bool operator!=(const G4DeuteronEvaporationProbability &right) const;
private:
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
G4double CCoeficient(const G4double aZ) const;
G4double CCoeficient(const G4double aZ) const;
// Excitation energy levels
G4RWTValVector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4RWTValVector<G4int> ExcitSpins;
// Excitation energy levels
G4std::vector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4std::vector<G4int> ExcitSpins;
};
#endif
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4DiscreteGammaDeexcitation
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4DiscreteGammaTransition
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4DummyProbability_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1Probability_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1Probability001_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1Probability01_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1Probability10_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1Probability100_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1SingleProbability001_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1SingleProbability01_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1SingleProbability1_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1SingleProbability10_hh
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
//
#ifndef G4E1SingleProbability100_hh
@@ -1,19 +1,36 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4Evaporation.hh,v 1.5.2.1 2001/06/28 19:13:01 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4Evaporation_h
#define G4Evaporation_h 1
#include "globals.hh"
#include "g4rw/tvvector.h"
#include "g4rw/tpordvec.h"
#include "g4rw/tvordvec.h"
#include "G4ios.hh"
#include "G4VEvaporation.hh"
@@ -22,32 +39,39 @@
#include "G4NucleiProperties.hh"
#include "Randomize.hh"
//#define debug
class G4Evaporation : public G4VEvaporation
{
public:
G4Evaporation();
G4Evaporation(G4RWTPtrOrderedVector<G4VEvaporationChannel> * aChannelsVector) :
theChannels(aChannelsVector),
myOwnChannelsVector(false)
{};
G4Evaporation();
G4Evaporation(G4std::vector<G4VEvaporationChannel*> * aChannelsVector) :
theChannels(aChannelsVector),
myOwnChannelsVector(false)
{};
~G4Evaporation();
~G4Evaporation();
private:
G4Evaporation(const G4Evaporation &right);
G4Evaporation(const G4Evaporation &right);
const G4Evaporation & operator=(const G4Evaporation &right);
G4bool operator==(const G4Evaporation &right) const;
G4bool operator!=(const G4Evaporation &right) const;
const G4Evaporation & operator=(const G4Evaporation &right);
G4bool operator==(const G4Evaporation &right) const;
G4bool operator!=(const G4Evaporation &right) const;
public:
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus);
G4FragmentVector * BreakItUp(const G4Fragment &theNucleus);
private:
G4bool myOwnChannelsVector;
G4RWTPtrOrderedVector<G4VEvaporationChannel> * theChannels;
#ifdef debug
void CheckConservation(const G4Fragment & theInitialState,
G4FragmentVector * Result) const;
#endif
G4bool myOwnChannelsVector;
G4std::vector<G4VEvaporationChannel*> * theChannels;
};
#endif
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4EvaporationChannel.hh,v 1.5.2.1 2001/06/28 19:13:01 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
@@ -28,21 +47,29 @@
class G4EvaporationChannel : public G4VEvaporationChannel
{
public:
// only available constructor
// Available constructors
G4EvaporationChannel(const G4int theA, const G4int theZ,
G4VEmissionProbability * aEmissionStrategy,
G4VCoulombBarrier * aCoulombBarrier);
G4VEmissionProbability * aEmissionStrategy,
G4VCoulombBarrier * aCoulombBarrier);
G4EvaporationChannel(const G4int theA, const G4int theZ, const G4String & aName,
G4VEmissionProbability * aEmissionStrategy,
G4VCoulombBarrier * aCoulombBarrier);
G4EvaporationChannel(const G4int theA, const G4int theZ, const G4String * aName,
G4VEmissionProbability * aEmissionStrategy,
G4VCoulombBarrier * aCoulombBarrier);
public:
// destructor
~G4EvaporationChannel();
void SetEmissionStrategy(G4VEmissionProbability * aEmissionStrategy)
{theEvaporationProbabilityPtr = aEmissionStrategy;}
void SetEmissionStrategy(G4VEmissionProbability * aEmissionStrategy)
{theEvaporationProbabilityPtr = aEmissionStrategy;}
void SetCoulombBarrierStrategy(G4VCoulombBarrier * aCoulombBarrier)
{theCoulombBarrierPtr = aCoulombBarrier;}
void SetCoulombBarrierStrategy(G4VCoulombBarrier * aCoulombBarrier)
{theCoulombBarrierPtr = aCoulombBarrier;}
protected:
// default constructor
G4EvaporationChannel() {};
@@ -72,26 +99,26 @@ public:
inline void SetLevelDensityParameter(G4VLevelDensityParameter * aLevelDensity)
{
if (MyOwnLevelDensity) delete theLevelDensityPtr;
theLevelDensityPtr = aLevelDensity;
MyOwnLevelDensity = false;
}
{
if (MyOwnLevelDensity) delete theLevelDensityPtr;
theLevelDensityPtr = aLevelDensity;
MyOwnLevelDensity = false;
}
public:
inline G4double GetEmissionProbability(void) const
{return EmissionProbability;}
{return EmissionProbability;}
inline G4double GetMaximalKineticEnergy(void) const
{ return MaximalKineticEnergy; }
{ return MaximalKineticEnergy; }
// ----------------------
private:
// Calculate Binding Energy for separate fragment from nucleus
G4double CalcBindingEnergy(const G4int anA, const G4int aZ);
@@ -104,9 +131,6 @@ private:
// This has to be removed and put in Random Generator
G4ThreeVector IsotropicVector(const G4double Magnitude = 1.0);
G4double PairingCorrection(const G4int A, const G4int Z) const;
// Data Members
// ************
private:
@@ -128,9 +152,9 @@ private:
G4bool MyOwnLevelDensity;
G4VLevelDensityParameter * theLevelDensityPtr;
// For Coulomb Barrier calculation
G4VCoulombBarrier * theCoulombBarrierPtr;
G4double CoulombBarrier;
// For Coulomb Barrier calculation
G4VCoulombBarrier * theCoulombBarrierPtr;
G4double CoulombBarrier;
//---------------------------------------------------
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4EvaporationLevelDensityParameter.hh,v 1.4.2.1 2001/06/28 19:13:01 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
//
@@ -23,34 +41,34 @@ class G4EvaporationLevelDensityParameter : public G4VLevelDensityParameter
{
public:
G4EvaporationLevelDensityParameter() {};
G4EvaporationLevelDensityParameter() {};
virtual ~G4EvaporationLevelDensityParameter() {};
virtual ~G4EvaporationLevelDensityParameter() {};
private:
G4EvaporationLevelDensityParameter(const G4EvaporationLevelDensityParameter &right);
G4EvaporationLevelDensityParameter(const G4EvaporationLevelDensityParameter &right);
const G4EvaporationLevelDensityParameter & operator=(const G4EvaporationLevelDensityParameter &right);
G4bool operator==(const G4EvaporationLevelDensityParameter &right) const;
G4bool operator!=(const G4EvaporationLevelDensityParameter &right) const;
const G4EvaporationLevelDensityParameter & operator=(const G4EvaporationLevelDensityParameter &right);
G4bool operator==(const G4EvaporationLevelDensityParameter &right) const;
G4bool operator!=(const G4EvaporationLevelDensityParameter &right) const;
public:
G4double LevelDensityParameter(const G4int A,const G4int Z,const G4double U) const;
G4double LevelDensityParameter(const G4int A,const G4int Z,const G4double U) const;
private:
G4double ShellCorrection(const G4int Z, const G4int N) const
{ return G4CameronTruranHilfShellCorrections::GetShellZ(Z) +
G4CameronTruranHilfShellCorrections::GetShellN(N);}
G4double ShellCorrection(const G4int Z, const G4int N) const
{ return G4CameronTruranHilfShellCorrections::GetShellZ(Z) +
G4CameronTruranHilfShellCorrections::GetShellN(N);}
private:
static const G4double ConstEvapLevelDensityParameter;
static const G4double alpha;
static const G4double beta;
static const G4double gamma;
static const G4double Bs;
static const G4double ConstEvapLevelDensityParameter;
static const G4double alpha;
static const G4double beta;
static const G4double gamma;
static const G4double Bs;
};
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4EvaporationProbability.hh,v 1.4.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
//
@@ -20,78 +38,76 @@
#include "G4VLevelDensityParameter.hh"
#include "G4EvaporationLevelDensityParameter.hh"
#include "g4rw/tvvector.h"
class G4EvaporationProbability : public G4VEmissionProbability
{
public:
// Only available constructor
G4EvaporationProbability(const G4int anA, const G4int aZ, const G4double aGamma) :
theA(anA),
theZ(aZ),
Gamma(aGamma)
{
theEvapLDPptr = new G4EvaporationLevelDensityParameter;
}
// Only available constructor
G4EvaporationProbability(const G4int anA, const G4int aZ, const G4double aGamma) :
theA(anA),
theZ(aZ),
Gamma(aGamma)
{
theEvapLDPptr = new G4EvaporationLevelDensityParameter;
}
~G4EvaporationProbability()
{
if (theEvapLDPptr != 0) delete theEvapLDPptr;
}
~G4EvaporationProbability()
{
if (theEvapLDPptr != 0) delete theEvapLDPptr;
}
G4double GetZ(void) const { return theZ; }
G4double GetZ(void) const { return theZ; }
G4double GetA(void) const { return theA;}
G4double GetA(void) const { return theA;}
protected:
void SetExcitationEnergiesPtr(G4RWTValVector<G4double> * anExcitationEnergiesPtr)
{ExcitationEnergies = anExcitationEnergiesPtr;}
void SetExcitationEnergiesPtr(G4std::vector<G4double> * anExcitationEnergiesPtr)
{ExcitationEnergies = anExcitationEnergiesPtr;}
void SetExcitationSpinsPtr(G4RWTValVector<G4int> * anExcitationSpinsPtr)
{ExcitationSpins = anExcitationSpinsPtr;}
void SetExcitationSpinsPtr(G4std::vector<G4int> * anExcitationSpinsPtr)
{ExcitationSpins = anExcitationSpinsPtr;}
// Default constructor
G4EvaporationProbability() {}
// Default constructor
G4EvaporationProbability() {}
private:
// Copy constructor
G4EvaporationProbability(const G4EvaporationProbability &right);
// Copy constructor
G4EvaporationProbability(const G4EvaporationProbability &right);
const G4EvaporationProbability & operator=(const G4EvaporationProbability &right);
G4bool operator==(const G4EvaporationProbability &right) const;
G4bool operator!=(const G4EvaporationProbability &right) const;
const G4EvaporationProbability & operator=(const G4EvaporationProbability &right);
G4bool operator==(const G4EvaporationProbability &right) const;
G4bool operator!=(const G4EvaporationProbability &right) const;
public:
G4double EmissionProbability(const G4Fragment & fragment, const G4double anEnergy);
G4double EmissionProbability(const G4Fragment & fragment, const G4double anEnergy);
private:
G4double CalcProbability(const G4Fragment & fragment, const G4double MaximalKineticEnergy);
G4double PairingCorrection(const G4int A, const G4int Z) const;
virtual G4double CCoeficient(const G4double aZ) const {return 0.0;};
G4double CalcProbability(const G4Fragment & fragment, const G4double MaximalKineticEnergy);
virtual G4double CCoeficient(const G4double aZ) const {return 0.0;};
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const {return 1.0;}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const {return 1.0;}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const {return 1.0;}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const {return 1.0;}
// Data Members
// Data Members
G4VLevelDensityParameter * theEvapLDPptr;
G4VLevelDensityParameter * theEvapLDPptr;
G4int theA;
G4int theZ;
G4int theA;
G4int theZ;
// Gamma is A_f(2S_f+1) factor, where A_f is fragment atomic
// number and S_f is fragment spin
G4double Gamma;
// Gamma is A_f(2S_f+1) factor, where A_f is fragment atomic
// number and S_f is fragment spin
G4double Gamma;
// Discrete Excitation Energies
G4RWTValVector<G4double> * ExcitationEnergies;
// Discrete Excitation Energies
G4std::vector<G4double> * ExcitationEnergies;
//
G4RWTValVector<G4int> * ExcitationSpins;
//
G4std::vector<G4int> * ExcitationSpins;
};
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4ExcitationHandler.hh,v 1.4 1999/12/15 14:52:15 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ExcitationHandler.hh,v 1.5.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (May 1998)
@@ -40,6 +56,8 @@
#include "G4PhotonEvaporation.hh"
#include "G4IonConstructor.hh"
//#define debug
class G4ExcitationHandler
{
@@ -86,7 +104,11 @@ private:
const G4int GetMaxA() const;
const G4double GetMinE() const;
#ifdef debug
void CheckConservation(const G4Fragment & aFragment,
G4FragmentVector * Result) const;
#endif
private:
G4VEvaporation *theEvaporation;
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FermiBreakUp.hh,v 1.3.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FermiConfiguration.hh,v 1.5.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -11,6 +30,8 @@
#ifndef G4FermiConfiguration_h
#define G4FermiConfiguration_h 1
#include <deque>
#include "globals.hh"
#include "Randomize.hh"
#include "G4VFermiFragment.hh"
@@ -24,11 +45,8 @@
#include "G4IonTable.hh"
#include "G4Fragment.hh"
#include "g4rw/tvvector.h"
#include "g4rw/tvordvec.h"
static const G4int NumberOfFragments = 100;
static const G4int NumberOfFragments = 100;
class G4FermiConfiguration
{
@@ -58,8 +76,7 @@ private:
G4double CoulombBarrier(void);
// G4RWTPtrOrderedVector<G4ParticleMomentum>* FragmentsMomentum(G4double KineticEnergy);
G4RWTPtrOrderedVector<G4LorentzVector>* FragmentsMomentum(G4double KineticEnergy);
G4std::deque<G4LorentzVector*>* FragmentsMomentum(G4double KineticEnergy);
G4double RNKSI(const G4int K);
@@ -69,8 +86,8 @@ private:
// Kappa = V/V_0 it is used in calculation of Coulomb energy
static const G4double Kappa;
// Nuclear radius r0 (is a model parameter)
static const G4double r0;
// Nuclear radius r0 (is a model parameter)
static const G4double r0;
@@ -191,7 +208,7 @@ private:
// G4VFermiFragment * theConfiguration[MaxConfigSize];
// G4int Index[MaxConfigSize];
G4RWTValOrderedVector<G4int> Index;
G4std::vector<G4int> Index;
};
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FermiConfigurationList.hh,v 1.4.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -15,9 +34,6 @@
#include "G4FermiConfiguration.hh"
#include "Randomize.hh"
#include "g4rw/tvvector.h"
#include "g4rw/tvordvec.h"
class G4FermiConfigurationList
{
@@ -50,9 +66,9 @@ private:
G4double NumOfConfigurations[MaxNumOfFragments]; // NumberOfChannelsPerFragment[MaxNumOfFragments];
G4RWTValOrderedVector<G4double> NormalizedWeights;
G4std::vector<G4double> NormalizedWeights;
G4RWTValOrderedVector<G4FermiConfiguration> Configurations;
G4std::vector<G4FermiConfiguration> Configurations;
};
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4FissionBarrier.hh,v 1.3 2000/06/09 11:36:52 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4FissionBarrier.hh,v 1.3.8.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FissionLevelDensityParameter.hh,v 1.4.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
//
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FissionParameters.hh,v 1.4.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
//
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4FissionProbability.hh,v 1.4.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Oct 1998)
//
@@ -40,11 +58,6 @@ public:
G4double EmissionProbability(const G4Fragment & fragment, const G4double MaximalKineticEnergy);
private:
G4double EvaporationPairingCorrection(const G4int A, const G4int Z) const;
G4double FissionPairingCorrection(const G4int A, const G4int Z) const;
G4EvaporationLevelDensityParameter theEvapLDP;
G4FissionLevelDensityParameter theFissLDP;
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4He3CoulombBarrier.hh,v 1.1 2000/06/09 11:36:53 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4He3CoulombBarrier.hh,v 1.1.8.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4He3EvaporationChannel.hh,v 1.2.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov. 1999)
@@ -20,27 +39,27 @@
class G4He3EvaporationChannel : public G4EvaporationChannel
{
public:
// only available constructor
G4He3EvaporationChannel() : G4EvaporationChannel(3,2,
&theEvaporationProbability,&theCoulombBarrier) {};
// only available constructor
G4He3EvaporationChannel() : G4EvaporationChannel(3,2,"He3",
&theEvaporationProbability,&theCoulombBarrier) {};
// destructor
~G4He3EvaporationChannel() {};
// destructor
~G4He3EvaporationChannel() {};
private:
const G4He3EvaporationChannel & operator=(const G4He3EvaporationChannel & right);
const G4He3EvaporationChannel & operator=(const G4He3EvaporationChannel & right);
G4He3EvaporationChannel(const G4He3EvaporationChannel & right);
G4He3EvaporationChannel(const G4He3EvaporationChannel & right);
public:
G4bool operator==(const G4He3EvaporationChannel & right) const;
G4bool operator!=(const G4He3EvaporationChannel & right) const;
G4bool operator==(const G4He3EvaporationChannel & right) const;
G4bool operator!=(const G4He3EvaporationChannel & right) const;
private:
G4He3CoulombBarrier theCoulombBarrier;
G4He3CoulombBarrier theCoulombBarrier;
G4He3EvaporationProbability theEvaporationProbability;
G4He3EvaporationProbability theEvaporationProbability;
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4He3EvaporationProbability.hh,v 1.2.2.1 2001/06/28 19:13:02 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1999)
//
@@ -22,34 +40,34 @@
class G4He3EvaporationProbability : public G4EvaporationProbability
{
public:
// Only available constructor
G4He3EvaporationProbability();
// Only available constructor
G4He3EvaporationProbability();
~G4He3EvaporationProbability() {}
~G4He3EvaporationProbability() {}
private:
// Copy constructor
G4He3EvaporationProbability(const G4He3EvaporationProbability &right);
// Copy constructor
G4He3EvaporationProbability(const G4He3EvaporationProbability &right);
const G4He3EvaporationProbability & operator=(const G4He3EvaporationProbability &right);
G4bool operator==(const G4He3EvaporationProbability &right) const;
G4bool operator!=(const G4He3EvaporationProbability &right) const;
const G4He3EvaporationProbability & operator=(const G4He3EvaporationProbability &right);
G4bool operator==(const G4He3EvaporationProbability &right) const;
G4bool operator!=(const G4He3EvaporationProbability &right) const;
private:
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
G4double CCoeficient(const G4double aZ) const;
G4double CCoeficient(const G4double aZ) const;
// Excitation energy levels
G4RWTValVector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4RWTValVector<G4int> ExcitSpins;
// Excitation energy levels
G4std::vector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4std::vector<G4int> ExcitSpins;
};
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4He5FermiFragment.hh,v 1.3.2.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4Li5FermiFragment.hh,v 1.3.2.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1998)
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4NeutronCoulombBarrier.hh,v 1.1 2000/06/09 11:36:53 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4NeutronCoulombBarrier.hh,v 1.1.8.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4NeutronEvaporationChannel.hh,v 1.2.2.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov. 1999)
@@ -20,27 +39,27 @@
class G4NeutronEvaporationChannel : public G4EvaporationChannel
{
public:
// only available constructor
G4NeutronEvaporationChannel() : G4EvaporationChannel(1,0,
&theEvaporationProbability,&theCoulombBarrier) {};
// only available constructor
G4NeutronEvaporationChannel() : G4EvaporationChannel(1,0,"neutron",
&theEvaporationProbability,&theCoulombBarrier) {};
// destructor
~G4NeutronEvaporationChannel() {};
// destructor
~G4NeutronEvaporationChannel() {};
private:
const G4NeutronEvaporationChannel & operator=(const G4NeutronEvaporationChannel & right);
const G4NeutronEvaporationChannel & operator=(const G4NeutronEvaporationChannel & right);
G4NeutronEvaporationChannel(const G4NeutronEvaporationChannel & right);
G4NeutronEvaporationChannel(const G4NeutronEvaporationChannel & right);
public:
G4bool operator==(const G4NeutronEvaporationChannel & right) const;
G4bool operator!=(const G4NeutronEvaporationChannel & right) const;
G4bool operator==(const G4NeutronEvaporationChannel & right) const;
G4bool operator!=(const G4NeutronEvaporationChannel & right) const;
private:
G4NeutronCoulombBarrier theCoulombBarrier;
G4NeutronCoulombBarrier theCoulombBarrier;
G4NeutronEvaporationProbability theEvaporationProbability;
G4NeutronEvaporationProbability theEvaporationProbability;
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4NeutronEvaporationProbability.hh,v 1.2.2.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1999)
//
@@ -22,31 +40,31 @@
class G4NeutronEvaporationProbability : public G4EvaporationProbability
{
public:
// Only available constructor
G4NeutronEvaporationProbability();
// Only available constructor
G4NeutronEvaporationProbability();
~G4NeutronEvaporationProbability() {}
~G4NeutronEvaporationProbability() {}
private:
// Copy constructor
G4NeutronEvaporationProbability(const G4NeutronEvaporationProbability &right);
// Copy constructor
G4NeutronEvaporationProbability(const G4NeutronEvaporationProbability &right);
const G4NeutronEvaporationProbability & operator=(const G4NeutronEvaporationProbability &right);
G4bool operator==(const G4NeutronEvaporationProbability &right) const;
G4bool operator!=(const G4NeutronEvaporationProbability &right) const;
const G4NeutronEvaporationProbability & operator=(const G4NeutronEvaporationProbability &right);
G4bool operator==(const G4NeutronEvaporationProbability &right) const;
G4bool operator!=(const G4NeutronEvaporationProbability &right) const;
private:
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 0.76+2.2/pow(G4double(fragment.GetA()-GetA()),1.0/3.0);}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 0.76+2.2/pow(G4double(fragment.GetA()-GetA()),1.0/3.0);}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return (2.12/pow(G4double(fragment.GetA()-GetA()),2.0/3.0) - 0.05)*MeV/CalcAlphaParam(fragment); }
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return (2.12/pow(G4double(fragment.GetA()-GetA()),2.0/3.0) - 0.05)*MeV/CalcAlphaParam(fragment); }
// Excitation energy levels
G4RWTValVector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4RWTValVector<G4int> ExcitSpins;
// Excitation energy levels
G4std::vector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4std::vector<G4int> ExcitSpins;
};
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4NuclearLevel
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4NuclearLevelManager
@@ -0,0 +1,69 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4PairingCorrection.hh,v 1.1.2.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4PairingCorrection_h
#define G4PairingCorrection_h 1
#include "globals.hh"
class G4PairingCorrection
{
private:
// Dummy constructor
G4PairingCorrection(G4double dummy);
static G4PairingCorrection theInstance;
public:
~G4PairingCorrection() {};
static G4double GetPairingCorrection(const G4int anA, const G4int aZ)
{
const G4double PairingConstant = 12.0*MeV;
const G4int N = anA - aZ;
G4double Pair = (1.0 - G4double(aZ) + 2.0*(aZ/2)) + (1.0 - G4double(N) + 2.0*(N/2));
G4double PCorrection = Pair*PairingConstant/sqrt(G4double(anA));
return PCorrection;
}
static G4double GetFissionPairingCorrection(const G4int A, const G4int Z)
{
const G4double PairingConstant = 14.0*MeV;
const G4int N = A - Z;
G4double Pair = (1.0 - G4double(Z) + 2.0*(Z/2)) + (1.0 - G4double(N) + 2.0*(N/2));
G4double PCorrection = Pair*PairingConstant/sqrt(G4double(A));
return PCorrection;
}
};
#endif
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
#ifndef G4ParaFissionModel_h
#define G4ParaFissionModel_h
@@ -54,9 +76,9 @@ public:
anInitialState.SetA(anA);
anInitialState.SetZ(aZ);
anInitialState.SetNumberOfParticles(numberOfEx-numberOfHoles);
anInitialState.SetNumberOfCharged(numberOfCh);
anInitialState.SetNumberOfHoles(numberOfHoles);
anInitialState.SetNumberOfExcitons(numberOfEx);
anInitialState.SetMomentum(fragment4Momentum);
// do the fission
@@ -64,15 +86,15 @@ public:
// deexcite the fission fragments and fill result
vector<G4DynamicParticle *> theResult;
G4int ll = theFissionResult->length();
G4int ll = theFissionResult->size();
for(G4int i=0; i<ll; i++)
{
G4ReactionProductVector * theExcitationResult = 0;
if(theFissionResult->at(i)->GetExcitationEnergy()>1.*eV)
if((*theFissionResult)[i]->GetExcitationEnergy()>1.*eV)
{
G4Fragment * aFragment = theFissionResult->at(i);
G4Fragment * aFragment = (*theFissionResult)[i];
G4double exenergy = aFragment->GetExcitationEnergy();
theExcitationResult = theHandler.BreakItUp(*(theFissionResult->at(i)));
theExcitationResult = theHandler.BreakItUp(*(*theFissionResult)[i]);
// add secondaries
for(G4int j=0; j<theExcitationResult->length(); j++)
{
@@ -86,8 +108,8 @@ public:
{
// add secondary
G4DynamicParticle* p0 = new G4DynamicParticle;
p0->SetDefinition(theFissionResult->at(i)->GetParticleDefinition());
p0->SetMomentum(theFissionResult->at(i)->GetMomentum().vect());
p0->SetDefinition((*theFissionResult)[i]->GetParticleDefinition());
p0->SetMomentum((*theFissionResult)[i]->GetMomentum().vect());
theResult.push_back(p0);
}
}
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4PhotonEvaporation
@@ -31,6 +45,8 @@
#include "G4VEmissionProbability.hh"
#include "G4VGammaDeexcitation.hh"
//#define debug
class G4Fragment;
class G4PhotonEvaporation : public G4VPhotonEvaporation, public G4VEvaporationChannel
@@ -73,6 +89,13 @@ private:
G4bool operator==(const G4PhotonEvaporation &right) const;
G4bool operator!=(const G4PhotonEvaporation &right) const;
#ifdef debug
void CheckConservation(const G4Fragment & theInitialState,
G4FragmentVector * Result) const;
#endif
};
#endif
@@ -1,12 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// $Id: G4ProtonCoulombBarrier.hh,v 1.1 2000/06/09 11:36:53 larazb Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4ProtonCoulombBarrier.hh,v 1.1.8.1 2001/06/28 19:13:03 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Dec 1999)
@@ -1,9 +1,28 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4ProtonEvaporationChannel.hh,v 1.2.2.1 2001/06/28 19:13:04 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov. 1999)
@@ -20,27 +39,27 @@
class G4ProtonEvaporationChannel : public G4EvaporationChannel
{
public:
// only available constructor
G4ProtonEvaporationChannel() : G4EvaporationChannel(1,1,
&theEvaporationProbability,&theCoulombBarrier) {};
// only available constructor
G4ProtonEvaporationChannel() : G4EvaporationChannel(1,1,"proton",
&theEvaporationProbability,&theCoulombBarrier) {};
// destructor
~G4ProtonEvaporationChannel() {};
// destructor
~G4ProtonEvaporationChannel() {};
private:
const G4ProtonEvaporationChannel & operator=(const G4ProtonEvaporationChannel & right);
const G4ProtonEvaporationChannel & operator=(const G4ProtonEvaporationChannel & right);
G4ProtonEvaporationChannel(const G4ProtonEvaporationChannel & right);
G4ProtonEvaporationChannel(const G4ProtonEvaporationChannel & right);
public:
G4bool operator==(const G4ProtonEvaporationChannel & right) const;
G4bool operator!=(const G4ProtonEvaporationChannel & right) const;
G4bool operator==(const G4ProtonEvaporationChannel & right) const;
G4bool operator!=(const G4ProtonEvaporationChannel & right) const;
private:
G4ProtonEvaporationProbability theEvaporationProbability;
G4ProtonEvaporationProbability theEvaporationProbability;
G4ProtonCoulombBarrier theCoulombBarrier;
G4ProtonCoulombBarrier theCoulombBarrier;
};
#endif
@@ -1,11 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4ProtonEvaporationProbability.hh,v 1.2.2.1 2001/06/28 19:13:04 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (Nov 1999)
//
@@ -22,34 +40,34 @@
class G4ProtonEvaporationProbability : public G4EvaporationProbability
{
public:
// Only available constructor
G4ProtonEvaporationProbability();
// Only available constructor
G4ProtonEvaporationProbability();
~G4ProtonEvaporationProbability() {}
~G4ProtonEvaporationProbability() {}
private:
// Copy constructor
G4ProtonEvaporationProbability(const G4ProtonEvaporationProbability &right);
// Copy constructor
G4ProtonEvaporationProbability(const G4ProtonEvaporationProbability &right);
const G4ProtonEvaporationProbability & operator=(const G4ProtonEvaporationProbability &right);
G4bool operator==(const G4ProtonEvaporationProbability &right) const;
G4bool operator!=(const G4ProtonEvaporationProbability &right) const;
const G4ProtonEvaporationProbability & operator=(const G4ProtonEvaporationProbability &right);
G4bool operator==(const G4ProtonEvaporationProbability &right) const;
G4bool operator!=(const G4ProtonEvaporationProbability &right) const;
private:
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcAlphaParam(const G4Fragment & fragment) const
{ return 1.0 + CCoeficient(G4double(fragment.GetZ()-GetZ()));}
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
virtual G4double CalcBetaParam(const G4Fragment & fragment) const
{ return 0.0; }
G4double CCoeficient(const G4double aZ) const;
G4double CCoeficient(const G4double aZ) const;
// Excitation energy levels
G4RWTValVector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4RWTValVector<G4int> ExcitSpins;
// Excitation energy levels
G4std::vector<G4double> ExcitEnergies;
// Spin of excitation energy levels
G4std::vector<G4int> ExcitSpins;
};
#endif
@@ -1,15 +1,29 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -------------------------------------------------------------------
// GEANT 4 class file
//
// For information related to this code contact:
// CERN, IT Division, ASD group
// CERN, Geneva, Switzerland
//
// File name: G4PtrLevelVector
@@ -1,4 +1,26 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// -----------------------------------------------------------------------
// HEP Random
// --- G4RandGeneralTmp ---
@@ -1,3 +1,25 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
// -----------------------------------------------------------------------
// HEP Random
// --- RandGeneralTmp ---
@@ -1,3 +1,32 @@
//
// ********************************************************************
// * DISCLAIMER *
// * *
// * The following disclaimer summarizes all the specific disclaimers *
// * of contributors to this software. The specific disclaimers,which *
// * govern, are listed with their locations in: *
// * http://cern.ch/geant4/license *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. *
// * *
// * This code implementation is the intellectual property of the *
// * GEANT4 collaboration. *
// * By copying, distributing or modifying the Program (or any work *
// * based on the Program) you indicate your acceptance of this *
// * statement, and all its terms. *
// ********************************************************************
//
//
// $Id: G4Solver.hh,v 1.3.2.1 2001/06/28 19:13:04 gunter Exp $
// GEANT4 tag $Name: $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara
#ifndef G4Solver_h
#define G4Solver_h 1
@@ -8,67 +37,67 @@
template <class Function> class G4Solver
{
public:
enum {DefaultMaxIter = 100};
enum {DefaultMaxIter = 100};
// default constructor
G4Solver() : MaxIter(DefaultMaxIter), tolerance(DefaultTolerance),
a(0.0), b(0.0), root(0.0) {};
// default constructor
G4Solver() : MaxIter(DefaultMaxIter), tolerance(DefaultTolerance),
a(0.0), b(0.0), root(0.0) {};
G4Solver(const G4int iterations, const G4double tol) :
G4Solver(const G4int iterations, const G4double tol) :
MaxIter(iterations), tolerance(tol),
a(0.0), b(0.0), root(0.0) {};
// copy constructor
G4Solver(const G4Solver & right);
// copy constructor
G4Solver(const G4Solver & right);
// destructor
~G4Solver() {};
// destructor
~G4Solver() {};
// operators
G4Solver & operator=(const G4Solver & right);
G4bool operator==(const G4Solver & right) const;
G4bool operator!=(const G4Solver & right) const;
// operators
G4Solver & operator=(const G4Solver & right);
G4bool operator==(const G4Solver & right) const;
G4bool operator!=(const G4Solver & right) const;
G4int GetMaxIterations(void) const {return MaxIter;}
void SetMaxIterations(const G4int iterations) {MaxIter=iterations;}
G4int GetMaxIterations(void) const {return MaxIter;}
void SetMaxIterations(const G4int iterations) {MaxIter=iterations;}
G4double GetTolerance(void) const {return tolerance;}
void SetTolerance(const G4double epsilon) {tolerance = epsilon;}
G4double GetTolerance(void) const {return tolerance;}
void SetTolerance(const G4double epsilon) {tolerance = epsilon;}
G4double GetIntervalLowerLimit(void) const {return a;}
G4double GetIntervalUpperLimit(void) const {return b;}
G4double GetIntervalLowerLimit(void) const {return a;}
G4double GetIntervalUpperLimit(void) const {return b;}
void SetIntervalLimits(const G4double Limit1, const G4double Limit2);
void SetIntervalLimits(const G4double Limit1, const G4double Limit2);
G4double GetRoot(void) const {return root;}
G4double GetRoot(void) const {return root;}
// Calculates the root by the Bisection method
// Calculates the root by the Bisection method
// template <class Function> G4bool Bisection(const Function & theFunction);
G4bool Bisection(Function & theFunction);
G4bool Bisection(Function & theFunction);
// Calculates the root by the Regula-Falsi method
// Calculates the root by the Regula-Falsi method
// template <class Function> G4bool RegulaFalsi(const Function & theFunction);
G4bool RegulaFalsi(Function & theFunction);
G4bool RegulaFalsi(Function & theFunction);
// Calculates the root by the Brent's method
G4bool Brent(Function & theFunction);
// Calculates the root by the Brent's method
G4bool Brent(Function & theFunction);
private:
// Maximum number of iterations
G4int MaxIter;
// Maximum number of iterations
G4int MaxIter;
//
G4double tolerance;
//
G4double tolerance;
// interval limits [a,b] which should bracket the root
G4double a;
G4double b;
// interval limits [a,b] which should bracket the root
G4double a;
G4double b;
// The root
G4double root;
// The root
G4double root;
};

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