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
+37 -9
View File
@@ -6,11 +6,39 @@ It must **not** be used as a substitute for writing good git commit messages!
-------------------------------------------------------------------------------
## 2023-11-20 Vladimir Ivanchenko (particles-V11-01-10)
- G4IonTable - fixed run time memory leak by change of signature of GetIonName(..)
methods - now they return G4String instead of a reference to a string, code
of all these methods is simplified, TLS is not involved anymore, no change
is expected in any application
## 2023-11-06 Shogo Okada (particles-V11-01-09)
- Scanned all mesons and baryons, including their resonances, in Geant4 to
compare their particle properties with PDG-2023. Then, updated mass and decay
width (lifetime) for particles below with relative error above 1 % against
PDG-2023.
- Mesons: G4AntiBsMesonZero, G4BsMesonZero, G4EtaPrime
- Baryons: G4AntiLambdacPlus, G4AntiOmegacZero, G4AntiSigmabMinus,
G4AntiSigmabPlus, G4AntiSigmacPlus, G4AntiXicPlus, G4AntiXicZero,
G4LambdacPlus, G4OmegacZero, G4SigmabMinus, G4SigmabPlus,
G4SigmacPlus, G4XicPlus, G4XicZero,
- Resonances: G4ExcitedDeltaConstructor, G4ExcitedLambdaConstructor,
G4ExcitedMesonConstructor, G4ExcitedNucleonConstructor,
G4ExcitedSigmaConstructor, G4ExcitedXiConstructor,
mesons and baryons implemened in G4ShortLivedConstructor
## 2023-07-14 Ben Morgan (particles-V11-01-08)
- Remove unused headers suggested by include-what-you-use
## 2023-07-10 Ben Morgan (particles-V11-01-07)
- Apply clang-format, excepting tabular data/constructors.
- Remove extraneous/duplictae comments.
## 2023-06-13 Ben Morgan (particles-V11-01-06)
- Apply core/recommended clang-tidy fixes
## 2023-06-10 Vladimir Ivanchenko (particles-V11-01-05)
- G4IonTable - attempt to fix non-reproducibility for HP physics and isometers
- G4IonTable - attempt to fix non-reproducibility for HP physics and isometers
with floating levels
## 2023-05-25 Vladimir Ivanchenko (particles-V11-01-04)
@@ -35,7 +63,7 @@ It must **not** be used as a substitute for writing good git commit messages!
Thanks to Francesco Mazzaschi of ALICE for reporting it.
## 2023-01-11 Alberto Ribon (particles-V11-01-01)
- G4AntiNeutron : set the "PDG stable" flag to "false", as for G4Neutron
- G4AntiNeutron : set the "PDG stable" flag to "false", as for G4Neutron
(this has no practical consequences, i.e. anti_neutron decays regardless
of this flag, but it is confusing).
@@ -61,10 +89,10 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2022-10-24 Dennis Wright (particles-V11-00-11)
- G4NuclideTableMessenger: add command /particle/manage/nuclide/min_meanlife
corresponding to G4NuclideTable::SetMeanLifeThreshold(). Default minimum
corresponding to G4NuclideTable::SetMeanLifeThreshold(). Default minimum
mean life is 1.0 ns.
In /particle/nuclideTable/min_halflife change default minumum halflife
to 0.693
to 0.693
## 2022-10-24 Dennis Wright (particles-V11-00-10)
- G4NuclideTable::entries() const :
@@ -72,7 +100,7 @@ It must **not** be used as a substitute for writing good git commit messages!
## 2022-10-10 Dennis Wright (particles-V11-00-09)
- Use nuclide mean-life instead of half-life in G4NuclideTable in order to be
consistent with ENSDFSTATE data, which use mean-life. Provide two new
consistent with ENSDFSTATE data, which use mean-life. Provide two new
methods, SetMeanLifeThreshold and GetMeanLifeThreshold() so that the lifetimes
can be accessed as either half-life or mean-life.
@@ -81,13 +109,13 @@ It must **not** be used as a substitute for writing good git commit messages!
but never used in G4MuonRadiativeDecayChannelWithSpin.
## 2022-09-27 Dennis Wright (particles-V11-00-07)
- Changed halflife threshold for nuclide creation to be consistent with
- Changed halflife threshold for nuclide creation to be consistent with
lifetimes in nuclear deexcitation code; in management/src/G4NuclideTable.cc
ctor, change threshold_of_halflife from 1000 ns to 1 ns
ctor, change threshold_of_halflife from 1000 ns to 1 ns
## 2022-08-08 Alberto Ribon (particles-V11-00-06)
Fixed three bugs regarding the transportation of hypernuclei and anti-hypernuclei:
- G4Ion : set (forgotten) isGeneralIon to false for hypernuclei and
- G4Ion : set (forgotten) isGeneralIon to false for hypernuclei and
anti-hypernuclei (otherwise they would get the same processes as GenericIon).
- G4DoubleHyperDoubleNeutron, G4AntiDoubleHyperDoubleNeutron : added (forgotten)
call to SetDecayTable (otherwise the decay table would not be defined for
@@ -109,7 +137,7 @@ Fixed three bugs regarding the transportation of hypernuclei and anti-hypernucle
## 2022-01-28 Ben Morgan (particles-V11-00-02)
- Replace `geant4_global_library_target` with direct file inclusion and
call to `geant4_add_category` to define library build from source modules.
## 2021-12-15 Ben Morgan (particles-V11-00-01)
- Minor code formatting.
@@ -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
+21 -27
View File
@@ -22,38 +22,34 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointAlpha.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT ALPHA ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AdjointAlpha* G4AdjointAlpha::theInstance = nullptr;
G4AdjointAlpha* G4AdjointAlpha::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_alpha";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
// clang-format off
anInstance = new G4AdjointIons(
name, 3.727417*GeV, 0.0*MeV, -2.0*eplus,
0, +1, 0,
@@ -63,24 +59,22 @@ G4AdjointAlpha* G4AdjointAlpha::Definition()
false, "static", 0,
0.0
);
// clang-format on
}
//No Anti particle registered
// No Anti particle registered
anInstance->SetAntiPDGEncoding(0);
theInstance = static_cast<G4AdjointAlpha*>(anInstance);
return theInstance;
}
G4AdjointAlpha* G4AdjointAlpha::AlphaDefinition()
G4AdjointAlpha* G4AdjointAlpha::AlphaDefinition()
{
return Definition();
}
G4AdjointAlpha* G4AdjointAlpha::Alpha()
G4AdjointAlpha* G4AdjointAlpha::Alpha()
{
return Definition();
}
@@ -22,39 +22,37 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointDeuteron.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT DEUTERON ###
// ######################################################################
#include "G4AdjointDeuteron.hh"
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointDeuteron* G4AdjointDeuteron::theInstance = nullptr;
G4AdjointDeuteron* G4AdjointDeuteron::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_deuteron";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
// clang-format off
anInstance = new G4AdjointIons(
name, 1.875613*GeV, 0.0*MeV, -1.0*eplus,
2, +1, 0,
@@ -64,27 +62,25 @@ G4AdjointDeuteron* G4AdjointDeuteron::Definition()
false, "static", 0,
0.0
);
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 0.857438230 * mN);
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(0.857438230 * mN);
}
//No Anti particle registered
// No Anti particle registered
anInstance->SetAntiPDGEncoding(0);
theInstance = static_cast<G4AdjointDeuteron*>(anInstance);
return theInstance;
}
G4AdjointDeuteron* G4AdjointDeuteron::DeuteronDefinition()
G4AdjointDeuteron* G4AdjointDeuteron::DeuteronDefinition()
{
return Definition();
}
G4AdjointDeuteron* G4AdjointDeuteron::Deuteron()
G4AdjointDeuteron* G4AdjointDeuteron::Deuteron()
{
return Definition();
}
@@ -23,57 +23,51 @@
// * 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
//
//-------------------------------------------------------------
//
//
#include "G4AdjointElectron.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT ELECTRON ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointElectron* G4AdjointElectron::theInstance = nullptr;
G4AdjointElectron* G4AdjointElectron::Definition()
{
if (theInstance !=nullptr) return theInstance;
{
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_e-";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real electron, because adjoint particles
// are used to back-trace
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real electron, because adjoint particles
// are used to back-trace
// clang-format off
anInstance = new G4ParticleDefinition(
name, electron_mass_c2, 0.0*MeV, 1.*eplus,
1, 0, 0,
@@ -82,23 +76,21 @@ G4AdjointElectron* G4AdjointElectron::Definition()
true, -1.0, nullptr,
false, "adj_lepton"
);
// Bohr Magnetron
G4double muB = 0.5*eplus*hbar_Planck/(electron_mass_c2/c_squared) ;
anInstance->SetPDGMagneticMoment( muB * 2.* 1.0011596521859 );
// clang-format on
// Bohr Magnetron
G4double muB = 0.5 * eplus * hbar_Planck / (electron_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(muB * 2. * 1.0011596521859);
}
theInstance = static_cast<G4AdjointElectron*>(anInstance);
return theInstance;
}
G4AdjointElectron* G4AdjointElectron::AdjointElectronDefinition()
G4AdjointElectron* G4AdjointElectron::AdjointElectronDefinition()
{
return Definition();
}
G4AdjointElectron* G4AdjointElectron::AdjointElectron()
G4AdjointElectron* G4AdjointElectron::AdjointElectron()
{
return Definition();
}
@@ -23,57 +23,50 @@
// * 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
//
//-------------------------------------------------------------
//
#include "G4AdjointElectronFI.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT ELECTRON FOR FORCED INTERACTION ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointElectronFI* G4AdjointElectronFI::theInstance = nullptr;
G4AdjointElectronFI* G4AdjointElectronFI::Definition()
{
if (theInstance !=nullptr) return theInstance;
{
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_e-_FI";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real electron, because adjoint particles
// are used to back-trace
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real electron, because adjoint particles
// are used to back-trace
// clang-format off
anInstance = new G4ParticleDefinition(
name, electron_mass_c2, 0.0*MeV, 1.*eplus,
1, 0, 0,
@@ -82,23 +75,21 @@ G4AdjointElectronFI* G4AdjointElectronFI::Definition()
true, -1.0, nullptr,
false, "adj_lepton"
);
// Bohr Magnetron
G4double muB = 0.5*eplus*hbar_Planck/(electron_mass_c2/c_squared) ;
anInstance->SetPDGMagneticMoment( muB * 2.* 1.0011596521859 );
// clang-format on
// Bohr Magnetron
G4double muB = 0.5 * eplus * hbar_Planck / (electron_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(muB * 2. * 1.0011596521859);
}
theInstance = static_cast<G4AdjointElectronFI*>(anInstance);
return theInstance;
}
G4AdjointElectronFI* G4AdjointElectronFI::AdjointElectronFIDefinition()
G4AdjointElectronFI* G4AdjointElectronFI::AdjointElectronFIDefinition()
{
return Definition();
}
G4AdjointElectronFI* G4AdjointElectronFI::AdjointElectronFI()
G4AdjointElectronFI* G4AdjointElectronFI::AdjointElectronFI()
{
return Definition();
}
+24 -27
View File
@@ -23,45 +23,41 @@
// * 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
//
#include "G4AdjointGamma.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### GAMMA ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AdjointGamma* G4AdjointGamma::theInstance = nullptr;
G4AdjointGamma* G4AdjointGamma::Definition()
G4AdjointGamma* G4AdjointGamma::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_gamma";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
2, -1, -1,
@@ -70,17 +66,18 @@ G4AdjointGamma* G4AdjointGamma::Definition()
true, 0.0, nullptr,
false, "adj_gamma", 10000022
);
// clang-format on
}
theInstance = static_cast<G4AdjointGamma*>(anInstance);
return theInstance;
}
G4AdjointGamma* G4AdjointGamma::AdjointGammaDefinition()
G4AdjointGamma* G4AdjointGamma::AdjointGammaDefinition()
{
return Definition();
}
G4AdjointGamma* G4AdjointGamma::AdjointGamma()
G4AdjointGamma* G4AdjointGamma::AdjointGamma()
{
return Definition();
}
@@ -22,40 +22,38 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointGenericIon.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT GenericIon ###
// ######################################################################
#include "G4AdjointGenericIon.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AdjointGenericIon* G4AdjointGenericIon::theInstance = nullptr;
G4AdjointGenericIon* G4AdjointGenericIon::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_GenericIon";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
//!!!!
//!!!! this particle should not be used for tracking
//!!!! all properties except name and type are meaningless
//!!!!
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
//!!!!
//!!!! this particle should not be used for tracking
//!!!! all properties except name and type are meaningless
//!!!!
// clang-format off
anInstance = new G4AdjointIons(
name, 0.9382723*GeV, 0.0*MeV, -eplus,
1, +1, 0,
@@ -65,19 +63,19 @@ G4AdjointGenericIon* G4AdjointGenericIon::Definition()
false, "adjoint_generic", 0,
0.0
);
// clang-format on
}
theInstance = static_cast<G4AdjointGenericIon*>(anInstance);
return theInstance;
}
G4AdjointGenericIon* G4AdjointGenericIon::GenericIonDefinition()
{
G4AdjointGenericIon* G4AdjointGenericIon::GenericIonDefinition()
{
return Definition();
}
G4AdjointGenericIon* G4AdjointGenericIon::GenericIon()
{
G4AdjointGenericIon* G4AdjointGenericIon::GenericIon()
{
return Definition();
}
+28 -33
View File
@@ -22,39 +22,36 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointHe3.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT He3 ###
// ######################################################################
#include "G4AdjointHe3.hh"
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointHe3* G4AdjointHe3::theInstance = nullptr;
G4AdjointHe3* G4AdjointHe3::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_He3";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
// clang-format off
anInstance = new G4AdjointIons(
name, 2.80923*GeV, 0.0*MeV, -2.0*eplus,
1, +1, 0,
@@ -64,27 +61,25 @@ G4AdjointHe3* G4AdjointHe3::Definition()
false, "static", 0,
0.0
);
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( -2.12762485 * mN);
// clang-format on
// Magnetic Moment
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(-2.12762485 * mN);
}
//No Anti particle registered
// No Anti particle registered
anInstance->SetAntiPDGEncoding(0);
theInstance = static_cast<G4AdjointHe3*>(anInstance);
return theInstance;
}
G4AdjointHe3* G4AdjointHe3::He3Definition()
G4AdjointHe3* G4AdjointHe3::He3Definition()
{
return Definition();
}
G4AdjointHe3* G4AdjointHe3::He3()
G4AdjointHe3* G4AdjointHe3::He3()
{
return Definition();
}
+7 -17
View File
@@ -22,18 +22,13 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include <fstream>
#include <iomanip>
#include "G4AdjointIons.hh"
#include "G4DecayTable.hh"
#include "G4SystemOfUnits.hh"
// ######################################################################
// ### ADJOINT Ions ###
// #######################################################################
// clang-format off
G4AdjointIons::G4AdjointIons(
const G4String& aName, G4double mass,
G4double width, G4double charge,
@@ -51,21 +46,16 @@ G4AdjointIons::G4AdjointIons(
iConjugation,iIsospin,iIsospin3,gParity,pType,
lepton,baryon,encoding,stable,lifetime,decaytable,
shortlived, subType, anti_encoding)
// clang-format on
{
// initialize excitation energy/level
theExcitationEnergy = excitation;
theExcitationEnergy = excitation;
SetAtomicNumber( G4int(-GetPDGCharge()/eplus) );
SetAtomicMass( GetBaryonNumber() );
//G4cout << "G4AdjointIons::" << GetParticleName() << G4endl;
SetAtomicNumber(G4int(-GetPDGCharge() / eplus));
SetAtomicMass(GetBaryonNumber());
}
G4AdjointIons* G4AdjointIons::IonsDefinition()
{
return this;
}
@@ -23,56 +23,50 @@
// * 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 G4Positron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
// History:
// 1st March 2007 creation by L. Desorgher based on a modification of G4Positron
// 06 Nov. 2008 modified for Geant4-09-02 by Hisaya Kurashige
//
//-------------------------------------------------------------
//
#include "G4AdjointPositron.hh"
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
// ######################################################################
// ### ADJOINT ELECTRON ###
// ######################################################################
G4AdjointPositron* G4AdjointPositron::theInstance = nullptr;
G4AdjointPositron* G4AdjointPositron::Definition()
{
if (theInstance !=nullptr) return theInstance;
{
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_e+";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real positron, because adjoint particles
// are used to back-trace
// use constants in CLHEP
// static const double electron_mass_c2 = 0.51099906 * MeV;
// NOTE : electric charge and magnetic moment is opposite
// compared with real positron, because adjoint particles
// are used to back-trace
// clang-format off
anInstance = new G4ParticleDefinition(
name, electron_mass_c2, 0.0*MeV, -1.*eplus,
1, 0, 0,
@@ -81,6 +75,7 @@ G4AdjointPositron* G4AdjointPositron::Definition()
true, -1.0, nullptr,
false, "adj_lepton"
);
// clang-format on
// Bohr Magnetron
G4double muB = -0.5*eplus*hbar_Planck/(electron_mass_c2/c_squared) ;
anInstance->SetPDGMagneticMoment( muB * 2.* 1.0011596521859 );
@@ -99,5 +94,3 @@ G4AdjointPositron* G4AdjointPositron::AdjointPositron()
{
return Definition();
}
+26 -31
View File
@@ -22,41 +22,37 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointProton.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### PROTON ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointProton* G4AdjointProton::theInstance = nullptr;
G4AdjointProton* G4AdjointProton::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_proton";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double proton_mass_c2 = 938.27231 * MeV;
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double proton_mass_c2 = 938.27231 * MeV;
// clang-format off
anInstance = new G4ParticleDefinition(
name, proton_mass_c2, 0.0*MeV, -eplus,
1, +1, 0,
@@ -66,23 +62,22 @@ G4AdjointProton* G4AdjointProton::Definition()
false, "adjoint_ion", 0,
0.0
);
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 2.792847351 * mN);
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(2.792847351 * mN);
}
theInstance = static_cast<G4AdjointProton*>(anInstance);
return theInstance;
}
G4AdjointProton* G4AdjointProton::AdjointProtonDefinition()
G4AdjointProton* G4AdjointProton::AdjointProtonDefinition()
{
return Definition();
}
G4AdjointProton* G4AdjointProton::AdjointProton()
G4AdjointProton* G4AdjointProton::AdjointProton()
{
return Definition();
}
+29 -33
View File
@@ -22,38 +22,36 @@
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
#include "G4AdjointTriton.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ADJOINT TRITON ###
// ######################################################################
#include "G4AdjointTriton.hh"
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AdjointTriton* G4AdjointTriton::theInstance = nullptr;
G4AdjointTriton* G4AdjointTriton::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "adj_triton";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
auto anInstance = static_cast<G4AdjointIons*>(pTable->FindParticle(name));
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// excitation
// clang-format off
anInstance = new G4AdjointIons(
name, 2.80925*GeV, 0.0*MeV, -1.0*eplus,
1, +1, 0,
@@ -63,27 +61,25 @@ G4AdjointTriton* G4AdjointTriton::Definition()
false, "static", 0,
0.0
);
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 2.97896248 * mN);
// clang-format on
}
//No Anti particle registered
// Magnetic Moment
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(2.97896248 * mN);
}
// No Anti particle registered
anInstance->SetAntiPDGEncoding(0);
theInstance = static_cast<G4AdjointTriton*>(anInstance);
return theInstance;
}
G4AdjointTriton* G4AdjointTriton::TritonDefinition()
G4AdjointTriton* G4AdjointTriton::TritonDefinition()
{
return Definition();
}
G4AdjointTriton* G4AdjointTriton::Triton()
G4AdjointTriton* G4AdjointTriton::Triton()
{
return Definition();
}
@@ -23,21 +23,15 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// --------------------------------------------------------------
// GEANT 4 class implementatBoson file
// GEANT 4 class implementatBoson file
//
#ifndef G4BosonConstructor_h
#define G4BosonConstructor_h 1
#include "globals.hh"
#include "G4ios.hh"
class G4BosonConstructor
{
//This class is a utility class for constructBoson
// This class is a utility class for constructBoson
public:
static void ConstructParticle();
};
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,29 +35,20 @@
#ifndef G4ChargedGeantino_h
#define G4ChargedGeantino_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ChargedGeantino ###
// ######################################################################
class G4ChargedGeantino : public G4ParticleDefinition
{
private:
static G4ChargedGeantino* theInstance;
public:
static G4ChargedGeantino* Definition();
static G4ChargedGeantino* ChargedGeantinoDefinition();
static G4ChargedGeantino* ChargedGeantino();
private:
G4ChargedGeantino(){}
public:
~G4ChargedGeantino() override= default;
static G4ChargedGeantino* Definition();
static G4ChargedGeantino* ChargedGeantinoDefinition();
static G4ChargedGeantino* ChargedGeantino();
private:
G4ChargedGeantino() {}
~G4ChargedGeantino() override = default;
static G4ChargedGeantino* theInstance;
};
#endif
+8 -22
View File
@@ -23,8 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -34,35 +32,23 @@
// New impelemenataion as an utility class H.Kurashige, 14 July 2004
// ----------------------------------------------------------------
#ifndef G4Gamma_h
#define G4Gamma_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### GAMMA ###
// ######################################################################
class G4Gamma : public G4ParticleDefinition
{
private:
static G4Gamma* theInstance;
public:
static G4Gamma* Definition();
static G4Gamma* GammaDefinition();
static G4Gamma* Gamma();
private: // hide constructor as private
G4Gamma(){}
private: // hide constructor as private
G4Gamma() {}
~G4Gamma() override = default;
public:
~G4Gamma() override= default;
static G4Gamma* Definition();
static G4Gamma* GammaDefinition();
static G4Gamma* Gamma();
static G4Gamma* theInstance;
};
#endif
+8 -30
View File
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,39 +35,20 @@
#ifndef G4Geantino_h
#define G4Geantino_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### GEANTINO ###
// ######################################################################
class G4Geantino : public G4ParticleDefinition
{
private:
static G4Geantino* theInstance;
public:
static G4Geantino* Definition();
static G4Geantino* GeantinoDefinition();
static G4Geantino* Geantino();
private:
G4Geantino() {}
private:
G4Geantino() {}
~G4Geantino() override = default;
public:
~G4Geantino() override= default;
static G4Geantino* Definition();
static G4Geantino* GeantinoDefinition();
static G4Geantino* Geantino();
static G4Geantino* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,30 +35,20 @@
#ifndef G4OpticalPhoton_h
#define G4OpticalPhoton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### OPTICAL PHOTON ###
// ######################################################################
class G4OpticalPhoton : public G4ParticleDefinition
{
private:
static G4OpticalPhoton* theInstance;
public:
static G4OpticalPhoton* Definition();
static G4OpticalPhoton* OpticalPhotonDefinition();
static G4OpticalPhoton* OpticalPhoton();
private:
G4OpticalPhoton () {}
public:
~G4OpticalPhoton () override= default;
static G4OpticalPhoton* Definition();
static G4OpticalPhoton* OpticalPhotonDefinition();
static G4OpticalPhoton* OpticalPhoton();
private:
G4OpticalPhoton() {}
~G4OpticalPhoton() override = default;
static G4OpticalPhoton* theInstance;
};
#endif
@@ -26,27 +26,22 @@
/// \file particles/include/G4PhononLong.hh
/// \brief Definition of the G4PhononLong class
//
//
#ifndef G4PhononLong_h
#define G4PhononLong_h 1
#include "G4ParticleDefinition.hh"
class G4PhononLong : public G4ParticleDefinition
{
public:
static G4PhononLong* Definition();
static G4PhononLong* PhononDefinition();
class G4PhononLong : public G4ParticleDefinition {
private:
static G4PhononLong* theInstance;
private:
G4PhononLong() {;}
public:
~G4PhononLong() override {;}
static G4PhononLong* Definition();
static G4PhononLong* PhononDefinition();
private:
G4PhononLong() {}
~G4PhononLong() override = default;
static G4PhononLong* theInstance;
};
#endif
@@ -26,27 +26,22 @@
/// \file particles/phonons/include/G4PhononTransFast.hh
/// \brief Definition of the G4PhononTransFast class
//
//
#ifndef G4PhononTransFast_h
#define G4PhononTransFast_h 1
#include "G4ParticleDefinition.hh"
class G4PhononTransFast : public G4ParticleDefinition
{
public:
static G4PhononTransFast* Definition();
static G4PhononTransFast* PhononDefinition();
class G4PhononTransFast : public G4ParticleDefinition {
private:
static G4PhononTransFast* theInstance;
private:
G4PhononTransFast() {;}
public:
~G4PhononTransFast() override {;}
static G4PhononTransFast* Definition();
static G4PhononTransFast* PhononDefinition();
private:
G4PhononTransFast() {}
~G4PhononTransFast() override = default;
static G4PhononTransFast* theInstance;
};
#endif
@@ -26,26 +26,22 @@
/// \file particles/phonons/include/G4PhononTransSlow.hh
/// \brief Definition of the G4PhononTransSlow class
//
//
#ifndef G4PhononTransSlow_h
#define G4PhononTransSlow_h 1
#include "G4ParticleDefinition.hh"
class G4PhononTransSlow : public G4ParticleDefinition {
private:
static G4PhononTransSlow* theInstance;
class G4PhononTransSlow : public G4ParticleDefinition
{
public:
static G4PhononTransSlow* Definition();
static G4PhononTransSlow* PhononDefinition();
private:
G4PhononTransSlow() {;}
private:
G4PhononTransSlow() {}
~G4PhononTransSlow() override = default;
public:
~G4PhononTransSlow () override {;}
static G4PhononTransSlow* Definition();
static G4PhononTransSlow* PhononDefinition();
static G4PhononTransSlow* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -34,43 +31,23 @@
// New impelemenataion as an utility class H.Kurashige, 14 July 2004
// ----------------------------------------------------------------
#ifndef G4UnknownParticle_h
#define G4UnknownParticle_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### UNKNOWN ###
// ######################################################################
class G4UnknownParticle : public G4ParticleDefinition
{
private:
static G4UnknownParticle* theInstance;
public:
static G4UnknownParticle* Definition();
static G4UnknownParticle* UnknownParticleDefinition();
static G4UnknownParticle* UnknownParticle();
private:
G4UnknownParticle(){}
private:
G4UnknownParticle() {}
~G4UnknownParticle() override = default;
public:
~G4UnknownParticle() override= default;
static G4UnknownParticle* Definition();
static G4UnknownParticle* UnknownParticleDefinition();
static G4UnknownParticle* UnknownParticle();
static G4UnknownParticle* theInstance;
};
#endif
+1 -1
View File
@@ -23,4 +23,4 @@ geant4_add_module(G4bosons
G4PhononTransSlow.cc
G4UnknownParticle.cc)
geant4_module_link_libraries(G4bosons PUBLIC G4partman G4globman)
geant4_module_link_libraries(G4bosons PUBLIC G4partman PRIVATE G4globman)
@@ -23,21 +23,15 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// --------------------------------------------------------------
// GEANT 4 class implementatBoson file
//
// GEANT 4 class implementatBoson file
#include "G4BosonConstructor.hh"
#include "G4ParticleDefinition.hh"
#include "G4ParticleTable.hh"
// Bosons
#include "G4ChargedGeantino.hh"
#include "G4Geantino.hh"
#include "G4Gamma.hh"
#include "G4Geantino.hh"
#include "G4OpticalPhoton.hh"
void G4BosonConstructor::ConstructParticle()
@@ -52,4 +46,3 @@ void G4BosonConstructor::ConstructParticle()
// optical photon
G4OpticalPhoton::OpticalPhotonDefinition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,34 +33,32 @@
// ----------------------------------------------------------------
#include "G4ChargedGeantino.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
// ######################################################################
// ### ChargedGeantino ###
// ######################################################################
G4ChargedGeantino* G4ChargedGeantino::theInstance = nullptr;
G4ChargedGeantino* G4ChargedGeantino::Definition()
G4ChargedGeantino* G4ChargedGeantino::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "chargedgeantino";
// search in particle table
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, +1.*eplus,
0, 0, 0,
@@ -72,19 +67,18 @@ G4ChargedGeantino* G4ChargedGeantino::Definition()
true, -1.0, nullptr,
false, "geantino", 0
);
// clang-format on
}
theInstance = static_cast<G4ChargedGeantino*>(anInstance);
return theInstance;
}
G4ChargedGeantino* G4ChargedGeantino::ChargedGeantinoDefinition()
G4ChargedGeantino* G4ChargedGeantino::ChargedGeantinoDefinition()
{
return Definition();
}
G4ChargedGeantino* G4ChargedGeantino::ChargedGeantino()
G4ChargedGeantino* G4ChargedGeantino::ChargedGeantino()
{
return Definition();
}
+20 -24
View File
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,34 +33,32 @@
// ----------------------------------------------------------------
#include "G4Gamma.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### GAMMA ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4Gamma* G4Gamma::theInstance = nullptr;
G4Gamma* G4Gamma::Definition()
G4Gamma* G4Gamma::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "gamma";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
2, -1, -1,
@@ -72,17 +67,18 @@ G4Gamma* G4Gamma::Definition()
true, -1.0, nullptr,
false, "photon", 22
);
// clang-format on
}
theInstance = static_cast<G4Gamma*>(anInstance);
return theInstance;
}
G4Gamma* G4Gamma::GammaDefinition()
G4Gamma* G4Gamma::GammaDefinition()
{
return Definition();
}
G4Gamma* G4Gamma::Gamma()
G4Gamma* G4Gamma::Gamma()
{
return Definition();
}
+19 -24
View File
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,34 +33,32 @@
// ----------------------------------------------------------------
#include "G4Geantino.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
// ######################################################################
// ### GEANTINO ###
// ######################################################################
G4Geantino* G4Geantino::theInstance = nullptr;
G4Geantino* G4Geantino::Definition()
G4Geantino* G4Geantino::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "geantino";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
0, 0, 0,
@@ -72,18 +67,18 @@ G4Geantino* G4Geantino::Definition()
true, -1.0, nullptr,
false, "geantino", 0
);
// clang-format on
}
theInstance = static_cast<G4Geantino*>(anInstance);
return theInstance;
}
G4Geantino* G4Geantino::GeantinoDefinition()
G4Geantino* G4Geantino::GeantinoDefinition()
{
return Definition();
}
G4Geantino* G4Geantino::Geantino()
G4Geantino* G4Geantino::Geantino()
{
return Definition();
}
+21 -27
View File
@@ -23,47 +23,43 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// 4th April 1996, G.Cosmo
// by H.Kurashige,17 Oct. 1996
// **********************************************************************
// New impelemenataion as an utility class H.Kurashige, 14 July 2004
// ----------------------------------------------------------------
#include "G4OpticalPhoton.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### OPTICAL PHOTON ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4OpticalPhoton* G4OpticalPhoton::theInstance = nullptr;
G4OpticalPhoton* G4OpticalPhoton::Definition()
G4OpticalPhoton* G4OpticalPhoton::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "opticalphoton";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
2, -1, -1,
@@ -72,20 +68,18 @@ G4OpticalPhoton* G4OpticalPhoton::Definition()
true, -1.0, nullptr,
false, "photon", 0
);
// clang-format on
}
theInstance = static_cast<G4OpticalPhoton*>(anInstance);
return theInstance;
}
G4OpticalPhoton* G4OpticalPhoton::OpticalPhotonDefinition()
G4OpticalPhoton* G4OpticalPhoton::OpticalPhotonDefinition()
{
return Definition();
}
G4OpticalPhoton* G4OpticalPhoton::OpticalPhoton()
G4OpticalPhoton* G4OpticalPhoton::OpticalPhoton()
{
return Definition();
}
+17 -22
View File
@@ -25,36 +25,34 @@
//
/// \file particles/src/G4PhononLong.cc
/// \brief Implementation of the G4PhononLong class
//
//
#include "G4PhononLong.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4PhononLong* G4PhononLong::theInstance = nullptr;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4PhononLong* G4PhononLong::Definition()
G4PhononLong* G4PhononLong::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "phononL";
// search in particle table
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
0, 0, 0,
@@ -63,16 +61,13 @@ G4PhononLong* G4PhononLong::Definition()
true, -1.0, nullptr,
false, "phononL", 0
);
// clang-format on
}
theInstance = static_cast<G4PhononLong*>(anInstance);
return theInstance;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4PhononLong* G4PhononLong::PhononDefinition()
G4PhononLong* G4PhononLong::PhononDefinition()
{
return Definition();
}
@@ -25,34 +25,34 @@
//
/// \file particles/phonons/src/G4PhononTransFast.cc
/// \brief Implementation of the G4PhononTransFast class
//
//
#include "G4PhononTransFast.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4PhononTransFast* G4PhononTransFast::theInstance = nullptr;
G4PhononTransFast* G4PhononTransFast::Definition()
G4PhononTransFast* G4PhononTransFast::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "phononTF";
// search in particle table
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
0, 0, 0,
@@ -61,22 +61,13 @@ G4PhononTransFast* G4PhononTransFast::Definition()
true, -1.0, nullptr,
false, "phononTF", 0
);
// clang-format on
}
theInstance = static_cast<G4PhononTransFast*>(anInstance);
return theInstance;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4PhononTransFast* G4PhononTransFast::PhononDefinition()
G4PhononTransFast* G4PhononTransFast::PhononDefinition()
{
return Definition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -25,34 +25,34 @@
//
/// \file particles/phonons/src/G4PhononTransSlow.cc
/// \brief Implementation of the G4PhononTransSlow class
//
//
#include "G4PhononTransSlow.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4PhononTransSlow* G4PhononTransSlow::theInstance = nullptr;
G4PhononTransSlow* G4PhononTransSlow::Definition()
G4PhononTransSlow* G4PhononTransSlow::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "phononTS";
// search in particle table
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
0, 0, 0,
@@ -61,21 +61,13 @@ G4PhononTransSlow* G4PhononTransSlow::Definition()
true, -1.0, nullptr,
false, "phononTS", 0
);
// clang-format on
}
theInstance = static_cast<G4PhononTransSlow*>(anInstance);
return theInstance;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
G4PhononTransSlow* G4PhononTransSlow::PhononDefinition()
G4PhononTransSlow* G4PhononTransSlow::PhononDefinition()
{
return Definition();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -35,34 +32,32 @@
// ----------------------------------------------------------------
#include "G4UnknownParticle.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
// ######################################################################
// ### Unknown Particle ###
// ######################################################################
G4UnknownParticle* G4UnknownParticle::theInstance = nullptr;
G4UnknownParticle* G4UnknownParticle::Definition()
G4UnknownParticle* G4UnknownParticle::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "unknown";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 0.0*MeV, 0.0*MeV, 0.0,
0, 0, 0,
@@ -71,18 +66,18 @@ G4UnknownParticle* G4UnknownParticle::Definition()
true, -1.0, nullptr,
false, "geantino", 0
);
// clang-format on
}
theInstance = static_cast<G4UnknownParticle*>(anInstance);
return theInstance;
}
G4UnknownParticle* G4UnknownParticle::UnknownParticleDefinition()
G4UnknownParticle* G4UnknownParticle::UnknownParticleDefinition()
{
return Definition();
}
G4UnknownParticle* G4UnknownParticle::UnknownParticle()
G4UnknownParticle* G4UnknownParticle::UnknownParticle()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,28 +35,20 @@
#ifndef G4AntiLambda_h
#define G4AntiLambda_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiLambda ###
// ######################################################################
class G4AntiLambda : public G4ParticleDefinition
{
private:
static G4AntiLambda* theInstance;
G4AntiLambda(){}
~G4AntiLambda() override= default;
public:
static G4AntiLambda* Definition();
static G4AntiLambda* AntiLambdaDefinition();
static G4AntiLambda* AntiLambda();
public:
static G4AntiLambda* Definition();
static G4AntiLambda* AntiLambdaDefinition();
static G4AntiLambda* AntiLambda();
private:
G4AntiLambda() {}
~G4AntiLambda() override = default;
static G4AntiLambda* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -34,31 +31,25 @@
//
// Created Hisaya Kurashige, 16 June 1997
// **********************************************************************
//
//
#ifndef G4AntiLambdab_h
#define G4AntiLambdab_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiLambdab ###
// ######################################################################
class G4AntiLambdab : public G4ParticleDefinition
{
private:
static G4AntiLambdab* theInstance;
G4AntiLambdab(){}
~G4AntiLambdab() override= default;
public:
static G4AntiLambdab* Definition();
static G4AntiLambdab* AntiLambdabDefinition();
static G4AntiLambdab* AntiLambdab();
public:
static G4AntiLambdab* Definition();
static G4AntiLambdab* AntiLambdabDefinition();
static G4AntiLambdab* AntiLambdab();
private:
G4AntiLambdab() {}
~G4AntiLambdab() override = default;
static G4AntiLambdab* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiLambdacPlus_h
#define G4AntiLambdacPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiLambdacPlus ###
// ######################################################################
class G4AntiLambdacPlus : public G4ParticleDefinition
{
private:
static G4AntiLambdacPlus* theInstance;
G4AntiLambdacPlus(){}
~G4AntiLambdacPlus() override= default;
public:
static G4AntiLambdacPlus* Definition();
static G4AntiLambdacPlus* AntiLambdacPlusDefinition();
static G4AntiLambdacPlus* AntiLambdacPlus();
public:
static G4AntiLambdacPlus* Definition();
static G4AntiLambdacPlus* AntiLambdacPlusDefinition();
static G4AntiLambdacPlus* AntiLambdacPlus();
private:
G4AntiLambdacPlus() {}
~G4AntiLambdacPlus() override = default;
static G4AntiLambdacPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiNeutron_h
#define G4AntiNeutron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ANTINEUTRON ###
// ######################################################################
class G4AntiNeutron : public G4ParticleDefinition
{
private:
static G4AntiNeutron* theInstance;
G4AntiNeutron(){}
~G4AntiNeutron() override= default;
public:
static G4AntiNeutron* Definition();
static G4AntiNeutron* AntiNeutronDefinition();
static G4AntiNeutron* AntiNeutron();
public:
static G4AntiNeutron* Definition();
static G4AntiNeutron* AntiNeutronDefinition();
static G4AntiNeutron* AntiNeutron();
private:
G4AntiNeutron() {}
~G4AntiNeutron() override = default;
static G4AntiNeutron* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiOmegaMinus_h
#define G4AntiOmegaMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiOmegaMinus ###
// ######################################################################
class G4AntiOmegaMinus : public G4ParticleDefinition
{
private:
static G4AntiOmegaMinus* theInstance;
G4AntiOmegaMinus(){}
~G4AntiOmegaMinus() override= default;
public:
static G4AntiOmegaMinus* Definition();
static G4AntiOmegaMinus* AntiOmegaMinusDefinition();
static G4AntiOmegaMinus* AntiOmegaMinus();
public:
static G4AntiOmegaMinus* Definition();
static G4AntiOmegaMinus* AntiOmegaMinusDefinition();
static G4AntiOmegaMinus* AntiOmegaMinus();
private:
G4AntiOmegaMinus() {}
~G4AntiOmegaMinus() override = default;
static G4AntiOmegaMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiOmegabMinus_h
#define G4AntiOmegabMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiOmegabMinus ###
// ######################################################################
class G4AntiOmegabMinus : public G4ParticleDefinition
{
private:
static G4AntiOmegabMinus* theInstance;
G4AntiOmegabMinus(){}
~G4AntiOmegabMinus() override= default;
public:
static G4AntiOmegabMinus* Definition();
static G4AntiOmegabMinus* AntiOmegabMinusDefinition();
static G4AntiOmegabMinus* AntiOmegabMinus();
public:
static G4AntiOmegabMinus* Definition();
static G4AntiOmegabMinus* AntiOmegabMinusDefinition();
static G4AntiOmegabMinus* AntiOmegabMinus();
private:
G4AntiOmegabMinus() {}
~G4AntiOmegabMinus() override = default;
static G4AntiOmegabMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiOmegacZero_h
#define G4AntiOmegacZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiOmegacZero ###
// ######################################################################
class G4AntiOmegacZero : public G4ParticleDefinition
{
private:
static G4AntiOmegacZero* theInstance;
G4AntiOmegacZero(){}
~G4AntiOmegacZero() override= default;
public:
static G4AntiOmegacZero* Definition();
static G4AntiOmegacZero* AntiOmegacZeroDefinition();
static G4AntiOmegacZero* AntiOmegacZero();
public:
static G4AntiOmegacZero* Definition();
static G4AntiOmegacZero* AntiOmegacZeroDefinition();
static G4AntiOmegacZero* AntiOmegacZero();
private:
G4AntiOmegacZero() {}
~G4AntiOmegacZero() override = default;
static G4AntiOmegacZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,31 +35,20 @@
#ifndef G4AntiProton_h
#define G4AntiProton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### ANTIPROTON ###
// ######################################################################
class G4AntiProton : public G4ParticleDefinition
{
private:
static G4AntiProton* theInstance;
G4AntiProton(){}
~G4AntiProton() override= default;
public:
static G4AntiProton* Definition();
static G4AntiProton* AntiProtonDefinition();
static G4AntiProton* AntiProton();
public:
static G4AntiProton* Definition();
static G4AntiProton* AntiProtonDefinition();
static G4AntiProton* AntiProton();
private:
G4AntiProton() {}
~G4AntiProton() override = default;
static G4AntiProton* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmaMinus_h
#define G4AntiSigmaMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmaMinus ###
// ######################################################################
class G4AntiSigmaMinus : public G4ParticleDefinition
{
private:
static G4AntiSigmaMinus* theInstance;
G4AntiSigmaMinus(){}
~G4AntiSigmaMinus() override= default;
public:
static G4AntiSigmaMinus* Definition();
static G4AntiSigmaMinus* AntiSigmaMinusDefinition();
static G4AntiSigmaMinus* AntiSigmaMinus();
public:
static G4AntiSigmaMinus* Definition();
static G4AntiSigmaMinus* AntiSigmaMinusDefinition();
static G4AntiSigmaMinus* AntiSigmaMinus();
private:
G4AntiSigmaMinus() {}
~G4AntiSigmaMinus() override = default;
static G4AntiSigmaMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmaPlus_h
#define G4AntiSigmaPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmaPlus ###
// ######################################################################
class G4AntiSigmaPlus : public G4ParticleDefinition
{
private:
static G4AntiSigmaPlus* theInstance;
G4AntiSigmaPlus(){}
~G4AntiSigmaPlus() override= default;
public:
static G4AntiSigmaPlus* Definition();
static G4AntiSigmaPlus* AntiSigmaPlusDefinition();
static G4AntiSigmaPlus* AntiSigmaPlus();
public:
static G4AntiSigmaPlus* Definition();
static G4AntiSigmaPlus* AntiSigmaPlusDefinition();
static G4AntiSigmaPlus* AntiSigmaPlus();
private:
G4AntiSigmaPlus() {}
~G4AntiSigmaPlus() override = default;
static G4AntiSigmaPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmaZero_h
#define G4AntiSigmaZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmaZero ###
// ######################################################################
class G4AntiSigmaZero : public G4ParticleDefinition
{
private:
static G4AntiSigmaZero* theInstance;
G4AntiSigmaZero(){}
~G4AntiSigmaZero() override= default;
public:
static G4AntiSigmaZero* Definition();
static G4AntiSigmaZero* AntiSigmaZeroDefinition();
static G4AntiSigmaZero* AntiSigmaZero();
public:
static G4AntiSigmaZero* Definition();
static G4AntiSigmaZero* AntiSigmaZeroDefinition();
static G4AntiSigmaZero* AntiSigmaZero();
private:
G4AntiSigmaZero() {}
~G4AntiSigmaZero() override = default;
static G4AntiSigmaZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4AntiSigmabMinus_h
#define G4AntiSigmabMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmabMinus ###
// ######################################################################
class G4AntiSigmabMinus : public G4ParticleDefinition
{
private:
static G4AntiSigmabMinus* theInstance;
G4AntiSigmabMinus(){}
~G4AntiSigmabMinus() override= default;
public:
static G4AntiSigmabMinus* Definition();
static G4AntiSigmabMinus* AntiSigmabMinusDefinition();
static G4AntiSigmabMinus* AntiSigmabMinus();
public:
static G4AntiSigmabMinus* Definition();
static G4AntiSigmabMinus* AntiSigmabMinusDefinition();
static G4AntiSigmabMinus* AntiSigmabMinus();
private:
G4AntiSigmabMinus() {}
~G4AntiSigmabMinus() override = default;
static G4AntiSigmabMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4AntiSigmabPlus_h
#define G4AntiSigmabPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmabPlus ###
// ######################################################################
class G4AntiSigmabPlus : public G4ParticleDefinition
{
private:
static G4AntiSigmabPlus* theInstance;
G4AntiSigmabPlus(){}
~G4AntiSigmabPlus() override= default;
public:
static G4AntiSigmabPlus* Definition();
static G4AntiSigmabPlus* AntiSigmabPlusDefinition();
static G4AntiSigmabPlus* AntiSigmabPlus();
public:
static G4AntiSigmabPlus* Definition();
static G4AntiSigmabPlus* AntiSigmabPlusDefinition();
static G4AntiSigmabPlus* AntiSigmabPlus();
private:
G4AntiSigmabPlus() {}
~G4AntiSigmabPlus() override = default;
static G4AntiSigmabPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4AntiSigmabZero_h
#define G4AntiSigmabZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmabZero ###
// ######################################################################
class G4AntiSigmabZero : public G4ParticleDefinition
{
private:
static G4AntiSigmabZero* theInstance;
G4AntiSigmabZero(){}
~G4AntiSigmabZero() override= default;
public:
static G4AntiSigmabZero* Definition();
static G4AntiSigmabZero* AntiSigmabZeroDefinition();
static G4AntiSigmabZero* AntiSigmabZero();
public:
static G4AntiSigmabZero* Definition();
static G4AntiSigmabZero* AntiSigmabZeroDefinition();
static G4AntiSigmabZero* AntiSigmabZero();
private:
G4AntiSigmabZero() {}
~G4AntiSigmabZero() override = default;
static G4AntiSigmabZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmacPlus_h
#define G4AntiSigmacPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmacPlus ###
// ######################################################################
class G4AntiSigmacPlus : public G4ParticleDefinition
{
private:
static G4AntiSigmacPlus* theInstance;
G4AntiSigmacPlus(){}
~G4AntiSigmacPlus() override= default;
public:
static G4AntiSigmacPlus* Definition();
static G4AntiSigmacPlus* AntiSigmacPlusDefinition();
static G4AntiSigmacPlus* AntiSigmacPlus();
public:
static G4AntiSigmacPlus* Definition();
static G4AntiSigmacPlus* AntiSigmacPlusDefinition();
static G4AntiSigmacPlus* AntiSigmacPlus();
private:
G4AntiSigmacPlus() {}
~G4AntiSigmacPlus() override = default;
static G4AntiSigmacPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmacPlusPlus_h
#define G4AntiSigmacPlusPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmacPlusPlus ###
// ######################################################################
class G4AntiSigmacPlusPlus : public G4ParticleDefinition
{
private:
static G4AntiSigmacPlusPlus* theInstance;
G4AntiSigmacPlusPlus(){}
~G4AntiSigmacPlusPlus() override= default;
public:
static G4AntiSigmacPlusPlus* Definition();
static G4AntiSigmacPlusPlus* AntiSigmacPlusPlusDefinition();
static G4AntiSigmacPlusPlus* AntiSigmacPlusPlus();
public:
static G4AntiSigmacPlusPlus* Definition();
static G4AntiSigmacPlusPlus* AntiSigmacPlusPlusDefinition();
static G4AntiSigmacPlusPlus* AntiSigmacPlusPlus();
private:
G4AntiSigmacPlusPlus() {}
~G4AntiSigmacPlusPlus() override = default;
static G4AntiSigmacPlusPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiSigmacZero_h
#define G4AntiSigmacZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiSigmacZero ###
// ######################################################################
class G4AntiSigmacZero : public G4ParticleDefinition
{
private:
static G4AntiSigmacZero* theInstance;
G4AntiSigmacZero(){}
~G4AntiSigmacZero() override= default;
public:
static G4AntiSigmacZero* Definition();
static G4AntiSigmacZero* AntiSigmacZeroDefinition();
static G4AntiSigmacZero* AntiSigmacZero();
public:
static G4AntiSigmacZero* Definition();
static G4AntiSigmacZero* AntiSigmacZeroDefinition();
static G4AntiSigmacZero* AntiSigmacZero();
private:
G4AntiSigmacZero() {}
~G4AntiSigmacZero() override = default;
static G4AntiSigmacZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiXiMinus_h
#define G4AntiXiMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXiMinus ###
// ######################################################################
class G4AntiXiMinus : public G4ParticleDefinition
{
private:
static G4AntiXiMinus* theInstance;
G4AntiXiMinus(){}
~G4AntiXiMinus() override= default;
public:
static G4AntiXiMinus* Definition();
static G4AntiXiMinus* AntiXiMinusDefinition();
static G4AntiXiMinus* AntiXiMinus();
public:
static G4AntiXiMinus* Definition();
static G4AntiXiMinus* AntiXiMinusDefinition();
static G4AntiXiMinus* AntiXiMinus();
private:
G4AntiXiMinus() {}
~G4AntiXiMinus() override = default;
static G4AntiXiMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,36 +35,20 @@
#ifndef G4AntiXiZero_h
#define G4AntiXiZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXiZero ###
// ######################################################################
class G4AntiXiZero : public G4ParticleDefinition
{
private:
static G4AntiXiZero* theInstance;
G4AntiXiZero(){}
~G4AntiXiZero() override= default;
public:
static G4AntiXiZero* Definition();
static G4AntiXiZero* AntiXiZeroDefinition();
static G4AntiXiZero* AntiXiZero();
public:
static G4AntiXiZero* Definition();
static G4AntiXiZero* AntiXiZeroDefinition();
static G4AntiXiZero* AntiXiZero();
private:
G4AntiXiZero() {}
~G4AntiXiZero() override = default;
static G4AntiXiZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4AntiXibMinus_h
#define G4AntiXibMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXibMinus ###
// ######################################################################
class G4AntiXibMinus : public G4ParticleDefinition
{
private:
static G4AntiXibMinus* theInstance;
G4AntiXibMinus(){}
~G4AntiXibMinus() override= default;
public:
static G4AntiXibMinus* Definition();
static G4AntiXibMinus* AntiXibMinusDefinition();
static G4AntiXibMinus* AntiXibMinus();
public:
static G4AntiXibMinus* Definition();
static G4AntiXibMinus* AntiXibMinusDefinition();
static G4AntiXibMinus* AntiXibMinus();
private:
G4AntiXibMinus() {}
~G4AntiXibMinus() override = default;
static G4AntiXibMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4AntiXibZero_h
#define G4AntiXibZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXibZero ###
// ######################################################################
class G4AntiXibZero : public G4ParticleDefinition
{
private:
static G4AntiXibZero* theInstance;
G4AntiXibZero(){}
~G4AntiXibZero() override= default;
public:
static G4AntiXibZero* Definition();
static G4AntiXibZero* AntiXibZeroDefinition();
static G4AntiXibZero* AntiXibZero();
public:
static G4AntiXibZero* Definition();
static G4AntiXibZero* AntiXibZeroDefinition();
static G4AntiXibZero* AntiXibZero();
private:
G4AntiXibZero() {}
~G4AntiXibZero() override = default;
static G4AntiXibZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiXicPlus_h
#define G4AntiXicPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXicPlus ###
// ######################################################################
class G4AntiXicPlus : public G4ParticleDefinition
{
private:
static G4AntiXicPlus* theInstance;
G4AntiXicPlus(){}
~G4AntiXicPlus() override= default;
public:
static G4AntiXicPlus* Definition();
static G4AntiXicPlus* AntiXicPlusDefinition();
static G4AntiXicPlus* AntiXicPlus();
public:
static G4AntiXicPlus* Definition();
static G4AntiXicPlus* AntiXicPlusDefinition();
static G4AntiXicPlus* AntiXicPlus();
private:
G4AntiXicPlus() {}
~G4AntiXicPlus() override = default;
static G4AntiXicPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4AntiXicZero_h
#define G4AntiXicZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### AntiXicZero ###
// ######################################################################
class G4AntiXicZero : public G4ParticleDefinition
{
private:
static G4AntiXicZero* theInstance;
G4AntiXicZero(){}
~G4AntiXicZero() override= default;
public:
static G4AntiXicZero* Definition();
static G4AntiXicZero* AntiXicZeroDefinition();
static G4AntiXicZero* AntiXicZero();
public:
static G4AntiXicZero* Definition();
static G4AntiXicZero* AntiXicZeroDefinition();
static G4AntiXicZero* AntiXicZero();
private:
G4AntiXicZero() {}
~G4AntiXicZero() override = default;
static G4AntiXicZero* theInstance;
};
#endif
@@ -25,19 +25,16 @@
//
//
//
//
//
// --------------------------------------------------------------
// GEANT 4 class implementation file
// GEANT 4 class implementation file
//
#ifndef G4BaryonConstructor_h
#define G4BaryonConstructor_h 1
#include "globals.hh"
#include "G4ios.hh"
class G4BaryonConstructor
{
//This class is a utility class for construction
// This class is a utility class for construction
public:
static void ConstructParticle();
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,34 +35,20 @@
#ifndef G4Lambda_h
#define G4Lambda_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### Lambda ###
// ######################################################################
class G4Lambda : public G4ParticleDefinition
{
private:
static G4Lambda* theInstance;
G4Lambda(){}
~G4Lambda() override= default;
public:
static G4Lambda* Definition();
static G4Lambda* LambdaDefinition();
static G4Lambda* Lambda();
public:
static G4Lambda* Definition();
static G4Lambda* LambdaDefinition();
static G4Lambda* Lambda();
private:
G4Lambda() {}
~G4Lambda() override = default;
static G4Lambda* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -34,31 +31,25 @@
//
// Created Hisaya Kurashige, 16 June 1997
// **********************************************************************
//
//
#ifndef G4Lambdab_h
#define G4Lambdab_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### Lambdab ###
// ######################################################################
class G4Lambdab : public G4ParticleDefinition
{
private:
static G4Lambdab* theInstance;
G4Lambdab(){}
~G4Lambdab() override= default;
public:
static G4Lambdab* Definition();
static G4Lambdab* LambdabDefinition();
static G4Lambdab* Lambdab();
public:
static G4Lambdab* Definition();
static G4Lambdab* LambdabDefinition();
static G4Lambdab* Lambdab();
private:
G4Lambdab() {}
~G4Lambdab() override = default;
static G4Lambdab* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4LambdacPlus_h
#define G4LambdacPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### LambdacPlus ###
// ######################################################################
class G4LambdacPlus : public G4ParticleDefinition
{
private:
static G4LambdacPlus* theInstance;
G4LambdacPlus(){}
~G4LambdacPlus() override= default;
public:
static G4LambdacPlus* Definition();
static G4LambdacPlus* LambdacPlusDefinition();
static G4LambdacPlus* LambdacPlus();
public:
static G4LambdacPlus* Definition();
static G4LambdacPlus* LambdacPlusDefinition();
static G4LambdacPlus* LambdacPlus();
private:
G4LambdacPlus() {}
~G4LambdacPlus() override = default;
static G4LambdacPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,26 +35,20 @@
#ifndef G4Neutron_h
#define G4Neutron_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4Ions.hh"
// ######################################################################
// ### NEUTRON ###
// ######################################################################
class G4Neutron : public G4Ions
{
private:
static G4Neutron* theInstance;
G4Neutron(){}
~G4Neutron() override= default;
public:
static G4Neutron* Definition();
static G4Neutron* NeutronDefinition();
static G4Neutron* Neutron();
public:
static G4Neutron* Definition();
static G4Neutron* NeutronDefinition();
static G4Neutron* Neutron();
private:
G4Neutron() {}
~G4Neutron() override = default;
static G4Neutron* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4OmegaMinus_h
#define G4OmegaMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### OmegaMinus ###
// ######################################################################
class G4OmegaMinus : public G4ParticleDefinition
{
private:
static G4OmegaMinus* theInstance;
G4OmegaMinus(){}
~G4OmegaMinus() override= default;
public:
static G4OmegaMinus* Definition();
static G4OmegaMinus* OmegaMinusDefinition();
static G4OmegaMinus* OmegaMinus();
public:
static G4OmegaMinus* Definition();
static G4OmegaMinus* OmegaMinusDefinition();
static G4OmegaMinus* OmegaMinus();
private:
G4OmegaMinus() {}
~G4OmegaMinus() override = default;
static G4OmegaMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4OmegabMinus_h
#define G4OmegabMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### OmegabMinus ###
// ######################################################################
class G4OmegabMinus : public G4ParticleDefinition
{
private:
static G4OmegabMinus* theInstance;
G4OmegabMinus(){}
~G4OmegabMinus() override= default;
public:
static G4OmegabMinus* Definition();
static G4OmegabMinus* OmegabMinusDefinition();
static G4OmegabMinus* OmegabMinus();
public:
static G4OmegabMinus* Definition();
static G4OmegabMinus* OmegabMinusDefinition();
static G4OmegabMinus* OmegabMinus();
private:
G4OmegabMinus() {}
~G4OmegabMinus() override = default;
static G4OmegabMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4OmegacZero_h
#define G4OmegacZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### OmegacZero ###
// ######################################################################
class G4OmegacZero : public G4ParticleDefinition
{
private:
static G4OmegacZero* theInstance;
G4OmegacZero(){}
~G4OmegacZero() override= default;
public:
static G4OmegacZero* Definition();
static G4OmegacZero* OmegacZeroDefinition();
static G4OmegacZero* OmegacZero();
public:
static G4OmegacZero* Definition();
static G4OmegacZero* OmegacZeroDefinition();
static G4OmegacZero* OmegacZero();
private:
G4OmegacZero() {}
~G4OmegacZero() override = default;
static G4OmegacZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,27 +35,20 @@
#ifndef G4Proton_h
#define G4Proton_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
#include "G4Ions.hh"
// ######################################################################
// ### PROTON ###
// ######################################################################
class G4Proton : public G4Ions
{
private:
static G4Proton* theInstance;
G4Proton(){}
~G4Proton() override= default;
public:
static G4Proton* Definition();
static G4Proton* ProtonDefinition();
static G4Proton* Proton();
public:
static G4Proton* Definition();
static G4Proton* ProtonDefinition();
static G4Proton* Proton();
private:
G4Proton() {}
~G4Proton() override = default;
static G4Proton* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmaMinus_h
#define G4SigmaMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmaMinus ###
// ######################################################################
class G4SigmaMinus : public G4ParticleDefinition
{
private:
static G4SigmaMinus* theInstance;
G4SigmaMinus(){}
~G4SigmaMinus() override= default;
public:
static G4SigmaMinus* Definition();
static G4SigmaMinus* SigmaMinusDefinition();
static G4SigmaMinus* SigmaMinus();
public:
static G4SigmaMinus* Definition();
static G4SigmaMinus* SigmaMinusDefinition();
static G4SigmaMinus* SigmaMinus();
private:
G4SigmaMinus() {}
~G4SigmaMinus() override = default;
static G4SigmaMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmaPlus_h
#define G4SigmaPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmaPlus ###
// ######################################################################
class G4SigmaPlus : public G4ParticleDefinition
{
private:
static G4SigmaPlus* theInstance;
G4SigmaPlus(){}
~G4SigmaPlus() override= default;
public:
static G4SigmaPlus* Definition();
static G4SigmaPlus* SigmaPlusDefinition();
static G4SigmaPlus* SigmaPlus();
public:
static G4SigmaPlus* Definition();
static G4SigmaPlus* SigmaPlusDefinition();
static G4SigmaPlus* SigmaPlus();
private:
G4SigmaPlus() {}
~G4SigmaPlus() override = default;
static G4SigmaPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmaZero_h
#define G4SigmaZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmaZero ###
// ######################################################################
class G4SigmaZero : public G4ParticleDefinition
{
private:
static G4SigmaZero* theInstance;
G4SigmaZero(){}
~G4SigmaZero() override= default;
public:
static G4SigmaZero* Definition();
static G4SigmaZero* SigmaZeroDefinition();
static G4SigmaZero* SigmaZero();
public:
static G4SigmaZero* Definition();
static G4SigmaZero* SigmaZeroDefinition();
static G4SigmaZero* SigmaZero();
private:
G4SigmaZero() {}
~G4SigmaZero() override = default;
static G4SigmaZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4SigmabMinus_h
#define G4SigmabMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmabMinus ###
// ######################################################################
class G4SigmabMinus : public G4ParticleDefinition
{
private:
static G4SigmabMinus* theInstance;
G4SigmabMinus(){}
~G4SigmabMinus() override= default;
public:
static G4SigmabMinus* Definition();
static G4SigmabMinus* SigmabMinusDefinition();
static G4SigmabMinus* SigmabMinus();
public:
static G4SigmabMinus* Definition();
static G4SigmabMinus* SigmabMinusDefinition();
static G4SigmabMinus* SigmabMinus();
private:
G4SigmabMinus() {}
~G4SigmabMinus() override = default;
static G4SigmabMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4SigmabPlus_h
#define G4SigmabPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmabPlus ###
// ######################################################################
class G4SigmabPlus : public G4ParticleDefinition
{
private:
static G4SigmabPlus* theInstance;
G4SigmabPlus(){}
~G4SigmabPlus() override= default;
public:
static G4SigmabPlus* Definition();
static G4SigmabPlus* SigmabPlusDefinition();
static G4SigmabPlus* SigmabPlus();
public:
static G4SigmabPlus* Definition();
static G4SigmabPlus* SigmabPlusDefinition();
static G4SigmabPlus* SigmabPlus();
private:
G4SigmabPlus() {}
~G4SigmabPlus() override = default;
static G4SigmabPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4SigmabZero_h
#define G4SigmabZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmabZero ###
// ######################################################################
class G4SigmabZero : public G4ParticleDefinition
{
private:
static G4SigmabZero* theInstance;
G4SigmabZero(){}
~G4SigmabZero() override= default;
public:
static G4SigmabZero* Definition();
static G4SigmabZero* SigmabZeroDefinition();
static G4SigmabZero* SigmabZero();
public:
static G4SigmabZero* Definition();
static G4SigmabZero* SigmabZeroDefinition();
static G4SigmabZero* SigmabZero();
private:
G4SigmabZero() {}
~G4SigmabZero() override = default;
static G4SigmabZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmacPlus_h
#define G4SigmacPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmacPlus ###
// ######################################################################
class G4SigmacPlus : public G4ParticleDefinition
{
private:
static G4SigmacPlus* theInstance;
G4SigmacPlus(){}
~G4SigmacPlus() override= default;
public:
static G4SigmacPlus* Definition();
static G4SigmacPlus* SigmacPlusDefinition();
static G4SigmacPlus* SigmacPlus();
public:
static G4SigmacPlus* Definition();
static G4SigmacPlus* SigmacPlusDefinition();
static G4SigmacPlus* SigmacPlus();
private:
G4SigmacPlus() {}
~G4SigmacPlus() override = default;
static G4SigmacPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmacPlusPlus_h
#define G4SigmacPlusPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmacPlusPlus ###
// ######################################################################
class G4SigmacPlusPlus : public G4ParticleDefinition
{
private:
static G4SigmacPlusPlus* theInstance;
G4SigmacPlusPlus(){}
~G4SigmacPlusPlus() override= default;
public:
static G4SigmacPlusPlus* Definition();
static G4SigmacPlusPlus* SigmacPlusPlusDefinition();
static G4SigmacPlusPlus* SigmacPlusPlus();
public:
static G4SigmacPlusPlus* Definition();
static G4SigmacPlusPlus* SigmacPlusPlusDefinition();
static G4SigmacPlusPlus* SigmacPlusPlus();
private:
G4SigmacPlusPlus() {}
~G4SigmacPlusPlus() override = default;
static G4SigmacPlusPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4SigmacZero_h
#define G4SigmacZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### SigmacZero ###
// ######################################################################
class G4SigmacZero : public G4ParticleDefinition
{
private:
static G4SigmacZero* theInstance;
G4SigmacZero(){}
~G4SigmacZero() override= default;
public:
static G4SigmacZero* Definition();
static G4SigmacZero* SigmacZeroDefinition();
static G4SigmacZero* SigmacZero();
public:
static G4SigmacZero* Definition();
static G4SigmacZero* SigmacZeroDefinition();
static G4SigmacZero* SigmacZero();
private:
G4SigmacZero() {}
~G4SigmacZero() override = default;
static G4SigmacZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4XiMinus_h
#define G4XiMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XiMinus ###
// ######################################################################
class G4XiMinus : public G4ParticleDefinition
{
private:
static G4XiMinus* theInstance;
G4XiMinus(){}
~G4XiMinus() override= default;
public:
static G4XiMinus* Definition();
static G4XiMinus* XiMinusDefinition();
static G4XiMinus* XiMinus();
public:
static G4XiMinus* Definition();
static G4XiMinus* XiMinusDefinition();
static G4XiMinus* XiMinus();
private:
G4XiMinus() {}
~G4XiMinus() override = default;
static G4XiMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4XiZero_h
#define G4XiZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XiZero ###
// ######################################################################
class G4XiZero : public G4ParticleDefinition
{
private:
static G4XiZero* theInstance;
G4XiZero(){}
~G4XiZero() override= default;
public:
static G4XiZero* Definition();
static G4XiZero* XiZeroDefinition();
static G4XiZero* XiZero();
public:
static G4XiZero* Definition();
static G4XiZero* XiZeroDefinition();
static G4XiZero* XiZero();
private:
G4XiZero() {}
~G4XiZero() override = default;
static G4XiZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4XibMinus_h
#define G4XibMinus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XibMinus ###
// ######################################################################
class G4XibMinus : public G4ParticleDefinition
{
private:
static G4XibMinus* theInstance;
G4XibMinus(){}
~G4XibMinus() override= default;
public:
static G4XibMinus* Definition();
static G4XibMinus* XibMinusDefinition();
static G4XibMinus* XibMinus();
public:
static G4XibMinus* Definition();
static G4XibMinus* XibMinusDefinition();
static G4XibMinus* XibMinus();
private:
G4XibMinus() {}
~G4XibMinus() override = default;
static G4XibMinus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -39,25 +36,20 @@
#ifndef G4XibZero_h
#define G4XibZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XibZero ###
// ######################################################################
class G4XibZero : public G4ParticleDefinition
{
private:
static G4XibZero* theInstance;
G4XibZero(){}
~G4XibZero() override= default;
public:
static G4XibZero* Definition();
static G4XibZero* XibZeroDefinition();
static G4XibZero* XibZero();
public:
static G4XibZero* Definition();
static G4XibZero* XibZeroDefinition();
static G4XibZero* XibZero();
private:
G4XibZero() {}
~G4XibZero() override = default;
static G4XibZero* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,25 +35,20 @@
#ifndef G4XicPlus_h
#define G4XicPlus_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XicPlus ###
// ######################################################################
class G4XicPlus : public G4ParticleDefinition
{
private:
static G4XicPlus* theInstance;
G4XicPlus(){}
~G4XicPlus() override= default;
public:
static G4XicPlus* Definition();
static G4XicPlus* XicPlusDefinition();
static G4XicPlus* XicPlus();
public:
static G4XicPlus* Definition();
static G4XicPlus* XicPlusDefinition();
static G4XicPlus* XicPlus();
private:
G4XicPlus() {}
~G4XicPlus() override = default;
static G4XicPlus* theInstance;
};
#endif
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ------------------------------------------------------------
// GEANT 4 class header file
//
@@ -38,28 +35,20 @@
#ifndef G4XicZero_h
#define G4XicZero_h 1
#include "globals.hh"
#include "G4ios.hh"
#include "G4ParticleDefinition.hh"
// ######################################################################
// ### XicZero ###
// ######################################################################
class G4XicZero : public G4ParticleDefinition
{
private:
static G4XicZero* theInstance;
G4XicZero(){}
~G4XicZero() override= default;
public:
static G4XicZero* Definition();
static G4XicZero* XicZeroDefinition();
static G4XicZero* XicZero();
public:
static G4XicZero* Definition();
static G4XicZero* XicZeroDefinition();
static G4XicZero* XicZero();
private:
G4XicZero() {}
~G4XicZero() override = default;
static G4XicZero* theInstance;
};
#endif
@@ -99,4 +99,4 @@ geant4_add_module(G4baryons
G4XibMinus.cc
G4XibZero.cc)
geant4_module_link_libraries(G4baryons PUBLIC G4partman G4globman)
geant4_module_link_libraries(G4baryons PUBLIC G4partman PRIVATE G4globman)
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,38 +33,37 @@
// ----------------------------------------------------------------------
#include "G4AntiLambda.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiLambda ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
#include "G4VDecayChannel.hh"
G4AntiLambda* G4AntiLambda::theInstance = nullptr;
G4AntiLambda* G4AntiLambda::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_lambda";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 1.115683*GeV, 2.501e-12*MeV, 0.0,
1, +1, 0,
@@ -75,38 +71,38 @@ G4AntiLambda* G4AntiLambda::Definition()
"baryon", 0, -1, -3122,
false, 0.2631*ns, nullptr,
false, "lambda");
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 0.613 * mN);
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(0.613 * mN);
// create Decay Table
auto table = new G4DecayTable();
//create Decay Table
auto table = new G4DecayTable();
// create decay channels
auto mode = new G4VDecayChannel*[2];
auto mode = new G4VDecayChannel*[2];
// anti_lambda -> anti_proton + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_lambda",0.639,2,"anti_proton","pi+");
mode[0] = new G4PhaseSpaceDecayChannel("anti_lambda", 0.639, 2, "anti_proton", "pi+");
// anti_lambda -> anti_neutron + pi0
mode[1] = new G4PhaseSpaceDecayChannel("anti_lambda",0.358,2,"anti_neutron","pi0");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
mode[1] = new G4PhaseSpaceDecayChannel("anti_lambda", 0.358, 2, "anti_neutron", "pi0");
for (G4int index = 0; index < 2; index++)
table->Insert(mode[index]);
delete[] mode;
anInstance->SetDecayTable(table);
}
theInstance = static_cast<G4AntiLambda*>(anInstance);
return theInstance;
}
G4AntiLambda* G4AntiLambda::AntiLambdaDefinition()
G4AntiLambda* G4AntiLambda::AntiLambdaDefinition()
{
return Definition();
}
G4AntiLambda* G4AntiLambda::AntiLambda()
G4AntiLambda* G4AntiLambda::AntiLambda()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -34,40 +31,34 @@
//
// Created Hisaya Kurashige, 16 June 1997
// **********************************************************************
//
//
#include "G4AntiLambdab.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiLambdab ###
// ######################################################################
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AntiLambdab* G4AntiLambdab::theInstance = nullptr;
G4AntiLambdab* G4AntiLambdab::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_lambda_b";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 5.61958*GeV, 0.4478e-9*MeV, 0.,
1, +1, 0,
@@ -76,17 +67,17 @@ G4AntiLambdab* G4AntiLambdab::Definition()
false, 1.470e-3*ns, nullptr,
false, "lambda_b");
}
// clang-format on
theInstance = static_cast<G4AntiLambdab*>(anInstance);
return theInstance;
}
G4AntiLambdab* G4AntiLambdab::AntiLambdabDefinition()
{
G4AntiLambdab* G4AntiLambdab::AntiLambdabDefinition()
{
return Definition();
}
G4AntiLambdab* G4AntiLambdab::AntiLambdab()
{
G4AntiLambdab* G4AntiLambdab::AntiLambdab()
{
return Definition();
}
@@ -23,72 +23,63 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// New impelemenataion as an utility class M.Asai, 26 July 2004
// New impelemenataion as an utility class M.Asai, 26 July 2004
// Updated width and lifetime following PDG 2023 S.Okada, 5 November 2023
// ----------------------------------------------------------------------
#include "G4AntiLambdacPlus.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiLambdacPlus ###
// ######################################################################
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AntiLambdacPlus* G4AntiLambdacPlus::theInstance = nullptr;
G4AntiLambdacPlus* G4AntiLambdacPlus::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_lambda_c+";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 2.28646*GeV, 3.30e-9*MeV, -1.*eplus,
name, 2.28646*GeV, 3.27e-9*MeV, -1.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, -1, -4122,
false, 0.200e-3*ns, nullptr,
false, 0.2015e-3*ns, nullptr,
false, "lambda_c");
// decay mode is not defined here, with expectation of pre-assigned.
}
// clang-format on
// decay mode is not defined here, with expectation of pre-assigned.
}
theInstance = static_cast<G4AntiLambdacPlus*>(anInstance);
return theInstance;
}
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlusDefinition()
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlusDefinition()
{
return Definition();
}
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlus()
G4AntiLambdacPlus* G4AntiLambdacPlus::AntiLambdacPlus()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -37,39 +34,38 @@
// ----------------------------------------------------------------------
#include "G4AntiNeutron.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4NeutronBetaDecayChannel.hh"
#include "G4DecayTable.hh"
#include "G4NeutronBetaDecayChannel.hh"
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
#include "G4VDecayChannel.hh"
// ######################################################################
// ### ANTI NEUTRON ###
// ######################################################################
G4AntiNeutron* G4AntiNeutron::theInstance = nullptr;
G4AntiNeutron* G4AntiNeutron::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_neutron";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double neutron_mass_c2 = 939.56563 * MeV;
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double neutron_mass_c2 = 939.56563 * MeV;
// clang-format off
anInstance = new G4ParticleDefinition(
name, neutron_mass_c2, 7.478e-28*GeV, 0.0,
1, +1, 0,
@@ -78,29 +74,28 @@ G4AntiNeutron* G4AntiNeutron::Definition()
false, 880.2*second, nullptr,
false, "nucleon", 2112
);
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 1.9130427 * mN);
//create Decay Table
auto table = new G4DecayTable();
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(1.9130427 * mN);
// create Decay Table
auto table = new G4DecayTable();
// create a decay channel
G4VDecayChannel* mode = new G4NeutronBetaDecayChannel("anti_neutron",1.00);
G4VDecayChannel* mode = new G4NeutronBetaDecayChannel("anti_neutron", 1.00);
table->Insert(mode);
anInstance->SetDecayTable(table);
}
theInstance = static_cast<G4AntiNeutron*>(anInstance);
return theInstance;
}
G4AntiNeutron* G4AntiNeutron::AntiNeutronDefinition()
G4AntiNeutron* G4AntiNeutron::AntiNeutronDefinition()
{
return Definition();
}
G4AntiNeutron* G4AntiNeutron::AntiNeutron()
G4AntiNeutron* G4AntiNeutron::AntiNeutron()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,38 +33,37 @@
// ----------------------------------------------------------------------
#include "G4AntiOmegaMinus.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiOmegaMinus ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
#include "G4VDecayChannel.hh"
G4AntiOmegaMinus* G4AntiOmegaMinus::theInstance = nullptr;
G4AntiOmegaMinus* G4AntiOmegaMinus::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_omega-";
// search in particle table
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 1.67245*GeV, 8.07e-12*MeV, eplus,
3, +1, 0,
@@ -75,39 +71,40 @@ G4AntiOmegaMinus* G4AntiOmegaMinus::Definition()
"baryon", 0, -1, -3334,
false, 0.0821*ns, nullptr,
false, "omega");
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( -2.02 * mN);
//create Decay Table
auto table = new G4DecayTable();
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(-2.02 * mN);
// create Decay Table
auto table = new G4DecayTable();
// create decay channels
auto mode = new G4VDecayChannel*[3];
auto mode = new G4VDecayChannel*[3];
// anti_omega- -> anti_lambda + kaon+
mode[0] = new G4PhaseSpaceDecayChannel("anti_omega-",0.678,2,"anti_lambda","kaon+");
mode[0] = new G4PhaseSpaceDecayChannel("anti_omega-", 0.678, 2, "anti_lambda", "kaon+");
// anti_omega- -> anti_xi0 + pi+
mode[1] = new G4PhaseSpaceDecayChannel("anti_omega-",0.236,2,"anti_xi0","pi+");
mode[1] = new G4PhaseSpaceDecayChannel("anti_omega-", 0.236, 2, "anti_xi0", "pi+");
// anti_omega- -> anti_xi- + pi0
mode[2] = new G4PhaseSpaceDecayChannel("anti_omega-",0.086,2,"anti_xi-","pi0");
for (G4int index=0; index <3; index++ ) table->Insert(mode[index]);
delete [] mode;
mode[2] = new G4PhaseSpaceDecayChannel("anti_omega-", 0.086, 2, "anti_xi-", "pi0");
for (G4int index = 0; index < 3; index++)
table->Insert(mode[index]);
delete[] mode;
anInstance->SetDecayTable(table);
}
theInstance = static_cast<G4AntiOmegaMinus*>(anInstance);
return theInstance;
}
G4AntiOmegaMinus* G4AntiOmegaMinus::AntiOmegaMinusDefinition()
{
G4AntiOmegaMinus* G4AntiOmegaMinus::AntiOmegaMinusDefinition()
{
return Definition();
}
G4AntiOmegaMinus* G4AntiOmegaMinus::AntiOmegaMinus()
{
G4AntiOmegaMinus* G4AntiOmegaMinus::AntiOmegaMinus()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,37 +33,31 @@
// ----------------------------------------------------------------------
#include "G4AntiOmegabMinus.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiOmegabMinus ###
// ######################################################################
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AntiOmegabMinus* G4AntiOmegabMinus::theInstance = nullptr;
G4AntiOmegabMinus* G4AntiOmegabMinus::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_omega_b-";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 6.0461*GeV, 0.40e-9*MeV, +1.*eplus,
1, +1, 0,
@@ -74,19 +65,18 @@ G4AntiOmegabMinus* G4AntiOmegabMinus::Definition()
"baryon", 0, -1, -5332,
false, 1.640e-3*ns, nullptr,
false, "omega_b");
// clang-format on
}
theInstance = static_cast<G4AntiOmegabMinus*>(anInstance);
return theInstance;
}
G4AntiOmegabMinus* G4AntiOmegabMinus::AntiOmegabMinusDefinition()
G4AntiOmegabMinus* G4AntiOmegabMinus::AntiOmegabMinusDefinition()
{
return Definition();
}
G4AntiOmegabMinus* G4AntiOmegabMinus::AntiOmegabMinus()
G4AntiOmegabMinus* G4AntiOmegabMinus::AntiOmegabMinus()
{
return Definition();
}
@@ -23,72 +23,64 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
// History: first implementation, based on object model of
// 4th April 1996, G.Cosmo
// **********************************************************************
// New impelemenataion as an utility class M.Asai, 26 July 2004
// New impelemenataion as an utility class M.Asai, 26 July 2004
// Updated width and lifetime following PDG 2023 S.Okada, 5 November 2023
// ----------------------------------------------------------------------
#include "G4AntiOmegacZero.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiOmegacZero ###
// ######################################################################
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
G4AntiOmegacZero* G4AntiOmegacZero::theInstance = nullptr;
G4AntiOmegacZero* G4AntiOmegacZero::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_omega_c0";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 2.6952*GeV, 9.6e-9*MeV, 0.*eplus,
name, 2.6952*GeV, 2.46e-9*MeV, 0.*eplus,
1, +1, 0,
0, 0, 0,
"baryon", 0, -1, -4332,
false, 2.68e-4*ns, nullptr,
false, 2.68e-4*ns, nullptr,
false, "omega_c");
// clang-format on
//Decay Table is not defined here, wth expectation of pre-assigned
// Decay Table is not defined here, wth expectation of pre-assigned
}
theInstance = static_cast<G4AntiOmegacZero*>(anInstance);
return theInstance;
}
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZeroDefinition()
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZeroDefinition()
{
return Definition();
}
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZero()
G4AntiOmegacZero* G4AntiOmegacZero::AntiOmegacZero()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -37,37 +34,36 @@
// ----------------------------------------------------------------
#include "G4AntiProton.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
// ######################################################################
// ### ANTIPROTON ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
G4AntiProton* G4AntiProton::theInstance = nullptr;
G4AntiProton* G4AntiProton::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_proton";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double proton_mass_c2 = 938.27231 * MeV;
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// use constants in CLHEP
// static const double proton_mass_c2 = 938.27231 * MeV;
// clang-format off
anInstance = new G4ParticleDefinition(
name, proton_mass_c2, 0.0*MeV, -1.0*eplus,
1, +1, 0,
@@ -76,21 +72,22 @@ G4AntiProton* G4AntiProton::Definition()
true, -1.0, nullptr,
false, "nucleon", 2212
);
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( -2.792847351 * mN);
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(-2.792847351 * mN);
}
theInstance = static_cast<G4AntiProton*>(anInstance);
return theInstance;
}
G4AntiProton* G4AntiProton::AntiProtonDefinition()
G4AntiProton* G4AntiProton::AntiProtonDefinition()
{
return Definition();
}
G4AntiProton* G4AntiProton::AntiProton()
G4AntiProton* G4AntiProton::AntiProton()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,38 +33,37 @@
// ----------------------------------------------------------------------
#include "G4AntiSigmaMinus.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmaMinus ###
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
#include "G4VDecayChannel.hh"
G4AntiSigmaMinus* G4AntiSigmaMinus::theInstance = nullptr;
G4AntiSigmaMinus* G4AntiSigmaMinus::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_sigma-";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 1.197449*GeV, 4.45e-12*MeV, eplus,
1, +1, 0,
@@ -75,35 +71,36 @@ G4AntiSigmaMinus* G4AntiSigmaMinus::Definition()
"baryon", 0, -1, -3112,
false, 0.1479*ns, nullptr,
false, "sigma");
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( 1.160 * mN);
//create Decay Table
auto table = new G4DecayTable();
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(1.160 * mN);
// create Decay Table
auto table = new G4DecayTable();
// create decay channels
auto mode = new G4VDecayChannel*[1];
// anti_sigma- -> anti_neutron + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma-",1.00,2,"anti_neutron","pi+");
for (G4int index=0; index <1; index++ ) table->Insert(mode[index]);
delete [] mode;
auto mode = new G4VDecayChannel*[1];
// anti_sigma- -> anti_neutron + pi+
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma-", 1.00, 2, "anti_neutron", "pi+");
for (G4int index = 0; index < 1; index++)
table->Insert(mode[index]);
delete[] mode;
anInstance->SetDecayTable(table);
}
theInstance = static_cast<G4AntiSigmaMinus*>(anInstance);
return theInstance;
}
G4AntiSigmaMinus* G4AntiSigmaMinus::AntiSigmaMinusDefinition()
G4AntiSigmaMinus* G4AntiSigmaMinus::AntiSigmaMinusDefinition()
{
return Definition();
}
G4AntiSigmaMinus* G4AntiSigmaMinus::AntiSigmaMinus()
G4AntiSigmaMinus* G4AntiSigmaMinus::AntiSigmaMinus()
{
return Definition();
}
@@ -23,9 +23,6 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// ----------------------------------------------------------------------
// GEANT 4 class implementation file
//
@@ -36,38 +33,37 @@
// ----------------------------------------------------------------------
#include "G4AntiSigmaPlus.hh"
#include "G4PhysicalConstants.hh"
#include "G4SystemOfUnits.hh"
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4DecayTable.hh"
// ######################################################################
// ### AntiSigmaPlus ####
// ######################################################################
#include "G4ParticleTable.hh"
#include "G4PhaseSpaceDecayChannel.hh"
#include "G4PhysicalConstants.hh"
#include "G4String.hh"
#include "G4SystemOfUnits.hh"
#include "G4Types.hh"
#include "G4VDecayChannel.hh"
G4AntiSigmaPlus* G4AntiSigmaPlus::theInstance = nullptr;
G4AntiSigmaPlus* G4AntiSigmaPlus::Definition()
{
if (theInstance !=nullptr) return theInstance;
if (theInstance != nullptr) return theInstance;
const G4String name = "anti_sigma+";
// search in particle table]
G4ParticleTable* pTable = G4ParticleTable::GetParticleTable();
G4ParticleDefinition* anInstance = pTable->FindParticle(name);
if (anInstance ==nullptr)
{
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
if (anInstance == nullptr) {
// create particle
//
// Arguments for constructor are as follows
// name mass width charge
// 2*spin parity C-conjugation
// 2*Isospin 2*Isospin3 G-parity
// type lepton number baryon number PDG encoding
// stable lifetime decay table
// shortlived subType anti_encoding
// clang-format off
anInstance = new G4ParticleDefinition(
name, 1.18937*GeV, 8.209e-12*MeV, -1.*eplus,
1, +1, 0,
@@ -75,37 +71,38 @@ G4AntiSigmaPlus* G4AntiSigmaPlus::Definition()
"baryon", 0, -1, -3222,
false, 0.08018*ns, nullptr,
false, "sigma");
// clang-format on
// Magnetic Moment
G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared);
anInstance->SetPDGMagneticMoment( -2.458 * mN);
// Magnetic Moment
G4double mN = eplus * hbar_Planck / 2. / (proton_mass_c2 / c_squared);
anInstance->SetPDGMagneticMoment(-2.458 * mN);
//create Decay Table
auto table = new G4DecayTable();
// create decay channels
auto mode = new G4VDecayChannel*[2];
// create Decay Table
auto table = new G4DecayTable();
// create decay channels
auto mode = new G4VDecayChannel*[2];
// anti_sigma+ -> anti_proton + pi0
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.516,2,"anti_proton","pi0");
mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma+", 0.516, 2, "anti_proton", "pi0");
// anti_sigma+ -> anti_neutron + pi+
mode[1] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.483,2,"anti_neutron","pi-");
for (G4int index=0; index <2; index++ ) table->Insert(mode[index]);
delete [] mode;
mode[1] = new G4PhaseSpaceDecayChannel("anti_sigma+", 0.483, 2, "anti_neutron", "pi-");
for (G4int index = 0; index < 2; index++)
table->Insert(mode[index]);
delete[] mode;
anInstance->SetDecayTable(table);
}
theInstance = static_cast<G4AntiSigmaPlus*>(anInstance);
return theInstance;
}
G4AntiSigmaPlus* G4AntiSigmaPlus::AntiSigmaPlusDefinition()
{
G4AntiSigmaPlus* G4AntiSigmaPlus::AntiSigmaPlusDefinition()
{
return Definition();
}
G4AntiSigmaPlus* G4AntiSigmaPlus::AntiSigmaPlus()
{
G4AntiSigmaPlus* G4AntiSigmaPlus::AntiSigmaPlus()
{
return Definition();
}

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