Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4AntiNeutronAnnihilationAtRest.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
// G4AntiNeutronAnnihilationAtRest physics process
|
||||
// Larry Felawka (TRIUMF), April 1998
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
@@ -1,135 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// G4AntiProtonAnnihilationAtRest physics process
|
||||
// Larry Felawka (TRIUMF), April 1998
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef G4AntiProtonAnnihilationAtRest_h
|
||||
#define G4AntiProtonAnnihilationAtRest_h 1
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Process for annihilation of p-bar at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4VParticleChange.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4GHEKinematicsVector.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
class G4AntiProtonAnnihilationAtRest : public G4VRestProcess
|
||||
|
||||
{
|
||||
private:
|
||||
// hide assignment operator as private
|
||||
G4AntiProtonAnnihilationAtRest& operator=(const G4AntiProtonAnnihilationAtRest &right);
|
||||
G4AntiProtonAnnihilationAtRest(const G4AntiProtonAnnihilationAtRest& );
|
||||
|
||||
public:
|
||||
|
||||
G4AntiProtonAnnihilationAtRest(const G4String& processName ="AntiProtonAnnihilationAtRest",
|
||||
G4ProcessType aType = fHadronic );
|
||||
|
||||
~G4AntiProtonAnnihilationAtRest();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
G4double AtRestGetPhysicalInteractionLength(const G4Track&,
|
||||
G4ForceCondition*);
|
||||
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& ,
|
||||
G4ForceCondition* ) {return 0.0;}
|
||||
|
||||
G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
// return number of secondaries produced
|
||||
G4int GetNumberOfSecondaries();
|
||||
|
||||
// pointer to array containg kinematics of secondaries
|
||||
G4GHEKinematicsVector* GetSecondaryKinematics();
|
||||
|
||||
private:
|
||||
|
||||
void GenerateSecondaries();
|
||||
void Poisso( G4float, G4int* );
|
||||
void Normal( G4float* );
|
||||
void AntiProtonAnnihilation( G4int* );
|
||||
G4double ExNu( G4float );
|
||||
G4int NFac( G4int );
|
||||
|
||||
private:
|
||||
|
||||
// global time-of-flight of stopped AntiProton
|
||||
G4float globalTime;
|
||||
|
||||
// atomic mass of target nucleus
|
||||
G4float targetAtomicMass;
|
||||
|
||||
// charge of target nucleus
|
||||
G4float targetCharge;
|
||||
|
||||
G4GHEKinematicsVector* pv;
|
||||
G4GHEKinematicsVector* eve;
|
||||
G4GHEKinematicsVector* gkin;
|
||||
|
||||
G4float evapEnergy1;
|
||||
G4float evapEnergy3;
|
||||
|
||||
G4int ngkine;
|
||||
|
||||
G4int ntot;
|
||||
G4GHEKinematicsVector result;
|
||||
|
||||
G4float massPionMinus;
|
||||
G4float massProton;
|
||||
G4float massPionZero;
|
||||
G4float massAntiProton;
|
||||
G4float massPionPlus;
|
||||
G4float massGamma;
|
||||
|
||||
G4ParticleDefinition* pdefGamma;
|
||||
G4ParticleDefinition* pdefPionPlus;
|
||||
G4ParticleDefinition* pdefPionZero;
|
||||
G4ParticleDefinition* pdefPionMinus;
|
||||
G4ParticleDefinition* pdefProton;
|
||||
G4ParticleDefinition* pdefAntiProton;
|
||||
G4ParticleDefinition* pdefNeutron;
|
||||
G4ParticleDefinition* pdefDeuteron;
|
||||
G4ParticleDefinition* pdefTriton;
|
||||
G4ParticleDefinition* pdefAlpha;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,69 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4DistributionGenerator.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 12 May 1998
|
||||
//
|
||||
|
||||
#ifndef G4DISTRIBUTIONGENERATOR_HH
|
||||
#define G4DISTRIBUTIONGENERATOR_HH
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
class G4DistributionGenerator
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4DistributionGenerator(std::vector<G4double>& x,
|
||||
std::vector<G4double>& values);
|
||||
G4DistributionGenerator();
|
||||
|
||||
// Destructor
|
||||
~G4DistributionGenerator();
|
||||
|
||||
G4double Generate(G4double ranflat);
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
// G4DistributionGenerator& operator=(const G4DistributionGenerator &right);
|
||||
|
||||
// Copy constructor
|
||||
// G4DistributionGenerator(const G4DistributionGenerator& );
|
||||
|
||||
std::vector<G4double> _x;
|
||||
std::vector<G4double> _cumProb;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4ElementSelector.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4EmCaptureCascade.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4HadronStoppingProcess.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -1,133 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// G4KaonMinusAbsorption physics process
|
||||
// Larry Felawka (TRIUMF), April 1998
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef G4KaonMinusAbsorption_h
|
||||
#define G4KaonMinusAbsorption_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4VParticleChange.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4GHEKinematicsVector.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Alternative process for absorption of K- at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
|
||||
class G4KaonMinusAbsorption : public G4VRestProcess
|
||||
|
||||
{
|
||||
private:
|
||||
// hide assignment operator as private
|
||||
G4KaonMinusAbsorption& operator=(const G4KaonMinusAbsorption &right);
|
||||
G4KaonMinusAbsorption(const G4KaonMinusAbsorption& );
|
||||
|
||||
public:
|
||||
|
||||
G4KaonMinusAbsorption(const G4String& processName ="KaonMinusAbsorption",
|
||||
G4ProcessType aType = fHadronic );
|
||||
|
||||
~G4KaonMinusAbsorption();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
G4double AtRestGetPhysicalInteractionLength(const G4Track&,
|
||||
G4ForceCondition*);
|
||||
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& ,
|
||||
G4ForceCondition* ) {return 0.0;}
|
||||
|
||||
G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
// return number of secondaries produced
|
||||
G4int GetNumberOfSecondaries();
|
||||
|
||||
// pointer to array containg kinematics of secondaries
|
||||
G4GHEKinematicsVector* GetSecondaryKinematics();
|
||||
|
||||
private:
|
||||
|
||||
void GenerateSecondaries();
|
||||
void Poisso( G4float, G4int* );
|
||||
void Normal( G4float* );
|
||||
void KaonMinusAbsorption( G4int* );
|
||||
G4int NFac( G4int );
|
||||
|
||||
private:
|
||||
|
||||
// global time-of-flight of stopped AntiProton
|
||||
G4float globalTime;
|
||||
|
||||
// atomic mass of target nucleus
|
||||
G4float targetAtomicMass;
|
||||
|
||||
// charge of target nucleus
|
||||
G4float targetCharge;
|
||||
|
||||
G4GHEKinematicsVector* pv;
|
||||
G4GHEKinematicsVector* eve;
|
||||
G4GHEKinematicsVector* gkin;
|
||||
|
||||
G4float evapEnergy1;
|
||||
G4float evapEnergy3;
|
||||
|
||||
G4int ngkine;
|
||||
|
||||
G4int ntot;
|
||||
G4GHEKinematicsVector result;
|
||||
|
||||
G4float massKaonMinus;
|
||||
G4float massGamma;
|
||||
G4float massPionZero;
|
||||
G4float massProton;
|
||||
G4float massLambda;
|
||||
|
||||
G4ParticleDefinition* pdefKaonMinus;
|
||||
G4ParticleDefinition* pdefGamma;
|
||||
G4ParticleDefinition* pdefPionZero;
|
||||
G4ParticleDefinition* pdefProton;
|
||||
G4ParticleDefinition* pdefNeutron;
|
||||
G4ParticleDefinition* pdefLambda;
|
||||
G4ParticleDefinition* pdefDeuteron;
|
||||
G4ParticleDefinition* pdefTriton;
|
||||
G4ParticleDefinition* pdefAlpha;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,148 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4KaonMinusAbsorptionAtRest.hh
|
||||
//
|
||||
// Author: Christian V"olcker (Christian.Volcker@cern.ch),
|
||||
//
|
||||
// Creation date: 10. November 1997
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4KaonMinusAbsorptionAtRest_h
|
||||
#define G4KaonMinusAbsorptionAtRest_h 1
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Process for nuclear absorption of K- at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4ParticleTypes.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4DynamicParticleVector.hh"
|
||||
#include "G4NucleiProperties.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
|
||||
// *********************************************************
|
||||
class G4KaonMinusAbsorptionAtRest : public G4VRestProcess
|
||||
// *********************************************************
|
||||
{
|
||||
private:
|
||||
// hide assignment operator as private
|
||||
G4KaonMinusAbsorptionAtRest& operator=(const G4KaonMinusAbsorptionAtRest &right);
|
||||
G4KaonMinusAbsorptionAtRest(const G4KaonMinusAbsorptionAtRest& );
|
||||
public:
|
||||
G4KaonMinusAbsorptionAtRest(const G4String& processName ="KaonMinusAbsorptionAtRest",
|
||||
G4ProcessType aType = fHadronic );
|
||||
~G4KaonMinusAbsorptionAtRest();
|
||||
|
||||
//override methods...
|
||||
public:
|
||||
G4bool IsApplicable(const G4ParticleDefinition& particle) {
|
||||
return( particle == *(G4KaonMinus::KaonMinus()) );
|
||||
}
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
// the main method ...
|
||||
G4VParticleChange* AtRestDoIt(const G4Track& aTrack, const G4Step& aStep);
|
||||
|
||||
protected: // why?? might be private....
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& aTrack,
|
||||
G4ForceCondition* )
|
||||
{
|
||||
G4double result = 0;
|
||||
if(aTrack.GetMaterial()->GetNumberOfElements() == 1)
|
||||
if(aTrack.GetMaterial()->GetZ()<1.5) result = DBL_MAX;
|
||||
return result;
|
||||
}
|
||||
|
||||
private:
|
||||
// returns proton or neutron with fermi-momentum
|
||||
G4DynamicParticle GetAbsorbingNucleon();
|
||||
|
||||
// returns proton or neutron particle definition;
|
||||
G4ParticleDefinition* SelectAbsorbingNucleon();
|
||||
|
||||
// provides the neutron halo factor for absorption on nucleus surface.
|
||||
// in the G4Nucleus
|
||||
G4double NeutronHaloFactor(G4double Z, G4double N);
|
||||
|
||||
// creates the reaction products
|
||||
G4DynamicParticleVector* KaonNucleonReaction();
|
||||
|
||||
// secondary pion absorption in parent nucleus
|
||||
// if TRUE, then add excitation energy to the Nucleus
|
||||
G4bool AbsorbPionByNucleus(G4DynamicParticle* aPion);
|
||||
|
||||
// secondary Sigma-Lambda conversion
|
||||
// if conversion Done, then add excitation energy to the Nucleus
|
||||
G4DynamicParticle *SigmaLambdaConversion(G4DynamicParticle* aSigma);
|
||||
|
||||
// instance variables ...
|
||||
private:
|
||||
// pointer to current stopped hadron
|
||||
const G4DynamicParticle *stoppedHadron;
|
||||
|
||||
// pointer to current target nucleus
|
||||
G4Nucleus* nucleus;
|
||||
|
||||
// some constant parameters
|
||||
|
||||
G4double pionAbsorptionRate;
|
||||
|
||||
// primary production rates ( for absorption on Carbon)
|
||||
|
||||
G4double rateLambdaZeroPiZero;
|
||||
G4double rateSigmaMinusPiPlus;
|
||||
G4double rateSigmaPlusPiMinus;
|
||||
G4double rateSigmaZeroPiZero;
|
||||
|
||||
G4double rateLambdaZeroPiMinus;
|
||||
G4double rateSigmaZeroPiMinus;
|
||||
G4double rateSigmaMinusPiZero;
|
||||
|
||||
|
||||
// Sigma Lambda Conversion rates
|
||||
// for sigma- p -> lambda n
|
||||
// sigma+ n -> lambda p
|
||||
// sigma- n -> lambda
|
||||
|
||||
G4double sigmaPlusLambdaConversionRate;
|
||||
G4double sigmaMinusLambdaConversionRate;
|
||||
G4double sigmaZeroLambdaConversionRate;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4MuMinusCaptureCascade.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
// G4MuMinusCaptureCascade physics process --------
|
||||
// Vladimir Ivanchenko, April 2000
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4MuMinusCapturePrecompound.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4MuonMinusBoundDecay.hh 69573 2013-05-08 13:35:53Z gcosmo $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -49,6 +49,10 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Modifications:
|
||||
// 23/04/2013 K.Genser Made GetMuonCaptureRate and
|
||||
// GetMuonDecayRate public static
|
||||
// 04/30/2013 K.Genser Added GetMuonZeff
|
||||
//
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
@@ -77,12 +81,14 @@ public:
|
||||
|
||||
void ModelDescription(std::ostream& outFile) const;
|
||||
|
||||
static G4double GetMuonCaptureRate(G4int Z, G4int A);
|
||||
|
||||
static G4double GetMuonDecayRate(G4int Z);
|
||||
|
||||
static G4double GetMuonZeff(G4int Z);
|
||||
|
||||
private:
|
||||
|
||||
G4double GetMuonCaptureRate(G4int Z, G4int A);
|
||||
|
||||
G4double GetMuonDecayRate(G4int Z);
|
||||
|
||||
inline void AddNewParticle(G4DynamicParticle* dp, G4double time);
|
||||
|
||||
// hide assignment operator as private
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4MuonMinusCapture.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4MuonMinusCaptureAtRest.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
// G4MuonMinusCaptureAtRest physics process
|
||||
// Larry Felawka (TRIUMF) and Art Olin (TRIUMF) April 1998
|
||||
|
||||
@@ -1,123 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// G4NeutronCaptureAtRest physics process
|
||||
// Larry Felawka (TRIUMF), April 1998
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef G4NeutronCaptureAtRest_h
|
||||
#define G4NeutronCaptureAtRest_h 1
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Process for capture of neutrons at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4VParticleChange.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4GHEKinematicsVector.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
class G4NeutronCaptureAtRest : public G4VRestProcess
|
||||
|
||||
{
|
||||
private:
|
||||
// hide assignment operator as private
|
||||
G4NeutronCaptureAtRest& operator=(const G4NeutronCaptureAtRest &right);
|
||||
G4NeutronCaptureAtRest(const G4NeutronCaptureAtRest& );
|
||||
|
||||
public:
|
||||
|
||||
G4NeutronCaptureAtRest(const G4String& processName ="NeutronCaptureAtRest",
|
||||
G4ProcessType aType = fHadronic );
|
||||
|
||||
~G4NeutronCaptureAtRest();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
// null physics table
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
G4double AtRestGetPhysicalInteractionLength(const G4Track&,
|
||||
G4ForceCondition*);
|
||||
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& ,
|
||||
G4ForceCondition* ) {return 0.0;}
|
||||
|
||||
G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
// return number of secondaries produced
|
||||
G4int GetNumberOfSecondaries();
|
||||
|
||||
// pointer to array containg kinematics of secondaries
|
||||
G4GHEKinematicsVector* GetSecondaryKinematics();
|
||||
|
||||
private:
|
||||
|
||||
void GenerateSecondaries();
|
||||
void Normal( G4float* );
|
||||
void NeutronCapture( G4int* );
|
||||
G4double AtomAs( G4float, G4float );
|
||||
|
||||
private:
|
||||
|
||||
// global time-of-flight of stopped hadron
|
||||
G4float globalTime;
|
||||
|
||||
// atomic mass of target nucleus
|
||||
G4float targetAtomicMass;
|
||||
|
||||
// charge of target nucleus
|
||||
G4float targetCharge;
|
||||
|
||||
G4GHEKinematicsVector* pv;
|
||||
G4GHEKinematicsVector* eve;
|
||||
G4GHEKinematicsVector* gkin;
|
||||
|
||||
G4int ngkine;
|
||||
|
||||
G4int ntot;
|
||||
G4GHEKinematicsVector result;
|
||||
|
||||
G4float massProton;
|
||||
G4float massNeutron;
|
||||
G4float massElectron;
|
||||
G4float massDeuteron;
|
||||
G4float massAlpha;
|
||||
|
||||
G4ParticleDefinition* pdefGamma;
|
||||
G4ParticleDefinition* pdefNeutron;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,108 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusAbsorptionAtRest.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 9 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSABSORPTIONATREST_HH
|
||||
#define G4PIMINUSABSORPTIONATREST_HH
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Alternative Process for absorption of pi- at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4ParticleTypes.hh"
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "G4PiMinusStopAbsorption.hh"
|
||||
#include "G4StopDeexcitation.hh"
|
||||
#include "G4StopDeexcitationAlgorithm.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
class G4DynamicParticle;
|
||||
|
||||
class G4PiMinusAbsorptionAtRest : public G4VRestProcess
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusAbsorptionAtRest& operator=(const G4PiMinusAbsorptionAtRest &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusAbsorptionAtRest(const G4PiMinusAbsorptionAtRest& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusAbsorptionAtRest(const G4String& processName ="PiMinusAbsorptionAtRest",
|
||||
G4ProcessType aType = fHadronic );
|
||||
|
||||
// Destructor
|
||||
~G4PiMinusAbsorptionAtRest();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition& particle)
|
||||
{ return ( particle == *(G4PionMinus::PionMinus()) ); }
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
G4VParticleChange* AtRestDoIt(const G4Track& aTrack, const G4Step& aStep);
|
||||
|
||||
void SetDeexcitationAlgorithm(G4int index);
|
||||
|
||||
protected:
|
||||
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& aTrack,
|
||||
G4ForceCondition* )
|
||||
{
|
||||
G4double result = 0;
|
||||
if(aTrack.GetMaterial()->GetNumberOfElements() == 1)
|
||||
if(aTrack.GetMaterial()->GetZ()<1.5) result = DBL_MAX;
|
||||
return result;
|
||||
}
|
||||
private:
|
||||
|
||||
// G4PiMinusStopAbsorption* _stopAbsorption;
|
||||
// G4StopDeexcitation* _stopDeexcitation;
|
||||
G4int _indexDeexcitation;
|
||||
|
||||
G4PiMinusStopMaterial* LoadAlgorithm(int Z);
|
||||
G4StopDeexcitationAlgorithm* LoadNucleusAlgorithm();
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,111 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopAbsorption.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 12 May 1998
|
||||
//
|
||||
// Modifications:
|
||||
// 13 Sep 1998 - Changed DoAbsorption
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPABSORPTION_HH
|
||||
#define G4PIMINUSSTOPABSORPTION_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4DynamicParticleVector.hh"
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4PiMinusStopAbsorption
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopAbsorption(G4PiMinusStopMaterial* materialAlgo, const G4double Z, const G4double A);
|
||||
|
||||
// Destructor
|
||||
~G4PiMinusStopAbsorption();
|
||||
|
||||
// Return final absorption products
|
||||
G4DynamicParticleVector* DoAbsorption();
|
||||
|
||||
// Energy involved in the absorption process
|
||||
G4double Energy();
|
||||
|
||||
// Return nucleus recoil momentum
|
||||
G4ThreeVector RecoilMomentum();
|
||||
|
||||
// Number of protons in the absorption products
|
||||
G4int NProtons();
|
||||
|
||||
// Number of neutrons in the absorption products
|
||||
G4int NNeutrons();
|
||||
|
||||
void SetVerboseLevel(G4int level);
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopAbsorption& operator=(const G4PiMinusStopAbsorption &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopAbsorption(const G4PiMinusStopAbsorption& );
|
||||
|
||||
G4PiMinusStopMaterial* _materialAlgo; // owned pointer
|
||||
G4DynamicParticleVector* _absorptionProducts;
|
||||
|
||||
G4double _nucleusA;
|
||||
G4double _nucleusZ;
|
||||
|
||||
G4int _level;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopAl.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPAL_HH
|
||||
#define G4PIMINUSSTOPAL_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopAl : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopAl& operator=(const G4PiMinusStopAl &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopAl(const G4PiMinusStopAl& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopAl();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopAl();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,85 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopC.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPC_HH
|
||||
#define G4PIMINUSSTOPC_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopC : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopC& operator=(const G4PiMinusStopC &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopC(const G4PiMinusStopC& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopC();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopC();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eKinData[21];
|
||||
static G4double eKin[22];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopCo.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPCO_HH
|
||||
#define G4PIMINUSSTOPCO_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopCo : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopCo& operator=(const G4PiMinusStopCo &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopCo(const G4PiMinusStopCo& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopCo();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopCo();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[11];
|
||||
static G4double eKin[12];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopCu.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPCU_HH
|
||||
#define G4PIMINUSSTOPCU_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopCu : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopCu& operator=(const G4PiMinusStopCu &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopCu(const G4PiMinusStopCu& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopCu();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopCu();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopLi.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPLI_HH
|
||||
#define G4PIMINUSSTOPLI_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopLi : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopLi& operator=(const G4PiMinusStopLi &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopLi(const G4PiMinusStopLi& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopLi();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopLi();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[21];
|
||||
static G4double eKin[22];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,96 +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$
|
||||
//
|
||||
// File name: G4PiMinusStopMaterial.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// Modifications:
|
||||
// 13 Sep 1998 - MGP Modified P4Vector
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPMATERIAL_HH
|
||||
#define G4PIMINUSSTOPMATERIAL_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
//#include "G4String.hh"
|
||||
#include "G4DistributionGenerator.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
|
||||
|
||||
class G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopMaterial& operator=(const G4PiMinusStopMaterial &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopMaterial(const G4PiMinusStopMaterial& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopMaterial();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopMaterial();
|
||||
|
||||
// Definitions of absorption products
|
||||
virtual std::vector<G4ParticleDefinition*>* DefinitionVector();
|
||||
|
||||
// 4-vectors of absorption products
|
||||
virtual std::vector<G4LorentzVector*>* P4Vector(const G4double binding,
|
||||
const G4double mass);
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons()=0;
|
||||
|
||||
protected:
|
||||
|
||||
std::vector<G4ParticleDefinition* >* _definitions;
|
||||
std::vector<G4LorentzVector* >* _momenta;
|
||||
G4DistributionGenerator* _distributionE;
|
||||
G4DistributionGenerator* _distributionAngle;
|
||||
G4double theR;
|
||||
|
||||
G4double GenerateAngle(G4double range);
|
||||
G4LorentzVector MakeP4(G4double p, G4double theta,
|
||||
G4double phi, G4double e);
|
||||
G4double RecoilEnergy(const G4double mass);
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopN.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPN_HH
|
||||
#define G4PIMINUSSTOPN_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopN : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopN& operator=(const G4PiMinusStopN &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopN(const G4PiMinusStopN& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopN();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopN();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopO.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPO_HH
|
||||
#define G4PIMINUSSTOPO_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopO : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopO& operator=(const G4PiMinusStopO &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopO(const G4PiMinusStopO& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopO();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopO();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopPb.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPPB_HH
|
||||
#define G4PIMINUSSTOPPB_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopPb : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopPb& operator=(const G4PiMinusStopPb &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopPb(const G4PiMinusStopPb& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopPb();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopPb();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,87 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4PiMinusStopTa.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PIMINUSSTOPTA_HH
|
||||
#define G4PIMINUSSTOPTA_HH
|
||||
|
||||
#include "G4PiMinusStopMaterial.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4PiMinusStopTa : public G4PiMinusStopMaterial
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4PiMinusStopTa& operator=(const G4PiMinusStopTa &right);
|
||||
|
||||
// Copy constructor
|
||||
G4PiMinusStopTa(const G4PiMinusStopTa& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4PiMinusStopTa();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4PiMinusStopTa();
|
||||
|
||||
// Number of final nucleons, out of generated absorption products
|
||||
virtual G4double FinalNucleons();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static G4int eKinEntries;
|
||||
static G4int angleEntries;
|
||||
|
||||
static G4double npRatio;
|
||||
|
||||
static G4double nFinalNucleons;
|
||||
|
||||
static G4double eMaxTot;
|
||||
|
||||
static G4double eKinData[10];
|
||||
static G4double eKin[11];
|
||||
|
||||
static G4double angleData[7];
|
||||
static G4double angle[8];
|
||||
|
||||
G4double _clusterSize;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,129 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// G4PionMinusAbsorptionAtRest physics process
|
||||
// Larry Felawka (TRIUMF), April 1998
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef G4PionMinusAbsorptionAtRest_h
|
||||
#define G4PionMinusAbsorptionAtRest_h 1
|
||||
|
||||
// Class Description:
|
||||
//
|
||||
// Process for pi- absorption at rest.
|
||||
// To be used in your physics list in case you need this physics.
|
||||
|
||||
#include "globals.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4VRestProcess.hh"
|
||||
#include "G4VParticleChange.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4GHEKinematicsVector.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
|
||||
class G4PionMinusAbsorptionAtRest : public G4VRestProcess
|
||||
|
||||
{
|
||||
private:
|
||||
// hide assignment operator as private
|
||||
G4PionMinusAbsorptionAtRest& operator=(const G4PionMinusAbsorptionAtRest &right);
|
||||
G4PionMinusAbsorptionAtRest(const G4PionMinusAbsorptionAtRest& );
|
||||
|
||||
public:
|
||||
|
||||
G4PionMinusAbsorptionAtRest(const G4String& processName ="PionMinusAbsorptionAtRest",
|
||||
G4ProcessType aType = fHadronic);
|
||||
|
||||
~G4PionMinusAbsorptionAtRest();
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
// null physics table
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
G4double AtRestGetPhysicalInteractionLength(const G4Track&,
|
||||
G4ForceCondition*);
|
||||
|
||||
// zero mean lifetime
|
||||
G4double GetMeanLifeTime(const G4Track& ,
|
||||
G4ForceCondition* ) {return 0.0;}
|
||||
|
||||
G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
// return number of secondaries produced
|
||||
G4int GetNumberOfSecondaries();
|
||||
|
||||
// pointer to array containg kinematics of secondaries
|
||||
G4GHEKinematicsVector* GetSecondaryKinematics();
|
||||
|
||||
private:
|
||||
|
||||
void GenerateSecondaries();
|
||||
void PionMinusAbsorption( G4int* );
|
||||
void Poisso( G4float, G4int* );
|
||||
void Normal( G4float* );
|
||||
G4double ExNu( G4float );
|
||||
G4int NFac( G4int );
|
||||
|
||||
private:
|
||||
|
||||
// global time-of-flight of stopped PionMinus
|
||||
G4float globalTime;
|
||||
|
||||
// atomic mass of target nucleus
|
||||
G4float targetAtomicMass;
|
||||
|
||||
// charge of target nucleus
|
||||
G4float targetCharge;
|
||||
|
||||
G4GHEKinematicsVector* pv;
|
||||
G4GHEKinematicsVector* eve;
|
||||
G4GHEKinematicsVector* gkin;
|
||||
|
||||
G4float evapEnergy1;
|
||||
G4float evapEnergy3;
|
||||
|
||||
G4int ngkine;
|
||||
|
||||
G4int ntot;
|
||||
G4GHEKinematicsVector result;
|
||||
|
||||
G4float massPionMinus;
|
||||
|
||||
G4ParticleDefinition* pdefGamma;
|
||||
G4ParticleDefinition* pdefPionZero;
|
||||
G4ParticleDefinition* pdefPionMinus;
|
||||
G4ParticleDefinition* pdefProton;
|
||||
G4ParticleDefinition* pdefNeutron;
|
||||
G4ParticleDefinition* pdefDeuteron;
|
||||
G4ParticleDefinition* pdefTriton;
|
||||
G4ParticleDefinition* pdefAlpha;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,91 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4StopDeexcitation.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 12 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4STOPDEEXCITATION_HH
|
||||
#define G4STOPDEEXCITATION_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4StopDeexcitationAlgorithm.hh"
|
||||
|
||||
class G4StopDeexcitation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4StopDeexcitation(G4StopDeexcitationAlgorithm* algorithm);
|
||||
|
||||
// Destructor
|
||||
~G4StopDeexcitation();
|
||||
|
||||
// Return final absorption products
|
||||
G4ReactionProductVector* DoBreakUp(G4double A, G4double Z,
|
||||
G4double excitation, const G4ThreeVector& p) const;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4StopDeexcitation& operator=(const G4StopDeexcitation &right);
|
||||
|
||||
// Copy constructor
|
||||
G4StopDeexcitation(const G4StopDeexcitation& );
|
||||
|
||||
G4StopDeexcitationAlgorithm* _algorithm; // owned pointer
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,77 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4StopDeexcitationAlgorithm.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4STOPDEEXCITATIONALGORITHM_HH
|
||||
#define G4STOPDEEXCITATIONALGORITHM_HH
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4HadronicDeprecate.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
class G4StopDeexcitationAlgorithm
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4StopDeexcitationAlgorithm& operator=(const G4StopDeexcitationAlgorithm &right);
|
||||
|
||||
// Copy constructor
|
||||
G4StopDeexcitationAlgorithm(const G4StopDeexcitationAlgorithm& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4StopDeexcitationAlgorithm() {
|
||||
G4HadronicDeprecate("G4StopDeexcitationAlgorithm");
|
||||
}
|
||||
|
||||
// Destructor
|
||||
virtual ~G4StopDeexcitationAlgorithm() {};
|
||||
|
||||
// Products
|
||||
virtual G4ReactionProductVector* BreakUp(G4double A, G4double Z,
|
||||
G4double excitation, const G4ThreeVector& p) =0;
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -1,76 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4StopDummyDeexcitation.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4STOPDUMMYDEEXCITATION_HH
|
||||
#define G4STOPDUMMYDEEXCITATION_HH
|
||||
|
||||
#include "G4StopDeexcitationAlgorithm.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4StopDummyDeexcitation: public G4StopDeexcitationAlgorithm
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4StopDummyDeexcitation& operator=(const G4StopDummyDeexcitation &right);
|
||||
|
||||
// Copy constructor
|
||||
G4StopDummyDeexcitation(const G4StopDummyDeexcitation& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4StopDummyDeexcitation();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4StopDummyDeexcitation();
|
||||
|
||||
// Products
|
||||
virtual G4ReactionProductVector* BreakUp(G4double A, G4double Z,
|
||||
G4double excitation, const G4ThreeVector& p);
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
G4ReactionProductVector* _products;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id$
|
||||
// $Id: G4StopElementSelector.hh 66367 2012-12-18 09:18:08Z gcosmo $
|
||||
//
|
||||
// Author: V.Ivanchenko (Vladimir.Ivantchenko@cern.ch)
|
||||
//
|
||||
|
||||
@@ -1,73 +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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// File name: G4StopTheoDeexcitation.hh
|
||||
//
|
||||
// Author: Maria Grazia Pia (pia@genova.infn.it)
|
||||
//
|
||||
// Creation date: 18 May 1998
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
#ifndef G4STOPTHEODEEXCITATION_HH
|
||||
#define G4STOPTHEODEEXCITATION_HH
|
||||
|
||||
#include "G4StopDeexcitationAlgorithm.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4DynamicParticleVector.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class G4StopTheoDeexcitation: public G4StopDeexcitationAlgorithm
|
||||
{
|
||||
|
||||
private:
|
||||
|
||||
// Hide assignment operator as private
|
||||
G4StopTheoDeexcitation& operator=(const G4StopTheoDeexcitation &right);
|
||||
|
||||
// Copy constructor
|
||||
G4StopTheoDeexcitation(const G4StopTheoDeexcitation& );
|
||||
|
||||
public:
|
||||
|
||||
// Constructor
|
||||
G4StopTheoDeexcitation();
|
||||
|
||||
// Destructor
|
||||
virtual ~G4StopTheoDeexcitation();
|
||||
|
||||
// Products
|
||||
virtual G4ReactionProductVector* BreakUp(G4double A, G4double Z,
|
||||
G4double excitation, const G4ThreeVector& p);
|
||||
|
||||
protected:
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user