Import Geant4 6.2.0 source tree
This commit is contained in:
+77
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 Class file
|
||||
//
|
||||
//
|
||||
// File name: G4PhotoElectricAngularGenerator462
|
||||
//
|
||||
// Author: Andreia Trindade (andreia@lip.pt)
|
||||
//
|
||||
// Creation date: 10 May 2004
|
||||
//
|
||||
// Modifications:
|
||||
// 10 May 2003 A. Trindade First implementation acording with new design
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Abstract class for PhotoElectricsstrahlung Angular Generator462 Generation
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4PhotoElectricAngularGenerator462_h
|
||||
#define G4PhotoElectricAngularGenerator462_h 1
|
||||
|
||||
#include "G4VPhotoElectricAngularDistribution.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4PhotoElectricAngularGenerator462 : public G4VPhotoElectricAngularDistribution
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4PhotoElectricAngularGenerator462(const G4String& name);
|
||||
|
||||
~G4PhotoElectricAngularGenerator462();
|
||||
|
||||
G4ThreeVector GetPhotoElectronDirection(G4ThreeVector direction, G4double kineticEnergy);
|
||||
|
||||
void PrintGeneratorInformation() const;
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4PhotoElectricAngularGenerator462 & operator=(const G4PhotoElectricAngularGenerator462 &right);
|
||||
G4PhotoElectricAngularGenerator462(const G4PhotoElectricAngularGenerator462&);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 Class file
|
||||
//
|
||||
//
|
||||
// File name: G4PhotoElectricAngularGeneratorStandard
|
||||
//
|
||||
// Creation date: 10 May 2004
|
||||
//
|
||||
// Modifications:
|
||||
// 10 May 2003 P. Rodrigues First implementation acording with new design
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Concrete class for PhotoElectric Electron Angular Distribution Generation
|
||||
// This model is a re-implementation of the Photolectric angular distribution
|
||||
// developed my M. Maire for the Standard EM Physics G4PhotoElectricEffect
|
||||
//
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4PhotoElectricAngularGeneratorStandard_h
|
||||
#define G4PhotoElectricAngularGeneratorStandard_h 1
|
||||
|
||||
#include "G4VPhotoElectricAngularDistribution.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4PhotoElectricAngularGeneratorStandard : public G4VPhotoElectricAngularDistribution
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4PhotoElectricAngularGeneratorStandard(const G4String& name);
|
||||
|
||||
~G4PhotoElectricAngularGeneratorStandard();
|
||||
|
||||
G4ThreeVector GetPhotoElectronDirection(G4ThreeVector direction, G4double kineticEnergy);
|
||||
|
||||
void PrintGeneratorInformation() const;
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4PhotoElectricAngularGeneratorStandard & operator=(const G4PhotoElectricAngularGeneratorStandard &right);
|
||||
G4PhotoElectricAngularGeneratorStandard(const G4PhotoElectricAngularGeneratorStandard&);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 Class file
|
||||
//
|
||||
//
|
||||
// File name: G4VPhotoElectricAngularDistribution
|
||||
//
|
||||
// Author: Pedro Rodrigues (psilva@lip.pt)
|
||||
// Andreia Trindade (andreia@lip.pt)
|
||||
//
|
||||
// Creation date: 10 May 2004
|
||||
//
|
||||
// Modifications:
|
||||
// 10 May 2004 A. Trindade First implementation acording with new design
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
// Abstract class for PhotoElectricsstrahlung Angular Distribution Generation
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4VPhotoElectricAngularDistribution_h
|
||||
#define G4VPhotoElectricAngularDistribution_h 1
|
||||
|
||||
#include "G4ios.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4VPhotoElectricAngularDistribution
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4VPhotoElectricAngularDistribution(const G4String& name);
|
||||
|
||||
virtual ~G4VPhotoElectricAngularDistribution();
|
||||
|
||||
virtual G4ThreeVector GetPhotoElectronDirection(G4ThreeVector direction, G4double kineticEnergy) = 0;
|
||||
|
||||
virtual void PrintGeneratorInformation() const = 0;
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
// hide assignment operator
|
||||
G4VPhotoElectricAngularDistribution & operator=(const G4VPhotoElectricAngularDistribution &right);
|
||||
G4VPhotoElectricAngularDistribution(const G4VPhotoElectricAngularDistribution&);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -64,12 +64,20 @@ public:
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual std::vector<G4double> Probabilities(G4int Z,
|
||||
virtual std::vector<G4double> GetCrossSection(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const = 0;
|
||||
G4double deltaEnergy,
|
||||
G4bool testFlag = false) const =0;
|
||||
|
||||
//protected:
|
||||
|
||||
virtual std::vector<G4double> Probabilities(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const = 0;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Hide copy constructor and assignment operator
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
#include "G4IonYangFluctuationModel.hh"
|
||||
#include "G4AtomicDeexcitation.hh"
|
||||
#include "G4MaterialCutsCouple.hh"
|
||||
#include <map>
|
||||
|
||||
class G4VEMDataSet;
|
||||
class G4ShellVacancy;
|
||||
@@ -272,6 +273,7 @@ private:
|
||||
G4VLowEnergyModel* theNuclearStoppingModel;
|
||||
G4VLowEnergyModel* theIonChuFluctuationModel;
|
||||
G4VLowEnergyModel* theIonYangFluctuationModel;
|
||||
std::map<G4int,G4double,std::less<G4int> > totalCrossSectionMap;
|
||||
|
||||
// name of parametrisation table of electron stopping power
|
||||
G4String theProtonTable;
|
||||
@@ -307,7 +309,7 @@ private:
|
||||
G4VhShellCrossSection* shellCS;
|
||||
std::vector<G4VEMDataSet*> zFluoDataVector;
|
||||
G4bool theFluo;
|
||||
|
||||
G4bool expFlag;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
// 23 Oct 2001 A. Mantero 1st implementation
|
||||
// 24 Oct 2001 MGP Cleaned up
|
||||
// 29 Oct 2001 VI Add delta energy
|
||||
//
|
||||
// 22 Apr 2004 S.Saliceti Add GetCrossSection method
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
// Class Description:
|
||||
@@ -56,12 +56,18 @@ public:
|
||||
|
||||
virtual ~G4hShellCrossSection();
|
||||
|
||||
virtual std::vector<G4double> GetCrossSection(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy,
|
||||
G4bool testFlag = false) const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual std::vector<G4double> Probabilities(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const;
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 Class file
|
||||
//
|
||||
//
|
||||
// File name: G4hShellCrossSectionExp
|
||||
//
|
||||
// Author: Simona Saliceti (simona.saliceti@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// From 23 Oct 2001 A. Mantero G4hShellCrossSection
|
||||
// 30/03/2004 Simona Saliceti 1st implementation
|
||||
// -------------------------------------------------------------------
|
||||
// Class Description:
|
||||
// Empiric Model for shell cross sections in proton ionisation
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4hShellCrossSectionExp.hh,v 1.1 2004/04/27 09:45:48 saliceti Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
|
||||
#ifndef G4HSHELLCROSSSECTIONEXP_HH
|
||||
#define G4HSHELLCROSSSECTIONEXP_HH 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VhShellCrossSection.hh"
|
||||
#include "G4hShellCrossSectionExpData.hh"
|
||||
|
||||
class G4hShellCrossSectionExp : public G4VhShellCrossSection
|
||||
{
|
||||
public:
|
||||
|
||||
G4hShellCrossSectionExp();
|
||||
|
||||
virtual ~G4hShellCrossSectionExp();
|
||||
|
||||
virtual std::vector<G4double> GetCrossSection(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy,
|
||||
G4bool testFlag = false) const;
|
||||
|
||||
void SetTotalCS(G4double);
|
||||
|
||||
protected:
|
||||
|
||||
virtual std::vector<G4double> Probabilities(G4int Z,
|
||||
G4double incidentEnergy,
|
||||
G4double mass,
|
||||
G4double deltaEnergy) const;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
G4double GetCrossSectionExp(G4int Z,
|
||||
G4double incidentEnergy) const;
|
||||
|
||||
// Hide copy constructor and assignment operator
|
||||
G4hShellCrossSectionExp(const G4hShellCrossSectionExp&);
|
||||
G4hShellCrossSectionExp & operator = (const G4hShellCrossSectionExp &right);
|
||||
G4hShellCrossSectionExpData* kShellData;
|
||||
|
||||
G4double atomTotalCrossSection;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,154 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// Author: Simona Saliceti (Simona.Saliceti@ge.infn.it)
|
||||
//
|
||||
// History:
|
||||
// -----------
|
||||
// 22 Apr 2004 First committed to cvs
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
// Class description:
|
||||
// Low Energy Electromagnetic Physics
|
||||
// Fluorescence data set: shell identifiers, transition probabilities,
|
||||
// transition energies
|
||||
// Further documentation available from http://www.ge.infn.it/geant4/lowE
|
||||
// -------------------------------------------------------------------
|
||||
// $Id: G4hShellCrossSectionExpData.hh,v 1.1 2004/04/27 09:45:48 saliceti Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
|
||||
#ifndef G4hShellCrossSectionExpData_HH
|
||||
#define G4hShellCrossSectionExpData_HH 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
class G4hShellCrossSectionExpData
|
||||
{
|
||||
public:
|
||||
|
||||
G4hShellCrossSectionExpData();
|
||||
|
||||
~G4hShellCrossSectionExpData();
|
||||
|
||||
std::vector<G4double>* GetParam(G4int);
|
||||
|
||||
private:
|
||||
|
||||
void FillVectorValues();
|
||||
void FillParameterMap();
|
||||
|
||||
inline void InitializeVector(std::vector<G4double> &vect, G4double value1, G4double value2, G4double value3) const;
|
||||
|
||||
std::map<G4int,std::vector<G4double>*,std::less<G4int> > parameterMap;
|
||||
|
||||
std::vector<G4double> parameter6C;
|
||||
std::vector<G4double> parameter7N ;
|
||||
std::vector<G4double> parameter8O ;
|
||||
std::vector<G4double> parameter9F ;
|
||||
std::vector<G4double> parameter10Ne;
|
||||
std::vector<G4double> parameter11Na;
|
||||
std::vector<G4double> parameter12Mg;
|
||||
std::vector<G4double> parameter13Al;
|
||||
std::vector<G4double> parameter14Si;
|
||||
std::vector<G4double> parameter15P ;
|
||||
std::vector<G4double> parameter16S ;
|
||||
std::vector<G4double> parameter17Cl;
|
||||
std::vector<G4double> parameter18Ar;
|
||||
std::vector<G4double> parameter19K ;
|
||||
std::vector<G4double> parameter20Ca;
|
||||
std::vector<G4double> parameter21Sc;
|
||||
std::vector<G4double> parameter22Ti;
|
||||
std::vector<G4double> parameter23V ;
|
||||
std::vector<G4double> parameter24Cr;
|
||||
std::vector<G4double> parameter25Mn;
|
||||
std::vector<G4double> parameter26Fe;
|
||||
std::vector<G4double> parameter27Co;
|
||||
std::vector<G4double> parameter28Ni;
|
||||
std::vector<G4double> parameter29Cu;
|
||||
std::vector<G4double> parameter30Zn;
|
||||
std::vector<G4double> parameter31Ga;
|
||||
std::vector<G4double> parameter32Ge;
|
||||
std::vector<G4double> parameter33As;
|
||||
std::vector<G4double> parameter34Se;
|
||||
std::vector<G4double> parameter35Br;
|
||||
std::vector<G4double> parameter36Kr;
|
||||
std::vector<G4double> parameter37Rb;
|
||||
std::vector<G4double> parameter38Sr;
|
||||
std::vector<G4double> parameter39Y ;
|
||||
std::vector<G4double> parameter40Zr;
|
||||
std::vector<G4double> parameter41Nb;
|
||||
std::vector<G4double> parameter42Mo;
|
||||
std::vector<G4double> parameter43Tc;
|
||||
std::vector<G4double> parameter44Ru;
|
||||
std::vector<G4double> parameter45Rh;
|
||||
std::vector<G4double> parameter46Pd;
|
||||
std::vector<G4double> parameter47Ag;
|
||||
std::vector<G4double> parameter48Cd;
|
||||
std::vector<G4double> parameter49In;
|
||||
std::vector<G4double> parameter50Sn;
|
||||
std::vector<G4double> parameter51Sb;
|
||||
std::vector<G4double> parameter52Te;
|
||||
std::vector<G4double> parameter53I ;
|
||||
std::vector<G4double> parameter54Xe;
|
||||
std::vector<G4double> parameter55Cs;
|
||||
std::vector<G4double> parameter56Ba;
|
||||
std::vector<G4double> parameter57La;
|
||||
std::vector<G4double> parameter58Ce;
|
||||
std::vector<G4double> parameter59Pr;
|
||||
std::vector<G4double> parameter60Nd;
|
||||
std::vector<G4double> parameter61Pm;
|
||||
std::vector<G4double> parameter62Sm;
|
||||
std::vector<G4double> parameter63Eu;
|
||||
std::vector<G4double> parameter64Gd;
|
||||
std::vector<G4double> parameter65Tb;
|
||||
std::vector<G4double> parameter66Dy;
|
||||
std::vector<G4double> parameter67Ho;
|
||||
std::vector<G4double> parameter68Er;
|
||||
std::vector<G4double> parameter69Tm;
|
||||
std::vector<G4double> parameter70Yb;
|
||||
std::vector<G4double> parameter71Lu;
|
||||
std::vector<G4double> parameter72Hf;
|
||||
std::vector<G4double> parameter73Ta;
|
||||
std::vector<G4double> parameter74W ;
|
||||
std::vector<G4double> parameter75Re;
|
||||
std::vector<G4double> parameter76Os;
|
||||
std::vector<G4double> parameter77Ir;
|
||||
std::vector<G4double> parameter78Pt;
|
||||
std::vector<G4double> parameter79Au;
|
||||
std::vector<G4double> parameter80Hg;
|
||||
std::vector<G4double> parameter81Tl;
|
||||
std::vector<G4double> parameter82Pb;
|
||||
std::vector<G4double> parameter83Bi;
|
||||
std::vector<G4double> parameter84Po;
|
||||
std::vector<G4double> parameter85At;
|
||||
std::vector<G4double> parameter86Rn;
|
||||
std::vector<G4double> parameter87Fr;
|
||||
std::vector<G4double> parameter88Ra;
|
||||
std::vector<G4double> parameter89Ac;
|
||||
std::vector<G4double> parameter90Th;
|
||||
std::vector<G4double> parameter91Pa;
|
||||
std::vector<G4double> parameter92U ;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user