Import Geant4 11.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2023-12-08 10:43:34 +01:00
parent dd1f179cda
commit 860a2b92bf
3962 changed files with 139318 additions and 164259 deletions
@@ -23,43 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Alpha
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Alpha
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointAlpha_h
#define G4AdjointAlpha_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### ADJOINT ALPHA ###
// ######################################################################
class G4AdjointAlpha : public G4AdjointIons
{
private:
static G4AdjointAlpha* theInstance;
G4AdjointAlpha(){}
~G4AdjointAlpha() override= default;
public:
static G4AdjointAlpha* Definition();
static G4AdjointAlpha* AlphaDefinition();
static G4AdjointAlpha* Alpha();
public:
static G4AdjointAlpha* Definition();
static G4AdjointAlpha* AlphaDefinition();
static G4AdjointAlpha* Alpha();
private:
G4AdjointAlpha() {}
~G4AdjointAlpha() override = default;
static G4AdjointAlpha* theInstance;
};
#endif
@@ -23,49 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Deuteron
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Deuteron
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointDeuteron_h
#define G4AdjointDeuteron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### ADJOINT DEUTERON ###
// ######################################################################
class G4AdjointDeuteron : public G4AdjointIons
{
private:
static G4AdjointDeuteron* theInstance;
G4AdjointDeuteron(){}
~G4AdjointDeuteron() override= default;
public:
static G4AdjointDeuteron* Definition();
static G4AdjointDeuteron* DeuteronDefinition();
static G4AdjointDeuteron* Deuteron();
public:
static G4AdjointDeuteron* Definition();
static G4AdjointDeuteron* DeuteronDefinition();
static G4AdjointDeuteron* Deuteron();
private:
G4AdjointDeuteron() {}
~G4AdjointDeuteron() override = default;
static G4AdjointDeuteron* theInstance;
};
#endif
@@ -23,55 +23,37 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Electron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Electron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
//
#ifndef G4AdjointElectron_h
#define G4AdjointElectron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ADJOINT ELECTRON ###
// ######################################################################
class G4AdjointElectron : public G4ParticleDefinition
{
private:
static G4AdjointElectron* theInstance;
G4AdjointElectron(){}
~G4AdjointElectron() override= default;
public:
static G4AdjointElectron* Definition();
static G4AdjointElectron* AdjointElectronDefinition();
static G4AdjointElectron* AdjointElectron();
public:
static G4AdjointElectron* Definition();
static G4AdjointElectron* AdjointElectronDefinition();
static G4AdjointElectron* AdjointElectron();
private:
G4AdjointElectron() {}
~G4AdjointElectron() override = default;
static G4AdjointElectron* theInstance;
};
#endif
@@ -23,55 +23,37 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Electron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Electron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
//
#ifndef G4AdjointElectronFI_h
#define G4AdjointElectronFI_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ADJOINT ELECTRON ###
// ######################################################################
class G4AdjointElectronFI : public G4ParticleDefinition
{
private:
static G4AdjointElectronFI* theInstance;
G4AdjointElectronFI(){}
~G4AdjointElectronFI() override= default;
public:
static G4AdjointElectronFI* Definition();
static G4AdjointElectronFI* AdjointElectronFIDefinition();
static G4AdjointElectronFI* AdjointElectronFI();
public:
static G4AdjointElectronFI* Definition();
static G4AdjointElectronFI* AdjointElectronFIDefinition();
static G4AdjointElectronFI* AdjointElectronFI();
private:
G4AdjointElectronFI() {}
~G4AdjointElectronFI() override = default;
static G4AdjointElectronFI* theInstance;
};
#endif
@@ -23,51 +23,37 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Gamma
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Gamma
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
//
#ifndef G4AdjointGamma_h
#define G4AdjointGamma_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AdjointGAMMA ###
// ######################################################################
class G4AdjointGamma : public G4ParticleDefinition
{
private:
static G4AdjointGamma* theInstance;
public:
static G4AdjointGamma* Definition();
static G4AdjointGamma* AdjointGammaDefinition();
static G4AdjointGamma* AdjointGamma();
private: // hide constructor as private
G4AdjointGamma(){}
private:
G4AdjointGamma() {}
~G4AdjointGamma() override = default;
public:
~G4AdjointGamma() override= default;
static G4AdjointGamma* Definition();
static G4AdjointGamma* AdjointGammaDefinition();
static G4AdjointGamma* AdjointGamma();
static G4AdjointGamma* theInstance;
};
#endif
@@ -23,44 +23,37 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 10 July 2009 creation by L. Desorgher based on a modification of G4GenericIon
// History:
// 10 July 2009 creation by L. Desorgher based on a modification of G4GenericIon
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointGenericIon_h
#define G4AdjointGenericIon_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### GenericIon ###
// ######################################################################
class G4AdjointGenericIon : public G4AdjointIons
{
private:
static G4AdjointGenericIon* theInstance;
G4AdjointGenericIon(){}
~G4AdjointGenericIon() override= default;
public:
static G4AdjointGenericIon* Definition();
static G4AdjointGenericIon* GenericIonDefinition();
static G4AdjointGenericIon* GenericIon();
public:
static G4AdjointGenericIon* Definition();
static G4AdjointGenericIon* GenericIonDefinition();
static G4AdjointGenericIon* GenericIon();
private:
G4AdjointGenericIon() {}
~G4AdjointGenericIon() override = default;
static G4AdjointGenericIon* theInstance;
};
#endif
@@ -23,44 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4He3
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4He3
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointHe3_h
#define G4AdjointHe3_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### ADJOINT He3 ###
// ######################################################################
class G4AdjointHe3 : public G4AdjointIons
{
private:
static G4AdjointHe3* theInstance;
G4AdjointHe3(){}
~G4AdjointHe3() override= default;
public:
static G4AdjointHe3* Definition();
static G4AdjointHe3* He3Definition();
static G4AdjointHe3* He3();
public:
static G4AdjointHe3* Definition();
static G4AdjointHe3* He3Definition();
static G4AdjointHe3* He3();
private:
G4AdjointHe3() {}
~G4AdjointHe3() override = default;
static G4AdjointHe3* theInstance;
};
#endif
@@ -23,47 +23,39 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Ions
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Ions
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointIons_h
#define G4AdjointIons_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ADJOINT Ions ###
// ######################################################################
#include "G4String.hh"
#include "G4Types.hh"
class G4AdjointIons : public G4ParticleDefinition
{
// Class Description
// This is the base class for all nuclei including pre-defined
// light nuclei such as deuteron, alpha, and proton (Hydrogen)
// All nuclei/ions created on the fly are objects of this class
// Atomic number and atomic mass are vaild only for particles derived
// from this class. This class has Excitation Energy in addition to
// the normal particle properties.
// Class Description
// This is the base class for all nuclei including pre-defined
// light nuclei such as deuteron, alpha, and proton (Hydrogen)
// All nuclei/ions created on the fly are objects of this class
// Atomic number and atomic mass are vaild only for particles derived
// from this class. This class has Excitation Energy in addition to
// the normal particle properties.
protected:
G4AdjointIons() = default;
public: //With Description
public:
// clang-format off
G4AdjointIons(
const G4String& aName, G4double mass,
G4double width, G4double charge,
@@ -78,39 +70,31 @@ class G4AdjointIons : public G4ParticleDefinition
G4int anti_encoding =0,
G4double excitation = 0.0
);
// clang-format on
public:
~G4AdjointIons() override = default;
G4AdjointIons* IonsDefinition();
G4AdjointIons* Ions();
~G4AdjointIons() override = default;
G4AdjointIons* IonsDefinition();
G4AdjointIons* Ions();
// Get excitation energy of nucleus
G4double GetExcitationEnergy() const;
protected:
G4AdjointIons() = default;
public: //With Description
// Get excitation energy of nucleus
G4double GetExcitationEnergy() const ;
private:
G4double theExcitationEnergy;
G4double theExcitationEnergy;
};
inline
G4AdjointIons* G4AdjointIons::Ions()
inline G4AdjointIons* G4AdjointIons::Ions()
{
return this;
}
inline
G4double G4AdjointIons::GetExcitationEnergy() const
inline G4double G4AdjointIons::GetExcitationEnergy() const
{
return theExcitationEnergy;
}
#endif
@@ -23,55 +23,37 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Positrony
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Positrony
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles
// during a reverse simulation is based on an idea of M. Asai
//
#ifndef G4AdjointPositron_h
#define G4AdjointPositron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ADJOINT POSITRON ###
// ######################################################################
class G4AdjointPositron : public G4ParticleDefinition
{
private:
static G4AdjointPositron* theInstance;
G4AdjointPositron(){}
~G4AdjointPositron() override= default;
public:
static G4AdjointPositron* Definition();
static G4AdjointPositron* AdjointPositronDefinition();
static G4AdjointPositron* AdjointPositron();
public:
static G4AdjointPositron* Definition();
static G4AdjointPositron* AdjointPositronDefinition();
static G4AdjointPositron* AdjointPositron();
private:
G4AdjointPositron() {}
~G4AdjointPositron() override = default;
static G4AdjointPositron* theInstance;
};
#endif
@@ -23,45 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 13 February 2009 creation by L. Desorgher based on a modification of G4Proton
// History:
// 13 February 2009 creation by L. Desorgher based on a modification of G4Proton
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointProton_h
#define G4AdjointProton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### ADJOINT PROTON ###
// ######################################################################
class G4AdjointProton : public G4ParticleDefinition
{
private:
static G4AdjointProton* theInstance;
G4AdjointProton(){}
~G4AdjointProton() override= default;
public:
static G4AdjointProton* Definition();
static G4AdjointProton* AdjointProtonDefinition();
static G4AdjointProton* AdjointProton();
public:
static G4AdjointProton* Definition();
static G4AdjointProton* AdjointProtonDefinition();
static G4AdjointProton* AdjointProton();
private:
G4AdjointProton() {}
~G4AdjointProton() override = default;
static G4AdjointProton* theInstance;
};
#endif
@@ -23,43 +23,36 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Triton
// History:
// 1 July 2009 creation by L. Desorgher based on a modification of G4Triton
//
//-------------------------------------------------------------
// Documentation:
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
// Adjoint particles are used in Reverse/Adjoint Monte Carlo simulations. New adjoint
// processes act on adjoint particles when they are tracked backward in the geometry.
// The use of adjoint particles instead of "normal" particles during a reverse simulation
// is based on an idea of M. Asai.
//
#ifndef G4AdjointTriton_h
#define G4AdjointTriton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4AdjointIons.hh"
// ######################################################################
// ### ADJOINT TRITON ###
// ######################################################################
class G4AdjointTriton : public G4AdjointIons
{
private:
static G4AdjointTriton* theInstance;
G4AdjointTriton(){}
~G4AdjointTriton() override= default;
public:
static G4AdjointTriton* Definition();
static G4AdjointTriton* TritonDefinition();
static G4AdjointTriton* Triton();
public:
static G4AdjointTriton* Definition();
static G4AdjointTriton* TritonDefinition();
static G4AdjointTriton* Triton();
private:
G4AdjointTriton() {}
~G4AdjointTriton() override = default;
static G4AdjointTriton* theInstance;
};
#endif