Import Geant4 9.5.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:46:55 +02:00
parent 89a9605df1
commit b1eb5424d2
10957 changed files with 888481 additions and 160139 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DalitzDecayChannel.hh,v 1.5 2006/06/29 19:22:43 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4DalitzDecayChannel.hh,v 1.5 2006-06-29 19:22:43 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -57,6 +57,14 @@ class G4DalitzDecayChannel :public G4VDecayChannel
// Destructor
virtual ~G4DalitzDecayChannel();
protected:
// Copy constructor and assignment operator
G4DalitzDecayChannel(const G4DalitzDecayChannel &);
G4DalitzDecayChannel & operator=(const G4DalitzDecayChannel &);
private:
G4DalitzDecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DecayProducts.hh,v 1.14 2010/10/27 07:47:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4DecayProducts.hh,v 1.14 2010-10-27 07:47:04 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DecayTable.hh,v 1.9 2006/06/29 19:22:47 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4DecayTable.hh,v 1.9 2006-06-29 19:22:47 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DecayTableMessenger.hh,v 1.8 2006/06/29 19:22:52 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4DecayTableMessenger.hh,v 1.8 2006-06-29 19:22:52 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//---------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DynamicParticle.hh,v 1.22 2010/08/11 17:14:02 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4DynamicParticle.hh,v 1.22 2010-08-11 17:14:02 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DynamicParticle.icc,v 1.21 2010/10/27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4DynamicParticle.icc,v 1.21 2010-10-27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4DynamicParticleFastVector.hh,v 1.4 2006/06/29 19:23:06 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4DynamicParticleFastVector.hh,v 1.4 2006-06-29 19:23:06 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ElectronOccupancy.hh,v 1.12 2010/10/27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4ElectronOccupancy.hh,v 1.12 2010-10-27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4HyperNucleiProperties.hh,v 1.1 2007/09/14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4HyperNucleiProperties.hh,v 1.1 2007-09-14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4IonTable.hh,v 1.31 2010/10/16 06:04:51 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4IonTable.hh,v 1.31 2010-10-16 06:04:51 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Ions.hh,v 1.15 2008/06/08 12:43:19 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4Ions.hh,v 1.15 2008-06-08 12:43:19 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4IsotopeProperty.hh,v 1.5 2007/03/15 06:53:27 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4IsotopeProperty.hh,v 1.5 2007-03-15 06:53:27 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4KL3DecayChannel.hh,v 1.6 2010/10/30 07:55:00 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4KL3DecayChannel.hh,v 1.6 2010-10-30 07:55:00 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -52,6 +52,14 @@ class G4KL3DecayChannel :public G4VDecayChannel
const G4String& theNutrinoName);
// Destructor
virtual ~G4KL3DecayChannel();
protected:
// Copy constructor and assignment operator
G4KL3DecayChannel(const G4KL3DecayChannel &);
G4KL3DecayChannel & operator=(const G4KL3DecayChannel &);
private:
G4KL3DecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4MuonDecayChannel.hh,v 1.6 2006/06/29 19:23:35 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4MuonDecayChannel.hh,v 1.6 2006-06-29 19:23:35 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -57,6 +57,14 @@ class G4MuonDecayChannel :public G4VDecayChannel
// Destructor
virtual ~G4MuonDecayChannel();
protected:
// Copy constructor and assignment operator
G4MuonDecayChannel(const G4MuonDecayChannel &);
G4MuonDecayChannel & operator=(const G4MuonDecayChannel &);
protected:
G4MuonDecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -61,6 +61,14 @@ public: // With Description
// Destructor
virtual ~G4MuonDecayChannelWithSpin();
protected:
// Copy constructor and assignment operator
G4MuonDecayChannelWithSpin(const G4MuonDecayChannelWithSpin &);
G4MuonDecayChannelWithSpin & operator=(const G4MuonDecayChannelWithSpin &);
private:
G4MuonDecayChannelWithSpin();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -27,11 +27,17 @@
// GEANT 4 class header file
//
// History:
// 25 July 2007 P.Gumplinger
// 25 July 2007 P.Gumplinger - Triumf
// 10 August 2011 D. Mingming - Center for HEP, Tsinghua Univ.
//
// Samples Radiative Muon Decay
// Reference:
// TRIUMF/TWIST Technote:
// References:
// TRIUMF/TWIST Technote TN-55:
// "Radiative muon decay" by P. Depommier and A. Vacheret
// ------------------------------------------------------
// Yoshitaka Kuno and Yasuhiro Okada
// "Muon Decays and Physics Beyond the Standard Model"
// Rev. Mod. Phys. 73, 151 (2001)
//
// ------------------------------------------------------------
//
@@ -64,6 +70,14 @@ class G4MuonRadiativeDecayChannelWithSpin : public G4VDecayChannel
// Destructor
virtual ~G4MuonRadiativeDecayChannelWithSpin();
protected:
// Copy constructor and assignment operator
G4MuonRadiativeDecayChannelWithSpin(const G4MuonRadiativeDecayChannelWithSpin &);
G4MuonRadiativeDecayChannelWithSpin & operator=(const G4MuonRadiativeDecayChannelWithSpin &);
private:
G4MuonRadiativeDecayChannelWithSpin();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -86,9 +100,6 @@ class G4MuonRadiativeDecayChannelWithSpin : public G4VDecayChannel
G4double atan4(G4double x, G4double y);
G4double EMMU;
G4double EMASS;
};
inline void G4MuonRadiativeDecayChannelWithSpin::
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NeutronBetaDecayChannel.hh,v 1.2 2006/06/29 19:23:51 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4NeutronBetaDecayChannel.hh,v 1.2 2006-06-29 19:23:51 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -55,6 +55,14 @@ class G4NeutronBetaDecayChannel :public G4VDecayChannel
// Destructor
virtual ~G4NeutronBetaDecayChannel();
protected:
// Copy constructor and assignment operator
G4NeutronBetaDecayChannel(const G4NeutronBetaDecayChannel &);
G4NeutronBetaDecayChannel & operator=(const G4NeutronBetaDecayChannel &);
protected:
G4NeutronBetaDecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NucleiProperties.hh,v 1.20 2009/05/02 11:58:17 kurasige Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4NucleiProperties.hh,v 1.20 2009-05-02 11:58:17 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NucleiPropertiesTableAME03.hh,v 1.4 2009/06/04 13:45:43 gunter Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4NucleiPropertiesTableAME03.hh,v 1.4 2009-06-04 13:45:43 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// -------------------------------------------------------------------
//
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.8 2008/10/22 12:35:46 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.8 2008-10-22 12:35:46 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PDGCodeChecker.hh,v 1.9 2007/09/14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4PDGCodeChecker.hh,v 1.9 2007-09-14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleDefinition.hh,v 1.34 2010/08/10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4ParticleDefinition.hh,v 1.34 2010-08-10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleDefinition.icc,v 1.15 2010/08/10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4ParticleDefinition.icc,v 1.15 2010-08-10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
inline
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleMessenger.hh,v 1.9 2009/07/31 06:39:22 kurasige Exp $
// GEANT4 tag $Name: geant4-09-03 $
// $Id: G4ParticleMessenger.hh,v 1.9 2009-07-31 06:39:22 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//---------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleMomentum.hh,v 1.6 2006/06/29 19:24:08 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleMomentum.hh,v 1.6 2006-06-29 19:24:08 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticlePropertyData.hh,v 1.3 2007/03/11 07:17:35 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticlePropertyData.hh,v 1.3 2007-03-11 07:17:35 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -64,7 +64,7 @@ class G4ParticlePropertyData
virtual ~G4ParticlePropertyData();
const G4ParticlePropertyData & operator=(const G4ParticlePropertyData &right);
G4ParticlePropertyData & operator=(const G4ParticlePropertyData &right);
G4int operator==(const G4ParticlePropertyData &right) const;
G4int operator!=(const G4ParticlePropertyData &right) const;
@@ -24,7 +24,7 @@
// ********************************************************************
//
//
// $Id: G4ParticlePropertyData.icc,v 1.3 2007/03/11 07:17:35 kurasige Exp $
// $Id: G4ParticlePropertyData.icc,v 1.3 2007-03-11 07:17:35 kurasige Exp $
//
inline
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticlePropertyMessenger.hh,v 1.7 2006/06/29 19:24:14 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticlePropertyMessenger.hh,v 1.7 2006-06-29 19:24:14 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//---------------------------------------------------------------
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ParticlePropertyTable.hh,v 1.4 2006/06/29 19:24:18 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticlePropertyTable.hh,v 1.4 2006-06-29 19:24:18 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -58,7 +58,7 @@ class G4ParticlePropertyTable
G4ParticlePropertyTable();
G4ParticlePropertyTable(const G4ParticlePropertyTable &right);
const G4ParticlePropertyTable & operator=(const G4ParticlePropertyTable &right);
G4ParticlePropertyTable & operator=(const G4ParticlePropertyTable &right);
public:
G4int operator==(const G4ParticlePropertyTable &right) const;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleTable.hh,v 1.22 2010/10/30 07:55:00 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4ParticleTable.hh,v 1.22 2010-10-30 07:55:00 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -80,8 +80,11 @@ class G4ParticleTable
typedef G4ParticleTableIterator<G4int, G4ParticleDefinition*> G4PTblEncodingDicIterator;
protected:
// default constructor
G4ParticleTable();
// Copy constructor and assignment operator
G4ParticleTable(const G4ParticleTable &right);
G4ParticleTable & operator=(const G4ParticleTable &);
public:
virtual ~G4ParticleTable();
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleTable.icc,v 1.11 2007/09/14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleTable.icc,v 1.11 2007-09-14 07:04:09 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -80,18 +80,6 @@ inline
return particle->GetParticleName();
}
inline
G4ParticleDefinition* G4ParticleTable::FindParticle(const G4String &particle_name)
{
G4PTblDictionary::iterator it = fDictionary->find(particle_name);
if (it != fDictionary->end()) {
return (*it).second;
}else {
return 0;
}
}
inline
G4ParticleDefinition* G4ParticleTable::FindAntiParticle(G4int aPDGEncoding)
{
@@ -125,17 +113,6 @@ inline
return contains(GetKey(particle));
}
inline
const G4String& G4ParticleTable::GetParticleName(G4int index)
{
G4ParticleDefinition* aParticle =GetParticle(index);
if (aParticle != 0) {
return aParticle->GetParticleName();
} else {
return noName;
}
}
inline
G4int G4ParticleTable::entries() const
{
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleTableIterator.hh,v 1.7 2006/06/29 19:24:36 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleTableIterator.hh,v 1.7 2006-06-29 19:24:36 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ParticleWithCuts.hh,v 1.19 2006/06/29 19:24:38 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4ParticleWithCuts.hh,v 1.19 2006-06-29 19:24:38 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// --------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PhaseSpaceDecayChannel.hh,v 1.6 2006/06/29 19:24:40 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4PhaseSpaceDecayChannel.hh,v 1.6 2006-06-29 19:24:40 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -65,6 +65,14 @@ class G4PionRadiativeDecayChannel : public G4VDecayChannel
// Destructor
virtual ~G4PionRadiativeDecayChannel();
protected:
// Copy constructor and assignment operator
G4PionRadiativeDecayChannel(const G4PionRadiativeDecayChannel &);
G4PionRadiativeDecayChannel & operator=(const G4PionRadiativeDecayChannel &);
protected:
G4PionRadiativeDecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PrimaryParticle.hh,v 1.8 2010/10/27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4PrimaryParticle.hh,v 1.8 2010-10-27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
@@ -66,148 +66,115 @@ class G4VUserPrimaryParticleInformation;
class G4PrimaryParticle
{
public:
inline void *operator new(size_t);
inline void operator delete(void *aStackedTrack);
public:
inline void *operator new(size_t);
inline void operator delete(void *aStackedTrack);
public: // with description
G4PrimaryParticle();
G4PrimaryParticle(G4int Pcode);
G4PrimaryParticle(G4int Pcode,
G4double px,G4double py,G4double pz);
G4PrimaryParticle(G4int Pcode,
G4double px,G4double py,G4double pz,G4double E);
G4PrimaryParticle(const G4ParticleDefinition* Gcode);
G4PrimaryParticle(const G4ParticleDefinition* Gcode,
G4double px,G4double py,G4double pz);
G4PrimaryParticle(const G4ParticleDefinition* Gcode,
G4double px,G4double py,G4double pz,G4double E);
public:
virtual ~G4PrimaryParticle();
// copy constructor and assignment operator
// nextParticle and daughterParticle is copied by object (i.e. deep copy)
// userInfo will nt be copied
G4PrimaryParticle(const G4PrimaryParticle &right);
G4PrimaryParticle & operator=(const G4PrimaryParticle &right);
// equal operator returns 'true' only if the same object (i.e comarison by pointer value)
G4int operator==(const G4PrimaryParticle &right) const;
G4int operator!=(const G4PrimaryParticle &right) const;
public: // with description
void Print() const;
// Print the properties of the particle.
G4PrimaryParticle();
G4PrimaryParticle(G4int Pcode);
G4PrimaryParticle(G4int Pcode,
G4double px,G4double py,G4double pz);
G4PrimaryParticle(G4int Pcode,
G4double px,G4double py,G4double pz,G4double E);
G4PrimaryParticle(const G4ParticleDefinition* Gcode);
G4PrimaryParticle(const G4ParticleDefinition* Gcode,
G4double px,G4double py,G4double pz);
G4PrimaryParticle(const G4ParticleDefinition* Gcode,
G4double px,G4double py,G4double pz,G4double E);
~G4PrimaryParticle();
public: // with description
// followings are get/set methods available.
// "trackID" will be set if this particle is sent to G4EventManager
// and converted to G4Track. Otherwise = -1.
// The mass and charge in G4ParticleDefinition will be used in default.
// "SetMass" and "SetCharge" methods are used to set dynamical mass and charge
// G4DynamicParticle."GetMass" and "GetCharge" methods will return
// those in G4ParticleDefinition if users do not set dynamical ones.
const G4PrimaryParticle & operator=(const G4PrimaryParticle &right);
G4int operator==(const G4PrimaryParticle &right) const;
G4int operator!=(const G4PrimaryParticle &right) const;
G4int GetPDGcode() const;
void SetPDGcode(G4int Pcode);
G4ParticleDefinition * GetG4code() const;
void SetG4code(const G4ParticleDefinition * Gcode);
const G4ParticleDefinition * GetParticleDefinition() const;
void SetParticleDefinition(const G4ParticleDefinition * pdef);
G4double GetMass() const;
void SetMass(G4double mas);
G4double GetCharge() const;
void SetCharge(G4double chg);
G4double GetKineticEnergy() const;
void SetKineticEnergy(G4double eKin);
const G4ThreeVector& GetMomentumDirection() const;
void SetMomentumDirection(const G4ThreeVector& p);
G4double GetTotalMomentum() const;
void Set4Momentum(G4double px, G4double py, G4double pz, G4double E);
G4double GetTotalEnergy() const;
void SetTotalEnergy(G4double eTot );
G4ThreeVector GetMomentum() const;
void SetMomentum(G4double px, G4double py, G4double pz);
G4double GetPx() const;
G4double GetPy() const;
G4double GetPz() const;
G4PrimaryParticle * GetNext() const;
void SetNext(G4PrimaryParticle * np);
G4PrimaryParticle * GetDaughter() const;
void SetDaughter(G4PrimaryParticle * np);
G4int GetTrackID() const;
void SetTrackID(G4int id);
G4ThreeVector GetPolarization() const;
void SetPolarization(const G4ThreeVector& pol);
void SetPolarization(G4double px,G4double py,G4double pz);
G4double GetPolX() const;
G4double GetPolY() const;
G4double GetPolZ() const;
G4double GetWeight() const;
void SetWeight(G4double w);
G4double GetProperTime() const;
void SetProperTime(G4double t);
G4VUserPrimaryParticleInformation* GetUserInformation() const;
void SetUserInformation(G4VUserPrimaryParticleInformation* anInfo);
public: // with description
void Print() const;
// Print the properties of the particle.
private:
G4int PDGcode;
const G4ParticleDefinition * G4code;
G4ThreeVector direction;
G4double kinE;
G4PrimaryParticle * nextParticle;
G4PrimaryParticle * daughterParticle;
G4int trackID; // This will be set if this particle is
// sent to G4EventManager and converted to
// G4Track. Otherwise = -1.
G4double mass;
G4double charge;
G4double polX;
G4double polY;
G4double polZ;
G4double Weight0;
G4double properTime;
G4VUserPrimaryParticleInformation* userInfo;
private:
G4int PDGcode;
const G4ParticleDefinition * G4code;
G4double Px;
G4double Py;
G4double Pz;
G4PrimaryParticle * nextParticle;
G4PrimaryParticle * daughterParticle;
G4int trackID; // This will be set if this particle is
// sent to G4EventManager and converted to
// G4Track. Otherwise = -1.
G4double mass;
G4double charge;
G4double polX;
G4double polY;
G4double polZ;
G4double Weight0;
G4double properTime;
G4VUserPrimaryParticleInformation* userInfo;
public: // with description
// followings are get methods available.
// "trackID" will be set if this particle is sent to G4EventManager
// and converted to G4Track. Otherwise = -1.
// The mass and charge in G4ParticleDefinition will be used in default.
// "SetMass" and "SetCharge" methods are used to set dynamical mass and charge
// G4DynamicParticle."GetMass" and "GetCharge" methods will return
// those in G4ParticleDefinition if users do not set dynamical ones.
G4double GetMass() const;
G4double GetCharge() const;
inline G4int GetPDGcode() const
{ return PDGcode; }
inline G4ParticleDefinition * GetG4code() const
{ return const_cast<G4ParticleDefinition*>(G4code); }
inline const G4ParticleDefinition * GetParticleDefinition() const
{ return G4code; }
inline G4ThreeVector GetMomentum() const
{ return G4ThreeVector(Px,Py,Pz); }
inline G4double GetPx() const
{ return Px; }
inline G4double GetPy() const
{ return Py; }
inline G4double GetPz() const
{ return Pz; }
inline G4PrimaryParticle * GetNext() const
{ return nextParticle; }
inline G4PrimaryParticle * GetDaughter() const
{ return daughterParticle; }
inline G4int GetTrackID() const
{ return trackID; }
inline G4ThreeVector GetPolarization() const
{ return G4ThreeVector(polX,polY,polZ); }
inline G4double GetPolX() const { return polX; }
inline G4double GetPolY() const { return polY; }
inline G4double GetPolZ() const { return polZ; }
inline G4double GetWeight() const { return Weight0; }
inline void SetWeight(G4double w) { Weight0 = w; }
inline void SetProperTime(G4double t) { properTime = t; }
inline G4double GetProperTime() const { return properTime; }
inline void SetUserInformation(G4VUserPrimaryParticleInformation* anInfo)
{ userInfo = anInfo; }
inline G4VUserPrimaryParticleInformation* GetUserInformation() const
{ return userInfo; }
public: // with description
// Followings are available Set methods.
void SetPDGcode(G4int Pcode);
void SetG4code(const G4ParticleDefinition * Gcode);
void SetParticleDefinition(const G4ParticleDefinition * pdef);
inline void SetMomentum(G4double px, G4double py, G4double pz)
{
Px = px;
Py = py;
Pz = pz;
}
inline void Set4Momentum(G4double px, G4double py, G4double pz, G4double E)
{
Px = px;
Py = py;
Pz = pz;
G4double mas2 = E*E - px*px - py*py - pz*pz;
if(mas2>=0.)
{ mass = std::sqrt(mas2); }
else
{ mass = -1.0; }
}
inline void SetNext(G4PrimaryParticle * np)
{
if(nextParticle == 0)
{ nextParticle = np; }
else
{ nextParticle->SetNext(np); }
}
inline void SetDaughter(G4PrimaryParticle * np)
{
if(daughterParticle == 0)
{ daughterParticle = np; }
else
{ daughterParticle->SetNext(np); }
}
inline void SetTrackID(G4int id)
{ trackID = id; }
inline void SetMass(G4double mas)
{ mass = mas; }
inline void SetCharge(G4double chg)
{ charge = chg; }
inline void SetPolarization(G4double px,G4double py,G4double pz)
{
polX = px;
polY = py;
polZ = pz;
}
};
#if defined G4PARTICLES_ALLOC_EXPORT
@@ -228,6 +195,141 @@ inline void G4PrimaryParticle::operator delete(void * aPrimaryParticle)
aPrimaryParticleAllocator.FreeSingle((G4PrimaryParticle *) aPrimaryParticle);
}
inline G4double G4PrimaryParticle::GetMass() const
{ return mass; }
inline G4double G4PrimaryParticle::GetCharge() const
{ return charge; }
inline G4int G4PrimaryParticle::GetPDGcode() const
{ return PDGcode; }
inline G4ParticleDefinition * G4PrimaryParticle::GetG4code() const
{ return const_cast<G4ParticleDefinition*>(G4code); }
inline const G4ParticleDefinition * G4PrimaryParticle::GetParticleDefinition() const
{ return G4code; }
inline G4double G4PrimaryParticle::GetTotalMomentum() const
{
if (mass<0.) return kinE;
else return std::sqrt(kinE*(kinE+2.*mass));
}
inline G4ThreeVector G4PrimaryParticle::GetMomentum() const
{ return GetTotalMomentum()*direction;}
inline const G4ThreeVector& G4PrimaryParticle::GetMomentumDirection() const
{ return direction;}
inline void G4PrimaryParticle::SetMomentumDirection(const G4ThreeVector& p)
{ direction = p;}
inline G4double G4PrimaryParticle::GetPx() const
{ return GetTotalMomentum()*direction.x();}
inline G4double G4PrimaryParticle::GetPy() const
{ return GetTotalMomentum()*direction.y();}
inline G4double G4PrimaryParticle::GetPz() const
{ return GetTotalMomentum()*direction.z();}
inline G4double G4PrimaryParticle::GetTotalEnergy() const
{
if (mass<0.) return kinE;
else return kinE+mass;
}
inline void G4PrimaryParticle::SetTotalEnergy(G4double eTot )
{
if (mass<0.) kinE = eTot;
else kinE = eTot - mass;
}
inline G4double G4PrimaryParticle::GetKineticEnergy() const
{ return kinE; }
inline void G4PrimaryParticle::SetKineticEnergy(G4double eKin)
{ kinE = eKin; }
inline G4PrimaryParticle * G4PrimaryParticle::GetNext() const
{ return nextParticle; }
inline G4PrimaryParticle * G4PrimaryParticle::GetDaughter() const
{ return daughterParticle; }
inline G4int G4PrimaryParticle::GetTrackID() const
{ return trackID; }
inline G4ThreeVector G4PrimaryParticle::GetPolarization() const
{ return G4ThreeVector(polX,polY,polZ); }
inline G4double G4PrimaryParticle::GetPolX() const
{ return polX; }
inline G4double G4PrimaryParticle::GetPolY() const
{ return polY; }
inline G4double G4PrimaryParticle::GetPolZ() const
{ return polZ; }
inline G4double G4PrimaryParticle::GetWeight() const
{ return Weight0; }
inline void G4PrimaryParticle::SetWeight(G4double w)
{ Weight0 = w; }
inline void G4PrimaryParticle::SetProperTime(G4double t)
{ properTime = t; }
inline G4double G4PrimaryParticle::GetProperTime() const
{ return properTime; }
inline void G4PrimaryParticle::SetUserInformation(G4VUserPrimaryParticleInformation* anInfo)
{ userInfo = anInfo; }
inline G4VUserPrimaryParticleInformation* G4PrimaryParticle::GetUserInformation() const
{ return userInfo; }
inline void G4PrimaryParticle::SetG4code(const G4ParticleDefinition* Gcode)
{
SetParticleDefinition(Gcode);
}
inline void G4PrimaryParticle::SetNext(G4PrimaryParticle * np)
{
if (nextParticle == 0) { nextParticle = np; }
else { nextParticle->SetNext(np); }
}
inline void G4PrimaryParticle::SetDaughter(G4PrimaryParticle * np)
{
if(daughterParticle == 0) { daughterParticle = np; }
else { daughterParticle->SetNext(np); }
}
inline void G4PrimaryParticle::SetTrackID(G4int id)
{ trackID = id; }
inline void G4PrimaryParticle::SetMass(G4double mas)
{ mass = mas; }
inline void G4PrimaryParticle::SetCharge(G4double chg)
{ charge = chg; }
inline void G4PrimaryParticle::SetPolarization(G4double px,G4double py,G4double pz)
{
polX = px;
polY = py;
polZ = pz;
}
inline void G4PrimaryParticle::SetPolarization(const G4ThreeVector& pol)
{
polX = pol.x();
polY = pol.y();
polZ = pol.z();
}
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PrimaryVertex.hh,v 1.6 2010/10/27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4PrimaryVertex.hh,v 1.6 2010-10-27 07:47:05 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
@@ -48,95 +48,56 @@ class G4VUserPrimaryVertexInformation;
class G4PrimaryVertex
{
public:
inline void *operator new(size_t);
inline void operator delete(void *aStackedTrack);
public:
inline void *operator new(size_t);
inline void operator delete(void *aStackedTrack);
G4PrimaryVertex();
G4PrimaryVertex(G4double x0,G4double y0,G4double z0,G4double t0);
G4PrimaryVertex(G4ThreeVector xyz0,G4double t0);
~G4PrimaryVertex();
public: // with description
G4PrimaryVertex();
G4PrimaryVertex(G4double x0,G4double y0,G4double z0,G4double t0);
G4PrimaryVertex(G4ThreeVector xyz0,G4double t0);
virtual ~G4PrimaryVertex();
const G4PrimaryVertex & operator=(const G4PrimaryVertex &right);
G4int operator==(const G4PrimaryVertex &right) const;
G4int operator!=(const G4PrimaryVertex &right) const;
public:
G4PrimaryVertex(const G4PrimaryVertex &right);
G4PrimaryVertex & operator=(const G4PrimaryVertex &right);
void Print() const;
G4int operator==(const G4PrimaryVertex &right) const;
G4int operator!=(const G4PrimaryVertex &right) const;
private:
G4double X0;
G4double Y0;
G4double Z0;
G4double T0;
G4PrimaryParticle * theParticle;
G4PrimaryParticle * theTail;
G4PrimaryVertex* nextVertex;
G4PrimaryVertex* tailVertex;
G4int numberOfParticle;
G4double Weight0;
G4VUserPrimaryVertexInformation* userInfo;
public: // with description
G4ThreeVector GetPosition() const;
void SetPosition(G4double x0,G4double y0,G4double z0);
G4double GetX0() const;
G4double GetY0() const;
G4double GetZ0() const;
G4double GetT0() const;
void SetT0(G4double t0);
G4int GetNumberOfParticle() const;
void SetPrimary(G4PrimaryParticle * pp);
G4PrimaryParticle* GetPrimary(G4int i=0) const;
void SetNext(G4PrimaryVertex* nv);
G4PrimaryVertex* GetNext() const;
G4double GetWeight() const;
void SetWeight(G4double w);
void SetUserInformation(G4VUserPrimaryVertexInformation* anInfo);
G4VUserPrimaryVertexInformation* GetUserInformation() const;
void Print() const;
private:
G4double X0;
G4double Y0;
G4double Z0;
G4double T0;
G4PrimaryParticle * theParticle;
G4PrimaryParticle * theTail;
G4PrimaryVertex* nextVertex;
G4PrimaryVertex* tailVertex;
G4int numberOfParticle;
G4double Weight0;
G4VUserPrimaryVertexInformation* userInfo;
public:
inline G4ThreeVector GetPosition() const
{ return G4ThreeVector(X0,Y0,Z0); }
inline void SetPosition(G4double x0,G4double y0,G4double z0)
{ X0 = x0; Y0 = y0; Z0 = z0; }
inline G4double GetX0() const
{ return X0; }
inline G4double GetY0() const
{ return Y0; }
inline G4double GetZ0() const
{ return Z0; }
inline G4double GetT0() const
{ return T0; }
inline void SetT0(G4double t0)
{ T0 = t0; }
inline G4int GetNumberOfParticle() const
{ return numberOfParticle; }
inline void SetPrimary(G4PrimaryParticle * pp)
{
if(theParticle == 0)
{ theParticle = pp; }
else
{ theTail->SetNext(pp); }
theTail = pp;
numberOfParticle++;
}
inline G4PrimaryParticle* GetPrimary(G4int i=0) const
{
if( i == 0 )
{ return theParticle; }
else if( i > 0 && i < numberOfParticle )
{
G4PrimaryParticle* particle = theParticle;
for( G4int j=0; j<i; j++ )
{
if( particle == 0 ) return 0;
particle = particle->GetNext();
}
return particle;
}
else
{ return 0; }
}
inline void SetNext(G4PrimaryVertex* nv)
{
if(nextVertex == 0)
{ nextVertex = nv; }
else
{ tailVertex->SetNext(nv); }
tailVertex = nv;
}
inline G4PrimaryVertex* GetNext() const
{ return nextVertex; }
inline G4double GetWeight() const
{ return Weight0; }
inline void SetWeight(G4double w)
{ Weight0 = w; }
inline void SetUserInformation(G4VUserPrimaryVertexInformation* anInfo)
{ userInfo = anInfo; }
inline G4VUserPrimaryVertexInformation* GetUserInformation() const
{ return userInfo; }
};
#if defined G4PARTICLES_ALLOC_EXPORT
@@ -157,6 +118,59 @@ inline void G4PrimaryVertex::operator delete(void * aPrimaryVertex)
aPrimaryVertexAllocator.FreeSingle((G4PrimaryVertex *) aPrimaryVertex);
}
inline G4ThreeVector G4PrimaryVertex::GetPosition() const
{ return G4ThreeVector(X0,Y0,Z0); }
inline void G4PrimaryVertex::SetPosition(G4double x0,G4double y0,G4double z0)
{ X0 = x0; Y0 = y0; Z0 = z0; }
inline G4double G4PrimaryVertex::GetX0() const
{ return X0; }
inline G4double G4PrimaryVertex::GetY0() const
{ return Y0; }
inline G4double G4PrimaryVertex::GetZ0() const
{ return Z0; }
inline G4double G4PrimaryVertex::GetT0() const
{ return T0; }
inline void G4PrimaryVertex::SetT0(G4double t0)
{ T0 = t0; }
inline G4int G4PrimaryVertex::GetNumberOfParticle() const
{ return numberOfParticle; }
inline void G4PrimaryVertex::SetPrimary(G4PrimaryParticle * pp)
{
if(theParticle == 0) { theParticle = pp; }
else { theTail->SetNext(pp); }
theTail = pp;
numberOfParticle++;
}
inline void G4PrimaryVertex::SetNext(G4PrimaryVertex* nv){
if(nextVertex == 0) { nextVertex = nv; }
else { tailVertex->SetNext(nv); }
tailVertex = nv;
}
inline G4PrimaryVertex* G4PrimaryVertex::GetNext() const
{ return nextVertex; }
inline G4double G4PrimaryVertex::GetWeight() const
{ return Weight0; }
inline void G4PrimaryVertex::SetWeight(G4double w)
{ Weight0 = w; }
inline void G4PrimaryVertex::SetUserInformation(G4VUserPrimaryVertexInformation* anInfo)
{ userInfo = anInfo; }
inline G4VUserPrimaryVertexInformation* G4PrimaryVertex::GetUserInformation() const
{ return userInfo; }
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ShortLivedTable.hh,v 1.14 2010/08/10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4ShortLivedTable.hh,v 1.14 2010-08-10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -63,8 +63,10 @@ class G4ShortLivedTable
G4ShortLivedTable();
protected:
G4ShortLivedTable(const G4ShortLivedTable &right);
// Copy constructor and assignment operator
G4ShortLivedTable(const G4ShortLivedTable &right);
G4ShortLivedTable & operator=(const G4ShortLivedTable &);
public: // With Description
virtual ~G4ShortLivedTable();
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TauLeptonicDecayChannel.hh,v 1.2 2006/06/29 19:24:48 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4TauLeptonicDecayChannel.hh,v 1.2 2006-06-29 19:24:48 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -57,6 +57,15 @@ class G4TauLeptonicDecayChannel :public G4VDecayChannel
// Destructor
virtual ~G4TauLeptonicDecayChannel();
protected:
// Copy constructor and assignment operator
G4TauLeptonicDecayChannel(const G4TauLeptonicDecayChannel &);
G4TauLeptonicDecayChannel & operator=(const G4TauLeptonicDecayChannel &);
protected:
G4TauLeptonicDecayChannel();
public: // With Description
virtual G4DecayProducts *DecayIt(G4double);
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VDecayChannel.hh,v 1.13 2010/08/10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: geant4-09-04 $
// $Id: G4VDecayChannel.hh,v 1.13 2010-08-10 15:47:42 kurasige Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -68,7 +68,9 @@ class G4VDecayChannel
// Destructor
virtual ~G4VDecayChannel();
private:
protected:
// default constructor
G4VDecayChannel();
// copy constructor and assignment operatotr
G4VDecayChannel(const G4VDecayChannel &);
G4VDecayChannel & operator=(const G4VDecayChannel &);
@@ -163,7 +165,7 @@ class G4VDecayChannel
private:
const G4String& GetNoName() const;
private:
protected:
// controle flag for output message
G4int verboseLevel;
// 0: Silent
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VIsotopeTable.hh,v 1.6 2006/06/29 19:24:52 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VIsotopeTable.hh,v 1.6 2006-06-29 19:24:52 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// ------------------------------------------------------------
@@ -48,7 +48,11 @@ class G4VIsotopeTable
public:
// constructor
G4VIsotopeTable(const G4String& name = "");
G4VIsotopeTable();
explicit G4VIsotopeTable(const G4String& );
G4VIsotopeTable(const G4VIsotopeTable& );
G4VIsotopeTable & operator=(const G4VIsotopeTable&);
public:
// destructor
@@ -81,12 +85,34 @@ class G4VIsotopeTable
G4int verboseLevel;
};
inline
G4VIsotopeTable::G4VIsotopeTable()
: fName(""), verboseLevel(0)
{
}
inline
G4VIsotopeTable::G4VIsotopeTable(const G4String& name)
: fName(name), verboseLevel(0)
{
}
inline
G4VIsotopeTable::G4VIsotopeTable(const G4VIsotopeTable & right)
: fName(right.fName), verboseLevel(right.verboseLevel)
{
}
inline
G4VIsotopeTable& G4VIsotopeTable::operator=(const G4VIsotopeTable & right)
{
if (this != &right){
fName = right.fName;
verboseLevel = right.verboseLevel;
}
return *this;
}
inline
G4VIsotopeTable::~G4VIsotopeTable()
{
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VUserPrimaryParticleInformation.hh,v 1.2 2006/06/29 19:24:54 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VUserPrimaryParticleInformation.hh,v 1.2 2006-06-29 19:24:54 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//---------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VUserPrimaryVertexInformation.hh,v 1.2 2006/06/29 19:24:56 gunter Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4VUserPrimaryVertexInformation.hh,v 1.2 2006-06-29 19:24:56 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
//---------------------------------------------------------------