Import Geant4 10.4.0 source tree
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4DecayTable.hh 92057 2015-08-14 13:34:55Z gcosmo $
|
||||
// $Id: G4DecayTable.hh 105720 2017-08-16 12:38:10Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -93,7 +93,7 @@ class G4DecayTable
|
||||
|
||||
private:
|
||||
G4ParticleDefinition *parent;
|
||||
G4VDecayChannelVector *channels;
|
||||
G4VDecayChannelVector *channels;
|
||||
};
|
||||
|
||||
inline
|
||||
@@ -112,7 +112,7 @@ inline
|
||||
inline
|
||||
G4VDecayChannel* G4DecayTable::GetDecayChannel(G4int index) const
|
||||
{
|
||||
G4VDecayChannel* selectedChannel = 0;
|
||||
G4VDecayChannel* selectedChannel = nullptr;
|
||||
if ( (index>=0) && (index<G4int(channels->size())) ){
|
||||
selectedChannel = (*channels)[index];
|
||||
}
|
||||
|
||||
@@ -28,10 +28,11 @@
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation,
|
||||
// History: first implementation,
|
||||
// July 2016, K. Lynch
|
||||
// June 2017, K.L. Genser added baseion, lifetimes and access functions
|
||||
|
||||
#ifndef G4MuonicAtom_h
|
||||
#define G4MuonicAtom_h 1
|
||||
@@ -40,21 +41,83 @@
|
||||
|
||||
class G4MuonicAtom : public G4Ions
|
||||
{
|
||||
public:
|
||||
G4MuonicAtom(
|
||||
const G4String& aName, G4double mass,
|
||||
G4double width, G4double charge,
|
||||
G4int iSpin, G4int iParity,
|
||||
G4int iConjugation, G4int iIsospin,
|
||||
G4int iIsospin3, G4int gParity,
|
||||
const G4String& pType, G4int lepton,
|
||||
G4int baryon, G4int encoding,
|
||||
G4bool stable, G4double lifetime,
|
||||
G4DecayTable *decaytable, G4bool shortlived,
|
||||
const G4String& subType =""
|
||||
);
|
||||
protected:
|
||||
G4MuonicAtom(){};
|
||||
|
||||
public:
|
||||
G4MuonicAtom(
|
||||
const G4String& aName, G4double mass,
|
||||
G4double width, G4double charge,
|
||||
G4int iSpin, G4int iParity,
|
||||
G4int iConjugation, G4int iIsospin,
|
||||
G4int iIsospin3, G4int gParity,
|
||||
const G4String& pType, G4int lepton,
|
||||
G4int baryon, G4int encoding,
|
||||
G4bool stable, G4double lifeTime,
|
||||
G4DecayTable *decaytable, G4bool shortlived,
|
||||
const G4String& subType, G4Ions const* baseion,
|
||||
G4int anti_encoding =0,
|
||||
G4double excitation = 0.0,
|
||||
G4int isomer = 0,
|
||||
G4double DIOLifeTime = -1.0,
|
||||
G4double NCLifeTime = -1.0
|
||||
);
|
||||
|
||||
virtual ~G4MuonicAtom();
|
||||
G4MuonicAtom* MuonicAtomDefinition();
|
||||
G4MuonicAtom* MuonicAtom();
|
||||
G4Ions const* GetBaseIon() const;
|
||||
G4double GetDIOLifeTime() const;
|
||||
void SetDIOLifeTime(G4double lt);
|
||||
G4double GetNCLifeTime() const;
|
||||
void SetNCLifeTime(G4double lt);
|
||||
|
||||
private:
|
||||
G4Ions const* baseIon;
|
||||
G4double fDIOLifeTime;
|
||||
G4double fNCLifeTime;
|
||||
};
|
||||
|
||||
inline
|
||||
G4MuonicAtom* G4MuonicAtom::MuonicAtomDefinition()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
inline
|
||||
G4MuonicAtom* G4MuonicAtom::MuonicAtom()
|
||||
{
|
||||
return this;
|
||||
}
|
||||
|
||||
inline
|
||||
G4Ions const* G4MuonicAtom::GetBaseIon() const
|
||||
{
|
||||
return baseIon;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4MuonicAtom::GetDIOLifeTime() const
|
||||
{
|
||||
return fDIOLifeTime;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4MuonicAtom::SetDIOLifeTime(G4double lt)
|
||||
{
|
||||
fDIOLifeTime = lt;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4MuonicAtom::GetNCLifeTime() const
|
||||
{
|
||||
return fNCLifeTime;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4MuonicAtom::SetNCLifeTime(G4double lt)
|
||||
{
|
||||
fNCLifeTime = lt;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonicAtomDIODecayChannel.hh 96314 2016-04-06 07:21:51Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, 17 October 16 K.Lynch
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4MuonicAtomDIODecayChannel_h
|
||||
#define G4MuonicAtomDIODecayChannel_h 1
|
||||
|
||||
|
||||
#endif
|
||||
@@ -30,7 +30,11 @@
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, 1 July 16 K.Lynch
|
||||
// History:
|
||||
// 20160701 K.Lynch first implementation
|
||||
// 20170612 K L Genser major revision; also copied
|
||||
// functions from G4MuonMinusBoundDecay &
|
||||
// old G4MuMinusCaptureCascade; used constexpr
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4MuonicAtomHelper_h
|
||||
#define G4MuonicAtomHelper_h 1
|
||||
@@ -41,6 +45,20 @@
|
||||
class G4MuonicAtomHelper {
|
||||
public:
|
||||
static G4MuonicAtom* ConstructMuonicAtom(G4String name, G4int encoding, G4Ions const* baseion);
|
||||
|
||||
static G4double GetMuonCaptureRate(G4int Z, G4int A);
|
||||
|
||||
static G4double GetMuonDecayRate(G4int Z);
|
||||
|
||||
static G4double GetMuonZeff(G4int Z);
|
||||
|
||||
static G4double GetKShellEnergy(G4double A);
|
||||
|
||||
static G4double GetLinApprox(G4int N,
|
||||
const G4double* const X,
|
||||
const G4double* const Y,
|
||||
G4double Xuser);
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4MuonicAtomNuclearCaptureChannel.hh 96314 2016-04-06 07:21:51Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// GEANT 4 class header file
|
||||
//
|
||||
// History: first implementation, 17 October 16 K.Lynch
|
||||
// ------------------------------------------------------------
|
||||
#ifndef G4MuonicAtomNuclearCaptureChannel_h
|
||||
#define G4MuonicAtomNuclearCaptureChannel_h 1
|
||||
|
||||
|
||||
#endif
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleDefinition.hh 103108 2017-03-16 13:00:35Z gcosmo $
|
||||
// $Id: G4ParticleDefinition.hh 106143 2017-09-14 06:34:42Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -49,6 +49,7 @@
|
||||
// restructuring for Cuts per Region - H.Kurashige - 11 March 2003
|
||||
// added MagneticMoment - H.Kurashige - March 2007
|
||||
// modified for thread-safety for MT - G.Cosmo, A.Dotti - January 2013
|
||||
// added support for MuonicAtom - K.L.Genser - September 2017
|
||||
// ------------------------------------------------------------
|
||||
|
||||
#ifndef G4ParticleDefinition_h
|
||||
@@ -200,6 +201,10 @@ class G4ParticleDefinition
|
||||
// true only if the particle is G4Ions
|
||||
// (it means that theProcessManager is same as one for G4GenricIon)
|
||||
|
||||
G4bool IsMuonicAtom() const;
|
||||
// true only if the particle is a G4MuonicAtom
|
||||
// (it means that theProcessManager is same as the one for G4GenricMuonicAtom)
|
||||
|
||||
G4int operator==(const G4ParticleDefinition &right) const;
|
||||
G4int operator!=(const G4ParticleDefinition &right) const;
|
||||
|
||||
@@ -366,6 +371,7 @@ class G4ParticleDefinition
|
||||
|
||||
protected:
|
||||
G4bool isGeneralIon;
|
||||
G4bool isMuonicAtom;
|
||||
|
||||
public:
|
||||
void SetParticleDefinitionID(G4int id=-1);
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleDefinition.icc 99391 2016-09-20 13:32:30Z gcosmo $
|
||||
// $Id: G4ParticleDefinition.icc 106143 2017-09-14 06:34:42Z gcosmo $
|
||||
//
|
||||
|
||||
inline
|
||||
@@ -204,6 +204,12 @@ inline
|
||||
return isGeneralIon;
|
||||
}
|
||||
|
||||
inline
|
||||
G4bool G4ParticleDefinition::IsMuonicAtom() const
|
||||
{
|
||||
return isMuonicAtom;
|
||||
}
|
||||
|
||||
inline
|
||||
G4int G4ParticleDefinition::GetParticleDefinitionID() const
|
||||
{
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleTable.hh 94421 2015-11-16 08:22:56Z gcosmo $
|
||||
// $Id: G4ParticleTable.hh 106143 2017-09-14 06:34:42Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -45,6 +45,7 @@
|
||||
// 28 ct., 99 H.Kurashige
|
||||
// modified implementation of Remove 21 Mar.,08 H.Kurashige
|
||||
// remove G4ShortLivedTable 25 July, 13 H.Kurashige
|
||||
// added support for MuonicAtom September, 17 K.L.Genser
|
||||
//
|
||||
|
||||
#ifndef G4ParticleTable_h
|
||||
@@ -219,12 +220,15 @@ class G4ParticleTable
|
||||
|
||||
G4bool readyToUse;
|
||||
G4ParticleDefinition* genericIon;
|
||||
G4ParticleDefinition* genericMuonicAtom;
|
||||
|
||||
public:
|
||||
void SetReadiness(G4bool val=true);
|
||||
G4bool GetReadiness() const;
|
||||
G4ParticleDefinition* GetGenericIon() const;
|
||||
void SetGenericIon(G4ParticleDefinition*);
|
||||
G4ParticleDefinition* GetGenericMuonicAtom() const;
|
||||
void SetGenericMuonicAtom(G4ParticleDefinition*);
|
||||
private:
|
||||
void CheckReadiness() const;
|
||||
|
||||
|
||||
@@ -24,12 +24,13 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleTable.icc 73711 2013-09-09 09:57:29Z gcosmo $
|
||||
// $Id: G4ParticleTable.icc 106143 2017-09-14 06:34:42Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
// implement new version for using STL map instaed of RW PtrHashedDictionary
|
||||
// 28 ct., 99 H.Kurashige
|
||||
// added support for MuonicAtom Sep, 17 K.L.Genser
|
||||
|
||||
|
||||
inline
|
||||
@@ -100,3 +101,15 @@ inline
|
||||
{
|
||||
genericIon = gi;
|
||||
}
|
||||
|
||||
inline
|
||||
G4ParticleDefinition* G4ParticleTable::GetGenericMuonicAtom() const
|
||||
{
|
||||
return genericMuonicAtom;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleTable::SetGenericMuonicAtom(G4ParticleDefinition* gma)
|
||||
{
|
||||
genericMuonicAtom = gma;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VDecayChannel.hh 95906 2016-03-02 10:56:50Z gcosmo $
|
||||
// $Id: G4VDecayChannel.hh 105720 2017-08-16 12:38:10Z gcosmo $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -290,9 +290,6 @@ inline
|
||||
inline
|
||||
const G4String& G4VDecayChannel::GetKinematicsName() const { return kinematics_name; }
|
||||
|
||||
inline
|
||||
void G4VDecayChannel::SetBR(G4double value){ rbranch = value; }
|
||||
|
||||
inline
|
||||
G4double G4VDecayChannel::GetBR() const { return rbranch; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user