Import Geant4 6.1.0 source tree
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MaterialCutsCouple.hh,v 1.2 2003/09/19 14:40:59 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ProductionCuts.hh,v 1.2 2003/09/19 14:41:45 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ProductionCutsTable.hh,v 1.2 2003/11/03 02:18:44 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForAntiNeutron.hh,v 1.1 2003/09/19 14:42:24 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForAntiProton.hh,v 1.1 2003/09/19 14:42:41 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForElectron.hh,v 1.1 2003/09/19 14:42:58 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForGamma.hh,v 1.1 2003/09/19 14:43:15 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForNeutron.hh,v 1.1 2003/09/19 14:43:31 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForPositron.hh,v 1.1 2003/09/19 14:43:48 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForProton.hh,v 1.1 2003/09/19 14:44:08 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VRangeToEnergyConverter.hh,v 1.2 2003/11/08 06:10:48 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4MaterialCutsCouple.cc,v 1.2 2003/09/19 14:45:04 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ProductionCuts.cc,v 1.2 2003/09/19 14:45:27 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ProductionCutsTable.cc,v 1.4 2003/11/08 06:10:48 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForAntiNeutron.cc,v 1.1 2003/09/19 14:46:05 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForAntiProton.cc,v 1.1 2003/09/19 14:46:22 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForElectron.cc,v 1.2 2003/11/08 06:10:48 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForGamma.cc,v 1.1 2003/09/19 14:47:01 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForNeutron.cc,v 1.1 2003/09/19 14:47:18 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForPositron.cc,v 1.2 2003/11/08 06:10:48 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RToEConvForProton.cc,v 1.1 2003/09/19 14:47:55 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VRangeToEnergyConverter.cc,v 1.2 2003/11/08 06:10:48 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.11 2003/04/26 18:54:11 vnivanch Exp $
|
||||
$Id: History,v 1.12 2004/03/12 04:46:29 kurasige Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -16,6 +16,8 @@ committal in the CVS repository !
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
- Mar. 12, 04 H.Kurashige(decay-V06-00-00)
|
||||
- Fixed bug in PostStepGPIL in case of stopping during AlongStep actions
|
||||
|
||||
- Apr 26, 03 V.Ivanchenko(decay-V05-00-00)
|
||||
- add initialisation of TouchableHandle for decay products
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Decay.hh,v 1.8 2002/02/12 02:14:03 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4Decay.hh,v 1.9 2004/03/12 04:46:31 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -41,6 +41,8 @@
|
||||
// PreAssignedDecayTime 18 Jan. 2001 H.Kurashige
|
||||
// Add External Decayer 23 Feb. 2001 H.Kurashige
|
||||
// Remove PhysicsTable 12 Feb. 2002 H.Kurashige
|
||||
// Fixed bug in PostStepGPIL
|
||||
// in case of stopping during AlongStepDoIt 12 Mar. 2004 H.Kurashige
|
||||
//
|
||||
#ifndef G4Decay_h
|
||||
#define G4Decay_h 1
|
||||
@@ -160,17 +162,22 @@ class G4Decay : public G4VRestDiscreteProcess
|
||||
G4VExtDecayer* pExtDecayer;
|
||||
};
|
||||
|
||||
inline G4double G4Decay::PostStepGetPhysicalInteractionLength(
|
||||
inline
|
||||
G4double G4Decay::PostStepGetPhysicalInteractionLength(
|
||||
const G4Track& track,
|
||||
G4double previousStepSize,
|
||||
G4ForceCondition* condition
|
||||
)
|
||||
{
|
||||
// reset fRemainderLifeTime
|
||||
fRemainderLifeTime = 0.0;
|
||||
|
||||
// pre-assigned Decay time
|
||||
G4double pTime = track.GetDynamicParticle()->GetPreAssignedDecayProperTime();
|
||||
|
||||
if (pTime < 0.) {
|
||||
// normal case
|
||||
fRemainderLifeTime = 0.0;
|
||||
return G4VRestDiscreteProcess::PostStepGetPhysicalInteractionLength(track, previousStepSize, condition);
|
||||
}
|
||||
|
||||
@@ -178,12 +185,12 @@ inline G4double G4Decay::PostStepGetPhysicalInteractionLength(
|
||||
*condition = NotForced;
|
||||
|
||||
// reminder proper time
|
||||
fRemainderLifeTime = pTime - track.GetProperTime();
|
||||
if (fRemainderLifeTime <= 0.0) fRemainderLifeTime = DBL_MIN;
|
||||
G4double remainder = pTime - track.GetProperTime();
|
||||
if (remainder <= 0.0) remainder = DBL_MIN;
|
||||
|
||||
// use pre-assigned Decay time to determine PIL
|
||||
G4double tau = track.GetDefinition()->GetPDGLifeTime();
|
||||
return (fRemainderLifeTime/tau)*GetMeanFreePath(track, previousStepSize, condition);
|
||||
return (remainder/tau)*GetMeanFreePath(track, previousStepSize, condition);
|
||||
|
||||
}
|
||||
inline
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VExtDecayer.hh,v 1.3 2001/07/11 10:02:27 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Decay.cc,v 1.16 2003/04/26 18:54:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.191 2003/11/18 17:49:41 pia Exp $
|
||||
$Id: History,v 1.200 2004/03/23 12:45:14 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,41 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
23.03.2004 G.Cosmo, tag emlowen-V06-00-09
|
||||
Fix in G4PenelopeCompton for compilation on WIN32-VC.
|
||||
|
||||
15.03.2004 MGP, tag emlowen-V06-00-08
|
||||
Fix in G4PenelopeRayleigh related to PR 605
|
||||
Bug fix in G4PenelopeIonisation
|
||||
Performance improvement in Penelope processes
|
||||
|
||||
15.03.2004 MGP, tag emlowen-V06-00-07
|
||||
Performance improvement in G4Generator2BN
|
||||
|
||||
12.03.2004 MGP, tag emlowen-V06-00-06
|
||||
Fixed compilation warnings
|
||||
|
||||
12.03.2004 MGP, tag emlowen-V06-00-05
|
||||
G4PolarizedRayleigh removed
|
||||
|
||||
12.03.2004 MGP, tag emlowen-V06-00-04
|
||||
Contains G4PolarizedRayleigh, which has compilation problems,
|
||||
but no maintenance by authors, for future retrieval
|
||||
|
||||
11.03.2004 MGP, tag emlowen-V06-00-03
|
||||
Bug fixes in G4PenelopeCompton and G4PenelopeIonisation
|
||||
|
||||
11.03.2004 MGP, tag emlowen-V06-00-02
|
||||
Bug fix in G4IonisationParameters
|
||||
|
||||
26.01.2004 MGP, tag emlowen-V06-00-01
|
||||
Optimization of Bremsstrahlung angular generators,
|
||||
provided by LIP group
|
||||
|
||||
26.01.2004 MGP, tag emlowen-V06-00-00
|
||||
Fixed memory leaks in G4PenepoleInterpolator and
|
||||
G4PenelopeIonisation
|
||||
|
||||
18.11.2003 MGP, tag emlowen-V05-02-10
|
||||
Performance optimization in Bremsstrahlung angular distribution
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
@@ -72,7 +72,7 @@ private:
|
||||
|
||||
// Decides wether a radiative transition is possible and, if it is,
|
||||
// returns the identity of the starting shell for the transition
|
||||
const G4int SelectTypeOfTransition(G4int Z, G4int shellId);
|
||||
G4int SelectTypeOfTransition(G4int Z, G4int shellId);
|
||||
|
||||
// Generates a particle from a radiative transition and returns it
|
||||
G4DynamicParticle* GenerateFluorescence(G4int Z, G4int shellId,G4int provShellId);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicShell.hh,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4AtomicTransition.hh,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 16 Sept 2001 Modofied according to a design iteration in the
|
||||
// LowEnergy category
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// Class description:
|
||||
// Low Energy Electromagnetic Physics, a data container
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef G4AtomicTransition_h
|
||||
#define G4AtomicTransition_h 1
|
||||
|
||||
#include "G4DataVector.hh"
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4AtomicTransition {
|
||||
|
||||
public:
|
||||
|
||||
G4AtomicTransition(G4int finalShell,
|
||||
const std::vector<G4int>& ids,
|
||||
const G4DataVector& energies,
|
||||
const G4DataVector& probabilities);
|
||||
~G4AtomicTransition();
|
||||
|
||||
// All the data stored and provided by this class are relative to a
|
||||
// given vacancy, whose identity is provided by the FinalShellId() method,
|
||||
// in an atom of a given material
|
||||
|
||||
// Returns the identities of the originating shells for the transitions
|
||||
const std::vector<G4int>& OriginatingShellIds() const;
|
||||
|
||||
// Return the energies of the transitions
|
||||
const G4DataVector& TransitionEnergies() const;
|
||||
|
||||
// Return the probabilities of the transitions
|
||||
const G4DataVector& TransitionProbabilities() const;
|
||||
|
||||
// Return the identity if the vacancy
|
||||
const G4int FinalShellId() const;
|
||||
|
||||
// Given the index of the originating shells returns its identity
|
||||
G4int OriginatingShellId(G4int index) const;
|
||||
|
||||
// Given the index of the originating shells returns the energy
|
||||
// of the transition starting from it
|
||||
G4double TransitionEnergy(G4int index) const;
|
||||
|
||||
// Given the index of the originating shells returns the probability
|
||||
// of the transition starting from it
|
||||
G4double TransitionProbability(G4int index) const;
|
||||
|
||||
private:
|
||||
|
||||
G4int finalShellId;
|
||||
std::vector<G4int> originatingShellIds;
|
||||
G4DataVector transitionEnergies;
|
||||
G4DataVector transitionProbabilities;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4AugerData.hh
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
//
|
||||
|
||||
@@ -85,7 +85,7 @@ public:
|
||||
|
||||
// returns the id of the shell in wich the transition electron arrives
|
||||
|
||||
const G4int FinalShellId() const;
|
||||
G4int FinalShellId() const;
|
||||
|
||||
// Returns the id of the shell from wich come the auger electron , given the shell
|
||||
// from wich the transition electron comes from and the index number.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BremsstrahlungParameters.hh,v 1.9 2003/06/16 16:59:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
// V. Ivanchenko (Vladimir.Ivantchenko@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4CompositeEMDataSet.hh,v 1.5 2003/06/16 16:59:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4CrossSectionHandler.hh,v 1.8 2003/06/16 16:59:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4EMDataSet.hh,v 1.4 2003/05/20 20:03:34 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4FluoTransition.hh,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
const G4DataVector& TransitionProbabilities() const;
|
||||
|
||||
// Return the identity if the vacancy
|
||||
const G4int FinalShellId() const;
|
||||
G4int FinalShellId() const;
|
||||
|
||||
// Given the index of the originating shells returns its identity
|
||||
G4int OriginatingShellId(G4int index) const;
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
//
|
||||
// Modifications:
|
||||
// 02 Jun 2003 First implementation acording with new design
|
||||
// 07 Nov 2003 Lockup tables for fast initialization
|
||||
//
|
||||
//
|
||||
// Class Description:
|
||||
@@ -89,11 +90,11 @@ private:
|
||||
|
||||
G4double b;
|
||||
G4int index_min, index_max;
|
||||
G4double* Atab;
|
||||
G4double* ctab;
|
||||
G4double kmin, Ekmin;
|
||||
G4double dtheta;
|
||||
G4double kcut;
|
||||
static G4double Atab[320];
|
||||
static G4double ctab[320];
|
||||
|
||||
// hide assignment operator
|
||||
G4Generator2BN & operator=(const G4Generator2BN &right);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LinInterpolation.hh,v 1.2 2002/05/28 09:15:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogLogInterpolation.hh,v 1.3 2002/05/28 09:15:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.35 2003/11/06 12:25:05 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.hh,v 1.36 2003/11/10 17:50:46 trindade Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
//
|
||||
@@ -111,6 +111,8 @@ private:
|
||||
G4VEnergySpectrum* energySpectrum;
|
||||
G4DataVector energyBins;
|
||||
G4VBremAngularDistribution* angularDistribution;
|
||||
G4VBremAngularDistribution* TsaiAngularDistribution;
|
||||
G4String generatorName;
|
||||
|
||||
// Lower limit for generation of gamma in this model
|
||||
G4DataVector cutForSecondaryPhotons;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.hh,v 1.20 2003/12/09 15:36:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyGammaConversion.hh,v 1.14 2001/10/08 07:45:33 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4LowEnergyIonisation.hh,v 1.40 2003/06/16 16:59:44 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.hh,v 1.25 2002/06/01 03:14:18 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyPolarizedCompton.hh,v 1.8 2002/05/31 18:11:45 flongo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.hh,v 1.15 2001/10/08 07:45:35 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4PenelopeBremsstrahlung.hh,v 1.7 2003/11/11 17:18:30 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: L.Pandola
|
||||
//
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4PenelopeBremsstrahlungAngular.hh,v 1.2 2003/11/07 12:26:08 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: L.Pandola
|
||||
//
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4PenelopeBremsstrahlungContinuous.hh,v 1.2 2003/03/19 10:28:28 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: L.Pandola
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PenelopeCompton.hh,v 1.8 2003/12/09 15:36:38 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: Luciano Pandola
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PenelopeGammaConversion.hh,v 1.1 2002/12/06 16:25:00 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: L. Pandola
|
||||
//
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
// History:
|
||||
// -----------
|
||||
// 17 Feb 2003 LP Created
|
||||
// 17 Dec 2003 LP Bug fixed (removed memory leak)
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// Class description:
|
||||
@@ -46,7 +47,7 @@ public:
|
||||
|
||||
G4PenelopeInterpolator(G4double* pX, G4double* pY, G4int nbOfData, G4double S1=0, G4double SN=0);
|
||||
|
||||
~G4PenelopeInterpolator(){;}
|
||||
~G4PenelopeInterpolator();
|
||||
|
||||
G4double CubicSplineInterpolation(G4double xx);
|
||||
G4double FirstDerivative(G4double xx);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4PenelopeIonisation.hh,v 1.4 2003/07/09 12:36:46 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// Author: L. Pandola
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PenelopePhotoElectric.hh,v 1.2 2003/02/23 23:42:52 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: L.Pandola
|
||||
//
|
||||
|
||||
@@ -21,15 +21,16 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PenelopeRayleigh.hh,v 1.3 2003/03/13 16:53:50 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4PenelopeRayleigh.hh,v 1.4 2004/03/18 13:40:13 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Author: Luciano Pandola
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 01 Dec 2002 L.Pandola 1st implementation
|
||||
// 14 Feb 2003 MG Pia Removed data member material
|
||||
// 01 Dec 2002 L.Pandola 1st implementation
|
||||
// 14 Feb 2003 MG Pia Removed data member material
|
||||
// 18 Mar 2004 M.Mendenhall Introduced SamplingTable
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// Class description:
|
||||
@@ -54,7 +55,10 @@ class G4DataVector;
|
||||
class G4PenelopeRayleigh : public G4VDiscreteProcess {
|
||||
|
||||
public:
|
||||
|
||||
|
||||
typedef std::map<const G4Material *,std::pair<G4DataVector *, G4DataVector *> >
|
||||
SamplingTablePair;
|
||||
|
||||
G4PenelopeRayleigh(const G4String& processName ="PenRayleigh");
|
||||
|
||||
~G4PenelopeRayleigh();
|
||||
@@ -97,6 +101,8 @@ private:
|
||||
G4DataVector* samplingFunction_x;
|
||||
G4DataVector* samplingFunction_y;
|
||||
|
||||
SamplingTablePair SamplingTables;
|
||||
|
||||
G4double samplingConstant;
|
||||
G4double facte; //cross section factor
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RangeNoTest.hh,v 1.3 2003/05/20 20:03:34 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4RangeTest.hh,v 1.3 2003/01/22 18:42:23 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SemiLogInterpolation.hh,v 1.3 2002/05/28 09:15:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ShellData.hh,v 1.3 2003/06/16 16:59:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ShellEMDataSet.hh,v 1.5 2003/06/16 16:59:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VCrossSectionHandler.hh,v 1.13 2003/06/16 16:59:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VDataSetAlgorithm.hh,v 1.6 2002/05/28 09:15:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VEMDataSet.hh,v 1.6 2002/05/28 09:15:26 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VRangeTest.hh,v 1.2 2003/01/22 18:42:23 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VeLowEnergyLoss.hh,v 1.8 2003/01/22 18:42:24 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// 3.4.2000 Veronique Lefebure:
|
||||
// Move utils/include/G4VEnergyLoss.hh to
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4eBremsstrahlungSpectrum.hh,v 1.7 2003/12/09 15:36:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4eIonisationCrossSectionHandler.hh,v 1.5 2003/06/16 16:59:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eIonisationParameters.hh,v 1.7 2003/06/16 16:59:54 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
// V. Ivanchenko
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4eIonisationSpectrum.hh,v 1.6 2003/12/09 15:36:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eLowEnergyLoss.hh,v 1.12 2003/06/16 16:59:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4eLowEnergyLoss.icc,v 1.7 2003/06/16 16:59:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// GEANT 4 class inlined methods file
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4hLowEnergyLoss.hh,v 1.15 2003/04/18 17:50:32 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4hLowEnergyLoss.icc,v 1.2 2001/07/11 10:02:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// $Id:
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicDeexcitation.cc,v 1.11
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
@@ -110,7 +110,7 @@ do
|
||||
return vectorOfParticles;
|
||||
}
|
||||
|
||||
const G4int G4AtomicDeexcitation::SelectTypeOfTransition(G4int Z, G4int shellId)
|
||||
G4int G4AtomicDeexcitation::SelectTypeOfTransition(G4int Z, G4int shellId)
|
||||
{
|
||||
if (shellId <=0 )
|
||||
{G4Exception("G4AtomicDeexcitation: zero or negative shellId");}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicShell.cc,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4AtomicTransitionManager.cc,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
|
||||
|
||||
@@ -109,7 +109,7 @@ const G4DataVector* G4AugerTransition::AugerTransitionProbabilities(G4int startS
|
||||
return dataSet;
|
||||
}
|
||||
|
||||
const G4int G4AugerTransition::FinalShellId() const
|
||||
G4int G4AugerTransition::FinalShellId() const
|
||||
{
|
||||
return finalShellId;
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BremsstrahlungCrossSectionHandler.cc,v 1.8 2003/06/16 17:00:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4BremsstrahlungParameters.cc,v 1.17 2003/06/16 17:00:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
// V.Ivanchenko (Vladimir.Ivantchenko@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4CompositeEMDataSet.cc,v 1.7 2003/06/16 17:00:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4CrossSectionHandler.cc,v 1.16 2003/06/16 17:00:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4EMDataSet.cc,v 1.9 2003/06/16 17:00:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4FluoTransition.cc,v 1.2 ????
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
|
||||
//
|
||||
@@ -63,7 +63,7 @@ const G4DataVector& G4FluoTransition::TransitionProbabilities() const
|
||||
return transitionProbabilities;
|
||||
}
|
||||
|
||||
const G4int G4FluoTransition::FinalShellId() const
|
||||
G4int G4FluoTransition::FinalShellId() const
|
||||
{
|
||||
return finalShellId;
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
// Modifications:
|
||||
// 21 Jun 2003 First implementation acording with new design
|
||||
// 05 Nov 2003 MGP Fixed compilation warning
|
||||
// 14 Mar 2004 Code optimization
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
@@ -52,6 +53,99 @@
|
||||
#include "Randomize.hh"
|
||||
//
|
||||
|
||||
G4double G4Generator2BN::Atab[320] =
|
||||
{ 0.0264767, 0.0260006, 0.0257112, 0.0252475, 0.024792, 0.0243443, 0.0240726, 0.0236367,
|
||||
0.023209, 0.0227892, 0.0225362, 0.0221284, 0.0217282,0.0214894, 0.0211005, 0.0207189,
|
||||
0.0204935, 0.0201227, 0.0197588, 0.019546, 0.0191923,0.0188454, 0.0186445, 0.0183072,
|
||||
0.0179763, 0.0177866, 0.0174649, 0.0172828, 0.0169702,0.0166634, 0.0164915, 0.0161933,
|
||||
0.0160283, 0.0157384, 0.0155801, 0.0152981, 0.0151463,0.0148721, 0.0147263, 0.0144598,
|
||||
0.01432, 0.0140607, 0.0139267, 0.0136744, 0.0135459,0.0133005, 0.0131773, 0.0129385,
|
||||
0.0128205, 0.0125881, 0.012475, 0.0122488, 0.0121406,0.0119204, 0.0118167, 0.0117158,
|
||||
0.0115032, 0.0114067, 0.0111995, 0.0111072, 0.0110175,0.0108173, 0.0107316, 0.0105365,
|
||||
0.0104547, 0.0102646, 0.0101865, 0.010111, 0.00992684,0.0098548,0.00967532,0.00960671,
|
||||
0.00943171,0.00936643,0.00930328,0.0091337, 0.00907372,0.00890831,0.00885141,0.00869003,
|
||||
0.00863611,0.00858428,0.00842757,0.00837854,0.0082256,0.00817931,0.00803,0.00798639,
|
||||
0.00784058,0.00779958,0.00776046,0.00761866,0.00758201,0.00744346,0.00740928,0.00727384,
|
||||
0.00724201,0.00710969,0.00708004,0.00695074,0.00692333,0.00679688,0.00677166,0.00664801,
|
||||
0.00662484,0.00650396,0.00648286,0.00636458,0.00634545,0.00622977,0.00621258,0.00609936,
|
||||
0.00608412,0.00597331,0.00595991,0.00585143,0.00583988,0.0057337,0.0057239,0.00561991,
|
||||
0.0056119, 0.00551005,0.00550377,0.00540399,0.00539938,0.00530162,0.00529872,0.00520292,
|
||||
0.0051091, 0.00510777,0.00501582,0.00501608,0.00492594,0.00492781,0.00483942,0.0048429,
|
||||
0.00475622,0.00476127,0.00467625,0.00468287,0.00459947,0.00451785,0.00452581,0.00444573,
|
||||
0.00445522,0.00437664,0.00438768,0.00431057,0.00432316,0.00424745,0.0042616,0.00418726,
|
||||
0.004203, 0.00413, 0.00405869,0.00407563,0.00400561,0.00402414,0.00395536,0.00397553,
|
||||
0.00390795,0.00392975,0.00386339,0.00379862,0.00382167,0.00375805,0.00378276,0.00372031,
|
||||
0.00374678,0.00368538,0.00371363,0.00365335,0.00359463,0.0036242, 0.00356653,0.003598,
|
||||
0.00354139,0.00357481,0.00351921,0.00355464,0.00350005,0.0034471,0.00348403,0.00343208,
|
||||
0.0034712, 0.00342026,0.00346165,0.00341172,0.00345548,0.00340657,0.00335944,0.00340491,
|
||||
0.00335885,0.00340692,0.00336191,0.00341273,0.00336879,0.00342249,0.00337962,0.00333889,
|
||||
0.00339463,0.00335506,0.00341401,0.00337558,0.00343797,0.00340067,0.00336584,0.00343059,
|
||||
0.0033969, 0.00346557,0.00343302,0.00350594,0.00347448,0.00344563,0.00352163,0.00349383,
|
||||
0.00357485,0.00354807,0.00352395,0.00360885,0.00358571,0.00367661,0.00365446,0.00375194,
|
||||
0.00373078,0.00371234,0.00381532,0.00379787,0.00390882,0.00389241,0.00387881,0.00399675,
|
||||
0.00398425,0.00411183,0.00410042,0.00409197,0.00422843,0.00422123,0.00436974,0.0043637,
|
||||
0.00436082,0.00452075,0.00451934,0.00452125,0.00469406,0.00469756,0.00488741,0.00489221,
|
||||
0.00490102,0.00510782,0.00511801,0.00513271,0.0053589, 0.00537524,0.00562643,0.00564452,
|
||||
0.0056677, 0.00594482,0.00596999,0.0059999, 0.00630758,0.00634014,0.00637849,0.00672136,
|
||||
0.00676236,0.00680914,0.00719407,0.0072439, 0.00730063,0.0077349, 0.00779494,0.00786293,
|
||||
0.00835577,0.0084276, 0.00850759,0.00907162,0.00915592,0.00924925,0.00935226,0.00999779,
|
||||
0.0101059, 0.0102249, 0.0109763, 0.0111003, 0.0112367, 0.0113862, 0.0122637, 0.0124196,
|
||||
0.0125898, 0.0136311, 0.0138081, 0.0140011, 0.0142112, 0.0154536, 0.0156723, 0.0159099,
|
||||
0.016168, 0.0176664, 0.0179339, 0.0182246, 0.0185396, 0.020381, 0.0207026, 0.0210558,
|
||||
0.0214374, 0.0237377, 0.0241275, 0.0245528, 0.0250106, 0.0255038, 0.0284158, 0.0289213,
|
||||
0.0294621, 0.0300526, 0.0338619, 0.0344537, 0.0351108, 0.0358099, 0.036554, 0.0416399
|
||||
};
|
||||
|
||||
G4double G4Generator2BN::ctab[320] =
|
||||
{ 0.482253, 0.482253, 0.489021, 0.489021, 0.489021, 0.489021, 0.495933,
|
||||
0.495933, 0.495933, 0.495933, 0.502993, 0.502993, 0.502993, 0.510204,
|
||||
0.510204, 0.510204, 0.517572, 0.517572, 0.517572, 0.5251, 0.5251,
|
||||
0.5251, 0.532793, 0.532793, 0.532793, 0.540657, 0.540657, 0.548697,
|
||||
0.548697, 0.548697, 0.556917, 0.556917, 0.565323, 0.565323, 0.573921,
|
||||
0.573921, 0.582717, 0.582717, 0.591716, 0.591716, 0.600925, 0.600925,
|
||||
0.610352, 0.610352, 0.620001, 0.620001, 0.629882, 0.629882, 0.64,
|
||||
0.64, 0.650364, 0.650364, 0.660982, 0.660982, 0.671862, 0.683013,
|
||||
0.683013, 0.694444, 0.694444, 0.706165, 0.718184, 0.718184, 0.730514,
|
||||
0.730514, 0.743163, 0.743163, 0.756144, 0.769468, 0.769468, 0.783147,
|
||||
0.783147, 0.797194, 0.797194, 0.811622, 0.826446, 0.826446, 0.84168,
|
||||
0.84168, 0.857339, 0.857339, 0.873439, 0.889996, 0.889996, 0.907029,
|
||||
0.907029, 0.924556, 0.924556, 0.942596, 0.942596, 0.961169, 0.980296,
|
||||
0.980296, 1, 1, 1.0203, 1.0203, 1.04123, 1.04123,
|
||||
1.06281, 1.06281, 1.08507, 1.08507, 1.10803, 1.10803, 1.13173,
|
||||
1.13173, 1.1562, 1.1562, 1.18147, 1.18147, 1.20758, 1.20758,
|
||||
1.23457, 1.23457, 1.26247, 1.26247, 1.29132, 1.29132, 1.32118,
|
||||
1.32118, 1.35208, 1.35208, 1.38408, 1.38408, 1.41723, 1.41723,
|
||||
1.45159, 1.45159, 1.45159, 1.48721, 1.48721, 1.52416, 1.52416,
|
||||
1.5625, 1.5625, 1.60231, 1.60231, 1.64366, 1.64366, 1.68663,
|
||||
1.68663, 1.68663, 1.7313, 1.7313, 1.77778, 1.77778, 1.82615,
|
||||
1.82615, 1.87652, 1.87652, 1.92901, 1.92901, 1.98373, 1.98373,
|
||||
1.98373, 2.04082, 2.04082, 2.1004, 2.1004, 2.16263, 2.16263,
|
||||
2.22767, 2.22767, 2.22767, 2.29568, 2.29568, 2.36686, 2.36686,
|
||||
2.44141, 2.44141, 2.51953, 2.51953, 2.51953, 2.60146, 2.60146,
|
||||
2.68745, 2.68745, 2.77778, 2.77778, 2.87274, 2.87274, 2.87274,
|
||||
2.97265, 2.97265, 3.07787, 3.07787, 3.18878, 3.18878, 3.30579,
|
||||
3.30579, 3.30579, 3.42936, 3.42936, 3.55999, 3.55999, 3.69822,
|
||||
3.69822, 3.84468, 3.84468, 3.84468, 4, 4, 4.16493,
|
||||
4.16493, 4.34028, 4.34028, 4.34028, 4.52694, 4.52694, 4.7259,
|
||||
4.7259, 4.93827, 4.93827, 4.93827, 5.16529, 5.16529, 5.40833,
|
||||
5.40833, 5.40833, 5.66893, 5.66893, 5.94884, 5.94884, 6.25,
|
||||
6.25, 6.25, 6.57462, 6.57462, 6.92521, 6.92521, 6.92521,
|
||||
7.3046, 7.3046, 7.71605, 7.71605, 7.71605, 8.16327, 8.16327,
|
||||
8.65052, 8.65052, 8.65052, 9.18274, 9.18274, 9.18274, 9.76562,
|
||||
9.76562, 10.4058, 10.4058, 10.4058, 11.1111, 11.1111, 11.1111,
|
||||
11.8906, 11.8906, 12.7551, 12.7551, 12.7551, 13.7174, 13.7174,
|
||||
13.7174, 14.7929, 14.7929, 14.7929, 16, 16, 16,
|
||||
17.3611, 17.3611, 17.3611, 18.9036, 18.9036, 18.9036, 20.6612,
|
||||
20.6612, 20.6612, 22.6757, 22.6757, 22.6757, 22.6757, 25,
|
||||
25, 25, 27.7008, 27.7008, 27.7008, 27.7008, 30.8642,
|
||||
30.8642, 30.8642, 34.6021, 34.6021, 34.6021, 34.6021, 39.0625,
|
||||
39.0625, 39.0625, 39.0625, 44.4444, 44.4444, 44.4444, 44.4444,
|
||||
51.0204, 51.0204, 51.0204, 51.0204, 59.1716, 59.1716, 59.1716,
|
||||
59.1716, 59.1716, 69.4444, 69.4444, 69.4444, 69.4444, 82.6446,
|
||||
82.6446, 82.6446, 82.6446, 82.6446, 100
|
||||
};
|
||||
|
||||
|
||||
G4Generator2BN::G4Generator2BN(const G4String& name):G4VBremAngularDistribution(name)
|
||||
{
|
||||
b = 1.2;
|
||||
@@ -66,23 +160,15 @@ G4Generator2BN::G4Generator2BN(const G4String& name):G4VBremAngularDistribution(
|
||||
// Increment Theta value for surface interpolation
|
||||
dtheta = 0.1*rad;
|
||||
|
||||
// Majorant Surface Values
|
||||
Atab = new G4double[320];
|
||||
ctab = new G4double[320];
|
||||
|
||||
// Construct Majorant Surface to 2BN cross-section
|
||||
ConstructMajorantSurface();
|
||||
// (we dont need this. Pre-calculated values are used instead due to performance issues
|
||||
// ConstructMajorantSurface();
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
G4Generator2BN::~G4Generator2BN()
|
||||
{
|
||||
|
||||
delete[] Atab;
|
||||
delete[] ctab;
|
||||
|
||||
}
|
||||
{;}
|
||||
|
||||
//
|
||||
|
||||
@@ -116,7 +202,7 @@ G4double G4Generator2BN::Calculatedsdkdt(G4double kout, G4double theta, G4double
|
||||
// classic radius (in cm)
|
||||
G4double r0 = 2.82E-13;
|
||||
//squared classic radius (in barn)
|
||||
G4double r02 = pow(r0,2)*1.0E+24;
|
||||
G4double r02 = r0*r0*1.0E+24;
|
||||
|
||||
// Photon energy cannot be greater than electron kinetic energy
|
||||
if(kout > (Eel-electron_mass_c2)){
|
||||
@@ -133,29 +219,42 @@ G4double G4Generator2BN::Calculatedsdkdt(G4double kout, G4double theta, G4double
|
||||
return dsdkdt_value;
|
||||
}
|
||||
|
||||
|
||||
G4double p0 = sqrt(E0*E0-1);
|
||||
G4double p = sqrt(E*E-1);
|
||||
G4double L = log((E*E0-1+p*p0)/(E*E0-1-p*p0));
|
||||
G4double delta0 = E0 - p0*cos(theta);
|
||||
G4double epsilon = log((E+p)/(E-p));
|
||||
G4double Q = sqrt(pow(p0,2)+pow(k,2)-2*k*p0*cos(theta));
|
||||
G4double Z2 = Z*Z;
|
||||
G4double sintheta2 = sin(theta)*sin(theta);
|
||||
G4double E02 = E0*E0;
|
||||
G4double E2 = E*E;
|
||||
G4double p02 = E0*E0-1;
|
||||
G4double k2 = k*k;
|
||||
G4double delta02 = delta0*delta0;
|
||||
G4double delta04 = delta02* delta02;
|
||||
G4double Q = sqrt(p02+k2-2*k*p0*cos(theta));
|
||||
G4double Q2 = Q*Q;
|
||||
G4double epsilonQ = log((Q+p)/(Q-p));
|
||||
|
||||
dsdkdt_value = pow(Z,2) * (r02/(8*M_PI*137)) * (1/k) * (p/p0) *
|
||||
( (8 * (pow(sin (theta),2)*(2*pow(E0,2)+1))/(pow(p0,2)*pow(delta0,4))) -
|
||||
((2*(5*pow(E0,2)+2*E*E0+3))/(pow(p0,2) * pow(delta0,2))) -
|
||||
((2*(pow(p0,2)-pow(k,2)))/((pow(Q,2)*pow(delta0,2)))) +
|
||||
((4*E)/(pow(p0,2)*delta0)) +
|
||||
(L/(p*p0))*(
|
||||
((4*E0*pow(sin(theta),2)*(3*k-pow(p0,2)*E))/(pow(p0,2)*pow(delta0,4))) +
|
||||
((4*pow(E0,2)*(pow(E0,2)+pow(E,2)))/(pow(p0,2)*pow(delta0,2))) +
|
||||
((2-2*(7*pow(E0,2)-3*E*E0+pow(E,2)))/(pow(p0,2)*pow(delta0,2))) +
|
||||
(2*k*(pow(E0,2)+E*E0-1))/((pow(p0,2)*delta0))
|
||||
) -
|
||||
|
||||
dsdkdt_value = Z2 * (r02/(8*M_PI*137)) * (1/k) * (p/p0) *
|
||||
( (8 * (sintheta2*(2*E02+1))/(p02*delta04)) -
|
||||
((2*(5*E02+2*E*E0+3))/(p02 * delta02)) -
|
||||
((2*(p02-k2))/((Q2*delta02))) +
|
||||
((4*E)/(p02*delta0)) +
|
||||
(L/(p*p0))*(
|
||||
((4*E0*sintheta2*(3*k-p02*E))/(p02*delta04)) +
|
||||
((4*E02*(E02+E2))/(p02*delta02)) +
|
||||
((2-2*(7*E02-3*E*E0+E2))/(p02*delta02)) +
|
||||
(2*k*(E02+E*E0-1))/((p02*delta0))
|
||||
) -
|
||||
((4*epsilon)/(p*delta0)) +
|
||||
((epsilonQ)/(p*Q))*
|
||||
(4/pow(delta0,2)-(6*k/delta0)-(2*k*(pow(p0,2)-pow(k,2)))/(pow(Q,2)*delta0))
|
||||
);
|
||||
(4/delta02-(6*k/delta0)-(2*k*(p02-k2))/(Q2*delta0))
|
||||
);
|
||||
|
||||
|
||||
|
||||
dsdkdt_value = dsdkdt_value*sin(theta);
|
||||
return dsdkdt_value;
|
||||
@@ -205,7 +304,7 @@ void G4Generator2BN::ConstructMajorantSurface()
|
||||
c = 0;
|
||||
A = 0;
|
||||
}else{
|
||||
c = 1/pow(thetamax,2);
|
||||
c = 1/(thetamax*thetamax);
|
||||
A = 2*sqrt(c)*dsmax/(pow(kmin,-b));
|
||||
}
|
||||
|
||||
@@ -266,7 +365,8 @@ G4double G4Generator2BN::Generate2BN(G4double Ek, G4double k) const
|
||||
G4double A2;
|
||||
G4double A, c;
|
||||
|
||||
G4int trials, index;
|
||||
G4int trials = 0;
|
||||
G4int index;
|
||||
|
||||
// find table index
|
||||
index = G4int(log10(Ek)*100) - index_min;
|
||||
@@ -293,7 +393,7 @@ G4double G4Generator2BN::Generate2BN(G4double Ek, G4double k) const
|
||||
|
||||
// generate theta accordimg to theta/(1+c*pow(theta,2)
|
||||
// Normalization constant
|
||||
cte2 = 2*c/log(1+c*pow(M_PI,2));
|
||||
cte2 = 2*c/log(1+c*M_PI*M_PI);
|
||||
|
||||
y = G4UniformRand();
|
||||
t = sqrt((exp(2*c*y/cte2)-1)/c);
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LinInterpolation.cc,v 1.2 2002/05/28 09:20:19 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LogLogInterpolation.cc,v 1.5 2003/06/25 14:24:12 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
//
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEnergyBremsstrahlung.cc,v 1.66 2003/11/06 12:53:04 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4LowEnergyBremsstrahlung.cc,v 1.68 2004/01/08 17:04:52 silvarod Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
@@ -85,8 +85,10 @@ G4LowEnergyBremsstrahlung::G4LowEnergyBremsstrahlung(const G4String& nam)
|
||||
{
|
||||
cutForPhotons = 0.;
|
||||
verboseLevel = 0;
|
||||
generatorName = "tsai";
|
||||
angularDistribution = new G4ModifiedTsai("TsaiGenerator"); // default generator
|
||||
angularDistribution->PrintGeneratorInformation();
|
||||
// angularDistribution->PrintGeneratorInformation();
|
||||
TsaiAngularDistribution = new G4ModifiedTsai("TsaiGenerator");
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -101,6 +103,8 @@ G4LowEnergyBremsstrahlung::G4LowEnergyBremsstrahlung(const G4String& nam, G4VBre
|
||||
verboseLevel = 0;
|
||||
|
||||
angularDistribution->PrintGeneratorInformation();
|
||||
|
||||
TsaiAngularDistribution = new G4ModifiedTsai("TsaiGenerator");
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -110,6 +114,7 @@ G4LowEnergyBremsstrahlung::~G4LowEnergyBremsstrahlung()
|
||||
if(energySpectrum) delete energySpectrum;
|
||||
if(theMeanFreePath) delete theMeanFreePath;
|
||||
delete angularDistribution;
|
||||
delete TsaiAngularDistribution;
|
||||
energyBins.clear();
|
||||
}
|
||||
|
||||
@@ -308,7 +313,13 @@ G4VParticleChange* G4LowEnergyBremsstrahlung::PostStepDoIt(const G4Track& track,
|
||||
G4double tGamma = energySpectrum->SampleEnergy(Z, tCut, kineticEnergy, kineticEnergy);
|
||||
G4double totalEnergy = kineticEnergy + electron_mass_c2;
|
||||
G4double finalEnergy = kineticEnergy - tGamma; // electron/positron final energy
|
||||
G4double theta = angularDistribution->PolarAngle(kineticEnergy,finalEnergy,Z);
|
||||
G4double theta = 0;
|
||||
|
||||
if((kineticEnergy < 1*MeV && kineticEnergy > 1*keV && generatorName == "2bn")){
|
||||
theta = angularDistribution->PolarAngle(kineticEnergy,finalEnergy,Z);
|
||||
}else{
|
||||
theta = TsaiAngularDistribution->PolarAngle(kineticEnergy,finalEnergy,Z);
|
||||
}
|
||||
|
||||
G4double phi = twopi * G4UniformRand();
|
||||
G4double dirZ = cos(theta);
|
||||
@@ -396,16 +407,19 @@ void G4LowEnergyBremsstrahlung::SetAngularGenerator(const G4String& name)
|
||||
{
|
||||
delete angularDistribution;
|
||||
angularDistribution = new G4ModifiedTsai("TsaiGenerator");
|
||||
generatorName = name;
|
||||
}
|
||||
else if (name == "2bn")
|
||||
{
|
||||
delete angularDistribution;
|
||||
angularDistribution = new G4Generator2BN("2BNGenerator");
|
||||
generatorName = name;
|
||||
}
|
||||
else if (name == "2bs")
|
||||
{
|
||||
delete angularDistribution;
|
||||
angularDistribution = new G4Generator2BS("2BSGenerator");
|
||||
generatorName = name;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEnergyCompton.cc,v 1.37 2003/05/20 20:16:13 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// --------------------------------------------------------------------
|
||||
///
|
||||
// $Id: G4LowEnergyGammaConversion.cc,v 1.32 2003/06/16 17:00:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LowEnergyIonisation.cc,v 1.95 2003/06/16 17:00:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyPhotoElectric.cc,v 1.51 2003/06/16 17:00:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4LowEnergyPolarizedCompton.cc,v 1.17 2003/11/18 16:39:21 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class implementation file
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// --------------------------------------------------------------------
|
||||
//
|
||||
// $Id: G4LowEnergyRayleigh.cc,v 1.33 2003/05/20 20:16:13 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Author: A. Forti
|
||||
// Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
// History:
|
||||
// --------
|
||||
// 02 Jul 2003 L.Pandola First implementation
|
||||
// 16 Mar 2004 L.Pandola Removed unnecessary calls to pow(a,b)
|
||||
|
||||
#include "G4PenelopeAnnihilation.hh"
|
||||
#include "Randomize.hh"
|
||||
@@ -126,10 +127,10 @@ G4double G4PenelopeAnnihilation::calculateCrossSectionPerElectron
|
||||
//Heitler dcs formula for annihilation with free electrons at rest
|
||||
G4double crossSection=0.0;
|
||||
G4double gamma = 1.0+std::max(ene,1.0*eV)/electron_mass_c2;
|
||||
G4double gamma2 = pow(gamma,2);
|
||||
G4double gamma2 = gamma*gamma;
|
||||
G4double f2 = gamma2-1.0;
|
||||
G4double f1 = sqrt(f2);
|
||||
G4double pielr2 = pi*pow(classic_electr_radius,2);
|
||||
G4double pielr2 = pi*classic_electr_radius*classic_electr_radius;
|
||||
crossSection = pielr2*((gamma2+4.0*gamma+1.0)*log(gamma+f1)/f2
|
||||
- (gamma+3.0)/f1)/(gamma+1.0);
|
||||
return crossSection;
|
||||
@@ -157,7 +158,7 @@ G4VParticleChange* G4PenelopeAnnihilation::PostStepDoIt(const G4Track& aTrack,
|
||||
G4double ani = 1.0+gamma;
|
||||
G4double chimin = 1.0/(ani+gamma21);
|
||||
G4double rchi = (1.0-chimin)/chimin;
|
||||
G4double gt0 = pow(ani,2)-2.0;
|
||||
G4double gt0 = ani*ani-2.0;
|
||||
G4double epsilon=0.0, reject=0.0, test=0.0;
|
||||
do{
|
||||
epsilon = chimin*pow(rchi,G4UniformRand());
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PenelopeBremsstrahlung.cc,v 1.14 2003/11/18 17:29:43 pia Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PenelopeBremsstrahlungAngular.cc,v 1.5 2003/11/07 12:25:35 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
|
||||
+7
-8
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PenelopeBremsstrahlungContinuous.cc,v 1.5 2003/06/16 17:00:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4PenelopeBremsstrahlungContinuous.cc,v 1.6 2004/03/17 08:57:26 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
//
|
||||
@@ -35,6 +35,7 @@
|
||||
// 20 Feb 2003 L. Pandola 1st implementation
|
||||
// 17 Mar 2003 L. Pandola Added the correction for positrons
|
||||
// 19 Mar 2003 L. Pandola Bugs fixed
|
||||
// 17 Mar 2004 L. Pandola Removed unnecessary calls to pow(a,b)
|
||||
//----------------------------------------------------------------
|
||||
|
||||
#include "G4PenelopeBremsstrahlungContinuous.hh"
|
||||
@@ -135,7 +136,7 @@ void G4PenelopeBremsstrahlungContinuous::PrepareInterpolationTable()
|
||||
|
||||
delete interpolator;
|
||||
G4double Fact = (millibarn/cm2)*(Energies[i]+electron_mass_c2)*(1.0/fine_structure_const)/
|
||||
(pow(classic_electr_radius,2)*(Energies[i]+2.0*electron_mass_c2));
|
||||
(classic_electr_radius*classic_electr_radius*(Energies[i]+2.0*electron_mass_c2));
|
||||
G4double Normalization = TotalCS[i]/(Rsum*Fact);
|
||||
G4double TST = abs(Normalization-100.0);
|
||||
if (TST > 1.0) {
|
||||
@@ -209,10 +210,8 @@ G4double G4PenelopeBremsstrahlungContinuous::CalculateStopping(G4double e1)
|
||||
G4double Xek = Xe-Ke;
|
||||
|
||||
//Global x-section factor
|
||||
G4double Fact=pow((G4double) Zmat,2)*(pow(e1+electron_mass_c2,2)/(e1*(e1+2.0*electron_mass_c2)))
|
||||
*(millibarn/cm2);
|
||||
//G4cout << "Particella: " << partName << ";Z: " << Zmat << ";Energia: " << e1 << "; fattore di correzione: "
|
||||
// << PositronCorrection(e1) << G4endl;
|
||||
G4double Fact=Zmat*Zmat*(e1+electron_mass_c2)*(e1+electron_mass_c2)/(e1*(e1+2.0*electron_mass_c2))
|
||||
*(millibarn/cm2);
|
||||
Fact=Fact*PositronCorrection(e1);
|
||||
|
||||
//Moments of the scaled bremss x-section
|
||||
@@ -263,7 +262,7 @@ G4double G4PenelopeBremsstrahlungContinuous::PositronCorrection(G4double en)
|
||||
return 1.0; //no correction for electrons
|
||||
}
|
||||
else if (partName == "e+"){
|
||||
T=log(1+((1e6*en)/(pow( (G4double) Zmat,2)*electron_mass_c2)));
|
||||
T=log(1+((1e6*en)/(Zmat*Zmat*electron_mass_c2)));
|
||||
for (G4int i=0;i<7;i++){
|
||||
correct += Coeff[i]*pow(T,i+1);
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PenelopeCompton.cc,v 1.16 2003/06/16 17:00:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00 $
|
||||
// $Id: G4PenelopeCompton.cc,v 1.19 2004/03/23 12:44:22 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-01 $
|
||||
//
|
||||
// Author: Luciano Pandola
|
||||
//
|
||||
@@ -37,6 +37,9 @@
|
||||
// 20 Mar 2003 L.Pandola ReadData() changed (performance improved)
|
||||
// 26 Mar 2003 L.Pandola Added fluorescence
|
||||
// 24 May 2003 MGP Removed memory leak
|
||||
// 09 Mar 2004 L.Pandola Bug fixed in the generation of final state
|
||||
// (bug report # 585)
|
||||
// 17 Mar 2004 L.Pandola Removed unnecessary calls to pow(a,b)
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
@@ -108,11 +111,17 @@ G4PenelopeCompton::~G4PenelopeCompton()
|
||||
{
|
||||
delete meanFreePathTable;
|
||||
delete rangeTest;
|
||||
|
||||
for (size_t i1=0;i1<matCrossSections->size();i1++)
|
||||
{
|
||||
delete (*matCrossSections)[i1];
|
||||
}
|
||||
|
||||
delete matCrossSections;
|
||||
|
||||
for (size_t i=0; i<ionizationEnergy->size(); i++)
|
||||
for (size_t i2=0; i2<ionizationEnergy->size(); i2++)
|
||||
{
|
||||
delete (*ionizationEnergy)[i];
|
||||
delete (*ionizationEnergy)[i2];
|
||||
}
|
||||
delete ionizationEnergy;
|
||||
|
||||
@@ -186,6 +195,8 @@ void G4PenelopeCompton::BuildPhysicsTable(const G4ParticleDefinition& )
|
||||
matCrossSections->push_back(setForMat);
|
||||
}
|
||||
|
||||
|
||||
//Build the mean free path table!
|
||||
G4double matCS = 0.0;
|
||||
G4VEMDataSet* matCrossSet = new G4CompositeEMDataSet(algo,1.,1.);
|
||||
G4VEMDataSet* materialSet = new G4CompositeEMDataSet(algo,1.,1.);
|
||||
@@ -311,14 +322,14 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const;
|
||||
occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i];
|
||||
pzomc = harFunc*(aux-electron_mass_c2*ionEnergy)/
|
||||
(electron_mass_c2*sqrt(2.0*aux+pow(ionEnergy,2)));
|
||||
(electron_mass_c2*sqrt(2.0*aux+ionEnergy*ionEnergy));
|
||||
if (pzomc > 0)
|
||||
{
|
||||
rni = 1.0-0.5*exp(0.5-pow(sqrt(0.5)+sqrt(2.0)*pzomc,2));
|
||||
rni = 1.0-0.5*exp(0.5-(sqrt(0.5)+sqrt(2.0)*pzomc)*(sqrt(0.5)+sqrt(2.0)*pzomc));
|
||||
}
|
||||
else
|
||||
{
|
||||
rni = 0.5*exp(0.5-pow(sqrt(0.5)-sqrt(2.0)*pzomc,2));
|
||||
rni = 0.5*exp(0.5-(sqrt(0.5)-sqrt(2.0)*pzomc)*(sqrt(0.5)-sqrt(2.0)*pzomc));
|
||||
}
|
||||
s0 = s0 + occupNb*rni;
|
||||
}
|
||||
@@ -347,14 +358,14 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const;
|
||||
occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i];
|
||||
pzomc = harFunc*(aux-electron_mass_c2*ionEnergy)/
|
||||
(electron_mass_c2*sqrt(2.0*aux+pow(ionEnergy,2)));
|
||||
(electron_mass_c2*sqrt(2.0*aux+ionEnergy*ionEnergy));
|
||||
if (pzomc > 0)
|
||||
{
|
||||
rn[i] = 1.0-0.5*exp(0.5-pow(sqrt(0.5)+sqrt(2.0)*pzomc,2));
|
||||
rn[i] = 1.0-0.5*exp(0.5-(sqrt(0.5)+sqrt(2.0)*pzomc)*(sqrt(0.5)+sqrt(2.0)*pzomc));
|
||||
}
|
||||
else
|
||||
{
|
||||
rn[i] = 0.5*exp(0.5-pow(sqrt(0.5)-sqrt(2.0)*pzomc,2));
|
||||
rn[i] = 0.5*exp(0.5-(sqrt(0.5)-sqrt(2.0)*pzomc)*(sqrt(0.5)-sqrt(2.0)*pzomc));
|
||||
}
|
||||
S = S + occupNb*rn[i];
|
||||
pac[i] = S;
|
||||
@@ -409,7 +420,7 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
}while ((fpzmax*G4UniformRand())>fpz);
|
||||
|
||||
//Energy of the scattered photon
|
||||
G4double T = pow(pzomc,2);
|
||||
G4double T = pzomc*pzomc;
|
||||
G4double b1 = 1.0-T*tau*tau;
|
||||
G4double b2 = 1.0-T*tau*cosTheta;
|
||||
if (pzomc > 0.0)
|
||||
@@ -423,7 +434,7 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
}
|
||||
|
||||
|
||||
G4double sinTheta = sqrt(1-pow(cosTheta,2));
|
||||
G4double sinTheta = sqrt(1-cosTheta*cosTheta);
|
||||
G4double phi = twopi * G4UniformRand() ;
|
||||
G4double dirx = sinTheta * cos(phi);
|
||||
G4double diry = sinTheta * sin(phi);
|
||||
@@ -453,7 +464,7 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
G4double diffEnergy = photonEnergy0*(1-epsilon);
|
||||
ionEnergy = (*((*ionizationEnergy)[Z-1]))[iosc];
|
||||
//G4double eKineticEnergy = diffEnergy - ionEnergy;
|
||||
G4double Q2 = pow(photonEnergy0,2)+photonEnergy1*(photonEnergy1-2.0*photonEnergy0*cosTheta);
|
||||
G4double Q2 = photonEnergy0*photonEnergy0+photonEnergy1*(photonEnergy1-2.0*photonEnergy0*cosTheta);
|
||||
G4double cosThetaE; //scattering angle for the electron
|
||||
if (Q2 > 1.0e-12)
|
||||
{
|
||||
@@ -463,7 +474,7 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
{
|
||||
cosThetaE = 1.0;
|
||||
}
|
||||
G4double sinThetaE = sqrt(1-pow(cosThetaE,2));
|
||||
G4double sinThetaE = sqrt(1-cosThetaE*cosThetaE);
|
||||
|
||||
|
||||
|
||||
@@ -527,7 +538,7 @@ G4VParticleChange* G4PenelopeCompton::PostStepDoIt(const G4Track& aTrack,
|
||||
G4double yEl = sinThetaE * sin(phi+pi);
|
||||
G4double zEl = cosThetaE;
|
||||
G4ThreeVector eDirection(xEl,yEl,zEl); //electron direction
|
||||
|
||||
eDirection.rotateUz(photonDirection0);
|
||||
electron = new G4DynamicParticle (G4Electron::Electron(),
|
||||
eDirection,eKineticEnergy) ;
|
||||
nbOfSecondaries++;
|
||||
@@ -693,23 +704,23 @@ G4double G4PenelopeCompton::DifferentialCrossSection(G4double cosTheta)
|
||||
if (energy > ionEnergy)
|
||||
{
|
||||
G4double aux = energy * (energy-ionEnergy)*cdt1;
|
||||
Pzimax = (aux - electron_mass_c2*ionEnergy)/(electron_mass_c2*sqrt(2*aux+pow(ionEnergy,2)));
|
||||
Pzimax = (aux - electron_mass_c2*ionEnergy)/(electron_mass_c2*sqrt(2*aux+ionEnergy*ionEnergy));
|
||||
harFunc = (*((*hartreeFunction)[Z-1]))[i]/fine_structure_const;
|
||||
occupNb = (G4int) (*((*occupationNumber)[Z-1]))[i];
|
||||
x = harFunc*Pzimax;
|
||||
if (x > 0)
|
||||
{
|
||||
siap = 1.0-0.5*exp(k12-pow((k1+k2*x),2));
|
||||
siap = 1.0-0.5*exp(k12-(k1+k2*x)*(k1+k2*x));
|
||||
}
|
||||
else
|
||||
{
|
||||
siap = 0.5*exp(k12-pow((k1-k2*x),2));
|
||||
siap = 0.5*exp(k12-(k1-k2*x)*(k1-k2*x));
|
||||
}
|
||||
sia = sia + occupNb*siap; //sum of all contributions;
|
||||
}
|
||||
}
|
||||
XKN = EOEC+ECOE-1+cosTheta*cosTheta;
|
||||
diffCS = pi*pow(classic_electr_radius,2)*pow(ECOE,2)*XKN*sia;
|
||||
diffCS = pi*classic_electr_radius*classic_electr_radius*ECOE*ECOE*XKN*sia;
|
||||
return diffCS;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user