Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: FTFC.hh,v 1.3 2005/12/05 12:55:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TTFTFC_h
|
||||
#define TTFTFC_h 1
|
||||
|
||||
@@ -31,7 +45,7 @@ template<class T>
|
||||
class TFTFC: public T
|
||||
{
|
||||
public:
|
||||
TFTFC();
|
||||
TFTFC(G4int ver = 1);
|
||||
virtual ~TFTFC();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,7 +20,24 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
// $Id: FTFC.icc,v 1.7 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 28.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
// 02.12.2005 V.Ivanchenko: rename components
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleWithCuts.hh"
|
||||
@@ -34,40 +51,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsFTFC.hh"
|
||||
#include "HadronPhysicsFTFC.hh"
|
||||
|
||||
template<class T> TFTFC<T>::TFTFC(): T()
|
||||
template<class T> TFTFC<T>::TFTFC(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: FTFC 2.8"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: FTFC 3.0"<<G4endl;
|
||||
G4cout << G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM", ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay", ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsFTFC("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -85,8 +100,8 @@ template<class T> void TFTFC<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
// if (this->verboseLevel > 0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsFTFC.hh,v 1.2 2005/11/29 16:59:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 23.11.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsFTFC_h
|
||||
#define HadronPhysicsFTFC_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsFTFC : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LEPNeutronBuilder theLEPNeutron;
|
||||
G4FTFCNeutronBuilder theFTFCNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LEPNeutronBuilder * theLEPNeutron;
|
||||
G4FTFCNeutronBuilder * theFTFCNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LEPPiKBuilder theLEPPiK;
|
||||
G4FTFCPiKBuilder theFTFCPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LEPPiKBuilder * theLEPPiK;
|
||||
G4FTFCPiKBuilder * theFTFCPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LEPProtonBuilder theLEPPro;
|
||||
G4FTFCProtonBuilder theFTFCPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LEPProtonBuilder * theLEPPro;
|
||||
G4FTFCProtonBuilder * theFTFCPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsFTFC.cc,v 1.2 2005/11/29 16:59:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 28.11.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsFTFC.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,21 +48,46 @@
|
||||
|
||||
HadronPhysicsFTFC::HadronPhysicsFTFC(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theFTFCNeutron);
|
||||
theNeutrons.RegisterMe(&theLEPNeutron);
|
||||
theLEPNeutron.SetMaxInelasticEnergy(25*GeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theFTFCPro);
|
||||
thePro.RegisterMe(&theLEPPro);
|
||||
theLEPPro.SetMaxEnergy(25*GeV);
|
||||
void HadronPhysicsFTFC::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theFTFCNeutron=new G4FTFCNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder);
|
||||
theLEPNeutron->SetMaxInelasticEnergy(25*GeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theFTFCPro=new G4FTFCProtonBuilder);
|
||||
thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder);
|
||||
theLEPPro->SetMaxEnergy(25*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theFTFCPiK);
|
||||
thePiK.RegisterMe(&theLEPPiK);
|
||||
theLEPPiK.SetMaxEnergy(25*GeV);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theFTFCPiK=new G4FTFCPiKBuilder);
|
||||
thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder);
|
||||
theLEPPiK->SetMaxEnergy(25*GeV);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsFTFC::~HadronPhysicsFTFC() {}
|
||||
HadronPhysicsFTFC::~HadronPhysicsFTFC()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLEPNeutron;
|
||||
delete theFTFCNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLEPPiK;
|
||||
delete theFTFCPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLEPPro;
|
||||
delete theFTFCPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsFTFC::ConstructParticle()
|
||||
{
|
||||
@@ -65,11 +104,11 @@ void HadronPhysicsFTFC::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsFTFC::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
<! Copyright © 2002 J.P. Wellisch >
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.78C-CERN UNIX lxplus039 45 [en] (X11; U; Linux 2.4.9-31.1.cernsmp i686) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center><table BORDER WIDTH="95%" >
|
||||
<tr>
|
||||
<th ALIGN=CENTER></th>
|
||||
|
||||
<td ALIGN=CENTER BGCOLOR="#FFF222">
|
||||
<h1><br>
|
||||
The @@@ physics list.
|
||||
</h1>
|
||||
</center><hr>
|
||||
Click
|
||||
<a href="../LHEP.tar">here</a> to down-load the source code of @@@ Version @.@
|
||||
<br>
|
||||
Click
|
||||
<a href="../Packaging.tar">here</a> to down-load the Packaging re-use library 1.2
|
||||
<hr><br>
|
||||
The LHEP physics list models and cross-section:
|
||||
<ul>
|
||||
<li>
|
||||
<b>FixME:</b> Some text and links to documentation to be added.
|
||||
<li>
|
||||
Verification plots for these cross-sections and models can be found
|
||||
<a href="index.html">here</a>.
|
||||
<b>FixME:</b> Add verification page.
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellspacing="0" cellpadding="0" align="center">
|
||||
<tr><td colspan="2"><hr hright="1"></td></tr>
|
||||
<tr valign="bottom">
|
||||
<td width="100%" class="small">
|
||||
In case of questions, please contact
|
||||
<a href=mailto:Hans-Peter.Wellisch@cern.ch>J.P Wellisch</a>. <BR>
|
||||
</td>
|
||||
<td ALIGN="right" class="small" nowrap>
|
||||
J.P. Wellisch, 2002<BR>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--#include file="../snippet.html" -->
|
||||
</body>
|
||||
</html>
|
||||
<! Copyright © 2002 J.P. Wellisch >
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: FTFP.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TFTFP_h
|
||||
#define TFTFP_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TFTFP: public T
|
||||
{
|
||||
public:
|
||||
TFTFP();
|
||||
TFTFP(G4int ver = 1);
|
||||
virtual ~TFTFP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,22 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: FTFP.icc,v 1.7 2005/12/15 20:57:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 28.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
// 02.12.2005 V.Ivanchenko: rename components
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,39 +50,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsFTFP.hh"
|
||||
|
||||
template<class T> TFTFP<T>::TFTFP(): T()
|
||||
template<class T> TFTFP<T>::TFTFP(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: FTFP 2.8"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: FTFP 4.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsFTFP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
}
|
||||
|
||||
template<class T> TFTFP<T>::~TFTFP()
|
||||
@@ -83,9 +98,8 @@ template<class T> void TFTFP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel > 0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsFTFP.hh,v 1.2 2005/11/29 17:00:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 23.11.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsFTFP_h
|
||||
#define HadronPhysicsFTFP_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsFTFP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LEPNeutronBuilder theLEPNeutron;
|
||||
G4FTFPNeutronBuilder theFTFPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LEPNeutronBuilder * theLEPNeutron;
|
||||
G4FTFPNeutronBuilder * theFTFPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LEPPiKBuilder theLEPPiK;
|
||||
G4FTFPPiKBuilder theFTFPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LEPPiKBuilder * theLEPPiK;
|
||||
G4FTFPPiKBuilder * theFTFPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LEPProtonBuilder theLEPPro;
|
||||
G4FTFPProtonBuilder theFTFPPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LEPProtonBuilder * theLEPPro;
|
||||
G4FTFPProtonBuilder * theFTFPPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsFTFP.cc,v 1.2 2005/11/29 17:00:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 23.11.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsFTFP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,21 +48,47 @@
|
||||
|
||||
HadronPhysicsFTFP::HadronPhysicsFTFP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{}
|
||||
|
||||
void HadronPhysicsFTFP::CreateModels()
|
||||
{
|
||||
theNeutrons.RegisterMe(&theFTFPNeutron);
|
||||
theNeutrons.RegisterMe(&theLEPNeutron);
|
||||
theLEPNeutron.SetMaxInelasticEnergy(25*GeV);
|
||||
|
||||
thePro.RegisterMe(&theFTFPPro);
|
||||
thePro.RegisterMe(&theLEPPro);
|
||||
theLEPPro.SetMaxEnergy(25*GeV);
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theFTFPNeutron=new G4FTFPNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder);
|
||||
theLEPNeutron->SetMaxInelasticEnergy(25*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theFTFPPiK);
|
||||
thePiK.RegisterMe(&theLEPPiK);
|
||||
theLEPPiK.SetMaxEnergy(25*GeV);
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theFTFPPro=new G4FTFPProtonBuilder);
|
||||
thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder);
|
||||
theLEPPro->SetMaxEnergy(25*GeV);
|
||||
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theFTFPPiK=new G4FTFPPiKBuilder);
|
||||
thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder);
|
||||
theLEPPiK->SetMaxEnergy(25*GeV);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsFTFP::~HadronPhysicsFTFP() {}
|
||||
HadronPhysicsFTFP::~HadronPhysicsFTFP()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLEPNeutron;
|
||||
delete theFTFPNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLEPPiK;
|
||||
delete theFTFPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLEPPro;
|
||||
delete theFTFPPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsFTFP::ConstructParticle()
|
||||
{
|
||||
@@ -65,11 +105,11 @@ void HadronPhysicsFTFP::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsFTFP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# $Id: GNUmakefile,v 1.1 2004/12/13 16:38:57 gcosmo Exp $
|
||||
# $Id: GNUmakefile,v 1.4 2005/12/16 09:59:31 gunter Exp $
|
||||
# -----------------------------------------------------------------
|
||||
|
||||
SUBDIR1 = FTFC FTFP LBE LHEP LHEP_GN LHEP_HP LHEP_LEAD LHEP_LEAD_HP LHEP_PRECO QGSP_BERT
|
||||
SUBDIR2 = LHEP_PRECO_HP Packaging QGSC QGSC_LEAD QGSC_LEAD_HP QGSP QGSP_GN QGSP_HP LHEP_BERT LHEP_BERT_HP LHEP_BIC LHEP_BIC_HP QGSP_BIC
|
||||
SUBDIR1 = FTFC FTFP LBE LHEP LHEP_LEAD LHEP_LEAD_HP LHEP_PRECO QGSP_BERT QGSP_BERT_HP QGSP_EMV LHEP_EMV
|
||||
SUBDIR2 = LHEP_PRECO_HP Packaging QGSC QGSC_LEAD QGSC_LEAD_HP QGSP QGSP_HP LHEP_BERT LHEP_BERT_HP LHEP_BIC LHEP_BIC_HP QGSP_BIC
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
|
||||
@@ -15,8 +15,9 @@ endif
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
#
|
||||
# define G4LISTS_BASE, if you have your own physics lists area installed point
|
||||
# G4LISTS_BASE to the directory, that contains the subdirectory 'hadronic'.
|
||||
# define G4LISTS_BASE, if you have your own physics lists area install point
|
||||
# different from the default one, G4LISTS_BASE should point to the directory
|
||||
# that contains the subdirectory 'hadronic'.
|
||||
#
|
||||
ifndef G4LISTS_BASE
|
||||
EXTRALIBS += -L$(G4LIB)/plists/$(G4SYSTEM)
|
||||
@@ -32,49 +33,50 @@ endif
|
||||
# EXTRALIBS += -lFTFP
|
||||
# EXTRALIBS += -lLBE
|
||||
# EXTRALIBS += -lLHEP
|
||||
# EXTRALIBS += -lLHEP_GN
|
||||
# EXTRALIBS += -lLHEP_HP
|
||||
# EXTRALIBS += -lLHEP_LEAD
|
||||
# EXTRALIBS += -lLHEP_BERT_HP
|
||||
# EXTRALIBS += -lLHEP_BIC_HP
|
||||
# EXTRALIBS += -lLHEP_LEAD_HP
|
||||
# EXTRALIBS += -lLHEP_PRECO
|
||||
# EXTRALIBS += -lLHEP_EMV
|
||||
# EXTRALIBS += -lQGSP_BERT
|
||||
# EXTRALIBS += -lQGSP_BERT_HP
|
||||
# EXTRALIBS += -lLHEP_PRECO_HP
|
||||
# EXTRALIBS += -lQGSC
|
||||
# EXTRALIBS += -lQGSC_LEAD
|
||||
# EXTRALIBS += -lQGSC_LEAD_HP
|
||||
# EXTRALIBS += -lQGSP
|
||||
# EXTRALIBS += -lQGSP_GN
|
||||
# EXTRALIBS += -lQGSP_HP
|
||||
# EXTRALIBS += -lQGSP_EMV
|
||||
# EXTRALIBS += -lLHEP_BERT
|
||||
# EXTRALIBS += -lLHEP_BIC
|
||||
# EXTRALIBS += -lQGSP_BIC
|
||||
# EXTRALIBS += -lPackaging
|
||||
|
||||
EXTRALIBS += -lPackaging
|
||||
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFC/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LBE/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_GN/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_EMV/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/Packaging/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BIC/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_GN/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_HP/include
|
||||
CPPFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_EMV/include
|
||||
|
||||
.PHONY: all
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.4 2005/02/17 11:49:25 gcosmo Exp $
|
||||
$Id: History,v 1.15 2005/12/16 09:59:31 gunter Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -15,6 +15,43 @@ track of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
16.12.2005, G.Folger - hadr-lists-V07-01-08
|
||||
- Add QGSP_EMV, LHEP_EMV physics lists, both using multiple scattering 71.
|
||||
|
||||
16.12.2005, G.Folger - hadr-lists-V07-01-07
|
||||
- Add QGSP_BERT_HP physics list, used for background radiation studies for LHCb
|
||||
|
||||
15.12.2005, G.Folger - hadr-lists-V07-01-06
|
||||
- Change version number for Packaging, FTFP, and QGSC.
|
||||
|
||||
07.12.2005, G.Cosmo - hadr-lists-V07-01-05
|
||||
- Do not allow installation of shared libraries when Geant4 granular
|
||||
libraries are installed and used. Coworks with tag "config-V07-01-06".
|
||||
|
||||
06.12.2005, V.Ivanchenko - hadr-lists-V07-01-04
|
||||
- Defined hIoni and msc to the same list of hadrons as in version 7.1.
|
||||
- Fixed bug in EmPhysics71.
|
||||
|
||||
05.12.2005, V.Ivanchenko - hadr-lists-V07-01-03
|
||||
- Add verbosity level as a parameter of Physics Lists
|
||||
- Update cout
|
||||
|
||||
02.12.2005, G.Folger - hadr-lists-V07-01-02
|
||||
- Completed migration of physics lists to non static particles scheme.
|
||||
Package 3.0.
|
||||
|
||||
02.12.2005, V.Ivanchenko - hadr-lists-V07-01-01
|
||||
- Rename Builder -> Physics for all PhysicsConstructors.
|
||||
- Fixed compilation problems for non migrated lists.
|
||||
|
||||
29.11.2005, G.Folger - hadr-lists-V07-01-00
|
||||
- (Partial) migration of physics lists to non static particles scheme.
|
||||
A copy of the standard EM Builder is also used.
|
||||
|
||||
Nov-2005, G.Folger - hadr-lists-V07-01-00
|
||||
- numerous changes to adopt lists to non static particle scheme.
|
||||
- use standard EM physics builder
|
||||
|
||||
17.02.2005, G.Cosmo - ghad-lists-V07-00-01
|
||||
- Added missing fix in LBE physics-list for usage of 'this' pointer for
|
||||
porting on gcc-3.4.X compiler series.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: MinEkineCuts.hh,v 1.1 2004/12/13 16:50:57 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP.hh,v 1.2 2005/11/29 17:01:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 21.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_h
|
||||
#define HadronPhysicsLHEP_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -51,18 +64,18 @@ class HadronPhysicsLHEP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -31,7 +31,7 @@ template<class T>
|
||||
class TLHEP: public T
|
||||
{
|
||||
public:
|
||||
TLHEP();
|
||||
TLHEP(G4int ver = 1);
|
||||
virtual ~TLHEP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,7 +20,22 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
// $Id: LHEP.icc,v 1.8 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 25.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
// 02.12.2005 V.Ivanchenko: rename components
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleWithCuts.hh"
|
||||
@@ -34,38 +49,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP.hh"
|
||||
|
||||
template<class T> TLHEP<T>::TLHEP(): T()
|
||||
template<class T> TLHEP<T>::TLHEP(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP 3.7"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP 4.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// General Physics - i.e. decay
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -83,9 +98,9 @@ template<class T> void TLHEP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel >0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP.cc,v 1.2 2005/11/29 17:01:20 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 21.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,13 +48,29 @@
|
||||
|
||||
HadronPhysicsLHEP::HadronPhysicsLHEP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{}
|
||||
|
||||
void HadronPhysicsLHEP::CreateModels()
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP::~HadronPhysicsLHEP() {}
|
||||
HadronPhysicsLHEP::~HadronPhysicsLHEP()
|
||||
{
|
||||
delete theLHEPNeutron;
|
||||
delete theNeutrons;
|
||||
delete theLHEPPro;
|
||||
delete thePro;
|
||||
delete theLHEPPiK;
|
||||
delete thePiK;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP::ConstructParticle()
|
||||
{
|
||||
@@ -52,16 +82,19 @@ void HadronPhysicsLHEP::ConstructParticle()
|
||||
|
||||
G4ShortLivedConstructor pShortLivedConstructor;
|
||||
pShortLivedConstructor.ConstructParticle();
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
<! Copyright © 2002 J.P. Wellisch >
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.78C-CERN UNIX lxplus039 45 [en] (X11; U; Linux 2.4.9-31.1.cernsmp i686) [Netscape]">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<center><table BORDER WIDTH="95%" >
|
||||
<tr>
|
||||
<th ALIGN=CENTER></th>
|
||||
|
||||
<td ALIGN=CENTER BGCOLOR="#FFF222">
|
||||
<h1><br>
|
||||
The @@@ physics list.
|
||||
</h1>
|
||||
</center><hr>
|
||||
Click
|
||||
<a href="../LHEP.tar">here</a> to down-load the source code of @@@ Version @.@
|
||||
<br>
|
||||
Click
|
||||
<a href="../Packaging.tar">here</a> to down-load the Packaging re-use library 1.2
|
||||
<hr><br>
|
||||
The LHEP physics list models and cross-section:
|
||||
<ul>
|
||||
<li>
|
||||
<b>FixME:</b> Some text and links to documentation to be added.
|
||||
<li>
|
||||
Verification plots for these cross-sections and models can be found
|
||||
<a href="index.html">here</a>.
|
||||
<b>FixME:</b> Add verification page.
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellspacing="0" cellpadding="0" align="center">
|
||||
<tr><td colspan="2"><hr hright="1"></td></tr>
|
||||
<tr valign="bottom">
|
||||
<td width="100%" class="small">
|
||||
In case of questions, please contact
|
||||
<a href=mailto:Hans-Peter.Wellisch@cern.ch>J.P Wellisch</a>. <BR>
|
||||
</td>
|
||||
<td ALIGN="right" class="small" nowrap>
|
||||
J.P. Wellisch, 2002<BR>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--#include file="../snippet.html" -->
|
||||
</body>
|
||||
</html>
|
||||
<! Copyright © 2002 J.P. Wellisch >
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BERT.hh,v 1.3 2005/12/02 16:09:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BERT
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_BERT_h
|
||||
#define HadronPhysicsLHEP_BERT_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsLHEP_BERT : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4BertiniNeutronBuilder theBertiniNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4BertiniNeutronBuilder * theBertiniNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4BertiniPiKBuilder theBertiniPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
G4BertiniPiKBuilder * theBertiniPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4BertiniProtonBuilder theBertiniPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4BertiniProtonBuilder * theBertiniPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BERT.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_BERT
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_BERT_h
|
||||
#define TLHEP_BERT_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template <class T>
|
||||
class TLHEP_BERT: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_BERT();
|
||||
TLHEP_BERT(G4int ver = 1);
|
||||
virtual ~TLHEP_BERT();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BERT.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_BERT
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,41 +49,40 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_BERT.hh"
|
||||
|
||||
template<class T> TLHEP_BERT<T>::TLHEP_BERT(): T()
|
||||
template<class T> TLHEP_BERT<T>::TLHEP_BERT(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_BERT 1.1"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BERT 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// General Physics - i.e. decay
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_BERT("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -78,7 +92,7 @@ template<class T> TLHEP_BERT<T>::~TLHEP_BERT()
|
||||
|
||||
template<class T> void TLHEP_BERT<T>::SetCuts()
|
||||
{
|
||||
if (this->verboseLevel >1){
|
||||
if (this->verboseLevel >1) {
|
||||
G4cout << "LHEP_BERT::SetCuts:";
|
||||
}
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
@@ -86,9 +100,8 @@ template<class T> void TLHEP_BERT<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel > 0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BERT.cc,v 1.3 2005/12/02 16:09:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BERT
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_BERT.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,25 +48,50 @@
|
||||
|
||||
HadronPhysicsLHEP_BERT::HadronPhysicsLHEP_BERT(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theNeutrons.RegisterMe(&theBertiniNeutron);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(9.5*GeV);
|
||||
theBertiniNeutron.SetMaxEnergy(9.9*GeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
thePro.RegisterMe(&theBertiniPro);
|
||||
theLHEPPro.SetMinEnergy(9.5*GeV);
|
||||
theBertiniPro.SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK.RegisterMe(&theBertiniPiK);
|
||||
theLHEPPiK.SetMinPionEnergy(9.5*GeV);
|
||||
theBertiniPiK.SetMaxEnergy(9.9*GeV);
|
||||
void HadronPhysicsLHEP_BERT::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV);
|
||||
theBertiniNeutron->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(9.5*GeV);
|
||||
theBertiniPro->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
thePiK->RegisterMe(theBertiniPiK=new G4BertiniPiKBuilder);
|
||||
theLHEPPiK->SetMinPionEnergy(9.5*GeV);
|
||||
theBertiniPiK->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_BERT::~HadronPhysicsLHEP_BERT() {}
|
||||
HadronPhysicsLHEP_BERT::~HadronPhysicsLHEP_BERT()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theBertiniNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
delete theBertiniPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theBertiniPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_BERT::ConstructParticle()
|
||||
{
|
||||
@@ -69,11 +108,11 @@ void HadronPhysicsLHEP_BERT::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_BERT::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BERT_HP.hh,v 1.3 2005/12/02 16:16:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BERT_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_BERT_HP_h
|
||||
#define HadronPhysicsLHEP_BERT_HP_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsLHEP_BERT_HP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4BertiniNeutronBuilder theBertiniNeutron;
|
||||
G4NeutronHPBuilder theHPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4BertiniNeutronBuilder * theBertiniNeutron;
|
||||
G4NeutronHPBuilder * theHPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4BertiniProtonBuilder theBertiniPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4BertiniProtonBuilder * theBertiniPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -31,7 +31,7 @@ template<class T>
|
||||
class TLHEP_BERT_HP: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_BERT_HP();
|
||||
TLHEP_BERT_HP(G4int ver = 1);
|
||||
virtual ~TLHEP_BERT_HP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BERT_HP.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName:
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,39 +49,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_BERT_HP.hh"
|
||||
|
||||
template<class T> TLHEP_BERT_HP<T>::TLHEP_BERT_HP(): T()
|
||||
template<class T> TLHEP_BERT_HP<T>::TLHEP_BERT_HP(G4int ver): T()
|
||||
{
|
||||
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_BERT_HP 1.1"<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BERT_HP 3.0"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Hadron Physics
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_BERT_HP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -84,9 +98,8 @@ template<class T> void TLHEP_BERT_HP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel > 0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BERT_HP.cc,v 1.3 2005/12/02 16:16:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BERT_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_BERT_HP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,25 +48,49 @@
|
||||
|
||||
HadronPhysicsLHEP_BERT_HP::HadronPhysicsLHEP_BERT_HP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theNeutrons.RegisterMe(&theBertiniNeutron);
|
||||
theNeutrons.RegisterMe(&theHPNeutron);
|
||||
theLHEPNeutron.SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(9.5*GeV);
|
||||
theBertiniNeutron.SetMaxEnergy(9.9*GeV);
|
||||
theBertiniNeutron.SetMinEnergy(19.9*MeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
thePro.RegisterMe(&theBertiniPro);
|
||||
theLHEPPro.SetMinEnergy(9.5*GeV);
|
||||
theBertiniPro.SetMaxEnergy(9.9*GeV);
|
||||
void HadronPhysicsLHEP_BERT_HP::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theBertiniNeutron=new G4BertiniNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder);
|
||||
theLHEPNeutron->SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV);
|
||||
theBertiniNeutron->SetMaxEnergy(9.9*GeV);
|
||||
theBertiniNeutron->SetMinEnergy(19.9*MeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
thePro->RegisterMe(theBertiniPro=new G4BertiniProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(9.5*GeV);
|
||||
theBertiniPro->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_BERT_HP::~HadronPhysicsLHEP_BERT_HP() {}
|
||||
HadronPhysicsLHEP_BERT_HP::~HadronPhysicsLHEP_BERT_HP()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theBertiniNeutron;
|
||||
delete theHPNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theBertiniPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_BERT_HP::ConstructParticle()
|
||||
{
|
||||
@@ -69,11 +107,11 @@ void HadronPhysicsLHEP_BERT_HP::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_BERT_HP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BIC.hh,v 1.3 2005/12/02 16:13:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BIC
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_BIC_h
|
||||
#define HadronPhysicsLHEP_BIC_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -53,20 +66,20 @@ class HadronPhysicsLHEP_BIC : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4BinaryNeutronBuilder theBinaryNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4BinaryNeutronBuilder * theBinaryNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4BinaryProtonBuilder theBinaryPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4BinaryProtonBuilder * theBinaryPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BIC.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BIC
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_BIC_h
|
||||
#define TLHEP_BIC_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TLHEP_BIC: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_BIC();
|
||||
TLHEP_BIC(G4int ver = 1);
|
||||
virtual ~TLHEP_BIC();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BIC.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_BIC
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,41 +49,40 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_BIC.hh"
|
||||
|
||||
template<class T> TLHEP_BIC<T>::TLHEP_BIC(): T()
|
||||
template<class T> TLHEP_BIC<T>::TLHEP_BIC(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_BIC 1.1"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BIC 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_BIC("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -86,9 +100,8 @@ template<class T> void TLHEP_BIC<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel >0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BIC.cc,v 1.3 2005/12/02 16:13:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BIC
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_BIC.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,22 +48,46 @@
|
||||
|
||||
HadronPhysicsLHEP_BIC::HadronPhysicsLHEP_BIC(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theNeutrons.RegisterMe(&theBinaryNeutron);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(9.5*GeV);
|
||||
theBinaryNeutron.SetMaxEnergy(9.9*GeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
thePro.RegisterMe(&theBinaryPro);
|
||||
theLHEPPro.SetMinEnergy(9.5*GeV);
|
||||
theBinaryPro.SetMaxEnergy(9.9*GeV);
|
||||
void HadronPhysicsLHEP_BIC::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theBinaryNeutron=new G4BinaryNeutronBuilder);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV);
|
||||
theBinaryNeutron->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
thePro->RegisterMe(theBinaryPro=new G4BinaryProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(9.5*GeV);
|
||||
theBinaryPro->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_BIC::~HadronPhysicsLHEP_BIC() {}
|
||||
HadronPhysicsLHEP_BIC::~HadronPhysicsLHEP_BIC()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theBinaryNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theBinaryPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_BIC::ConstructParticle()
|
||||
{
|
||||
@@ -66,11 +104,11 @@ void HadronPhysicsLHEP_BIC::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_BIC::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BIC_HP.hh,v 1.3 2005/12/02 16:51:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BIC_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_BIC_HP_h
|
||||
#define HadronPhysicsLHEP_BIC_HP_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsLHEP_BIC_HP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4BinaryNeutronBuilder theBinaryNeutron;
|
||||
G4NeutronHPBuilder theHPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4BinaryNeutronBuilder * theBinaryNeutron;
|
||||
G4NeutronHPBuilder * theHPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4BinaryProtonBuilder theBinaryPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4BinaryProtonBuilder * theBinaryPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BIC_HP.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_BIC_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_BIC_HP_h
|
||||
#define TLHEP_BIC_HP_h 1
|
||||
|
||||
@@ -31,7 +45,7 @@ template<class T>
|
||||
class TLHEP_BIC_HP: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_BIC_HP();
|
||||
TLHEP_BIC_HP(G4int ver = 1);
|
||||
virtual ~TLHEP_BIC_HP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_BIC_HP.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_BIC_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,42 +49,40 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_BIC_HP.hh"
|
||||
|
||||
template<class T> TLHEP_BIC_HP<T>::TLHEP_BIC_HP(): T()
|
||||
template<class T> TLHEP_BIC_HP<T>::TLHEP_BIC_HP(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_BIC_HP 1.1"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BIC_HP 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Hadron Physics
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_BIC_HP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
}
|
||||
|
||||
template<class T> TLHEP_BIC_HP<T>::~TLHEP_BIC_HP()
|
||||
@@ -86,9 +99,8 @@ template<class T> void TLHEP_BIC_HP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel >0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_BIC_HP.cc,v 1.3 2005/12/02 16:51:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_BIC_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_BIC_HP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,25 +48,50 @@
|
||||
|
||||
HadronPhysicsLHEP_BIC_HP::HadronPhysicsLHEP_BIC_HP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theNeutrons.RegisterMe(&theBinaryNeutron);
|
||||
theNeutrons.RegisterMe(&theHPNeutron);
|
||||
theLHEPNeutron.SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(9.5*GeV);
|
||||
theBinaryNeutron.SetMaxEnergy(9.9*GeV);
|
||||
theBinaryNeutron.SetMinEnergy(19.9*MeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
thePro.RegisterMe(&theBinaryPro);
|
||||
theLHEPPro.SetMinEnergy(9.5*GeV);
|
||||
theBinaryPro.SetMaxEnergy(9.9*GeV);
|
||||
void HadronPhysicsLHEP_BIC_HP::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theBinaryNeutron=new G4BinaryNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder);
|
||||
theLHEPNeutron->SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV);
|
||||
theBinaryNeutron->SetMaxEnergy(9.9*GeV);
|
||||
theBinaryNeutron->SetMinEnergy(19.9*MeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
thePro->RegisterMe(theBinaryPro=new G4BinaryProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(9.5*GeV);
|
||||
theBinaryPro->SetMaxEnergy(9.9*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_BIC_HP::~HadronPhysicsLHEP_BIC_HP() {}
|
||||
HadronPhysicsLHEP_BIC_HP::~HadronPhysicsLHEP_BIC_HP()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theBinaryNeutron;
|
||||
delete theHPNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theBinaryPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_BIC_HP::ConstructParticle()
|
||||
{
|
||||
@@ -69,11 +108,11 @@ void HadronPhysicsLHEP_BIC_HP::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_BIC_HP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
name := LHEP_HP
|
||||
name := LHEP_EMV
|
||||
include ../common.gmk
|
||||
+36
-21
@@ -20,47 +20,62 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_HP_h
|
||||
#define HadronPhysicsLHEP_HP_h 1
|
||||
// $Id: HadronPhysicsLHEP_EMV.hh,v 1.1 2005/12/16 09:57:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_EMV
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 16.12.2005 G.Folger: create from LHEP_GN
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_EMV_h
|
||||
#define HadronPhysicsLHEP_EMV_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
#include "G4LHEPPiKBuilder.hh"
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4LHEPProtonBuilder.hh"
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4LHEPNeutronBuilder.hh"
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "G4NeutronHPBuilder.hh"
|
||||
|
||||
class HadronPhysicsLHEP_HP : public G4VPhysicsConstructor
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4LHEPProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "G4LHEPNeutronBuilder.hh"
|
||||
|
||||
class HadronPhysicsLHEP_EMV : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
HadronPhysicsLHEP_HP(const G4String& name ="hadron");
|
||||
virtual ~HadronPhysicsLHEP_HP();
|
||||
HadronPhysicsLHEP_EMV(const G4String& name ="hadron");
|
||||
virtual ~HadronPhysicsLHEP_EMV();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4NeutronHPBuilder theHPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPProtonBuilder theLHEPProton;
|
||||
G4ProtonBuilder theProton;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
+22
-8
@@ -20,29 +20,43 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef TQGSP_GN_h
|
||||
#define TQGSP_GN_h 1
|
||||
// $Id: LHEP_EMV.hh,v 1.1 2005/12/16 09:57:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_EMV
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 16.12.2005 G.Folger: create from HadronPhysicsLHEP_GN
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_EMV_h
|
||||
#define TLHEP_EMV_h 1
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
#include "globals.hh"
|
||||
#include "CompileTimeConstraints.hh"
|
||||
|
||||
template<class T>
|
||||
class TQGSP_GN: public T
|
||||
class TLHEP_EMV: public T
|
||||
{
|
||||
public:
|
||||
TQGSP_GN();
|
||||
virtual ~TQGSP_GN();
|
||||
TLHEP_EMV(G4int ver = 1);
|
||||
virtual ~TLHEP_EMV();
|
||||
|
||||
public:
|
||||
// SetCuts()
|
||||
virtual void SetCuts();
|
||||
|
||||
private:
|
||||
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
|
||||
|
||||
};
|
||||
#include "QGSP_GN.icc"
|
||||
typedef TQGSP_GN<G4VModularPhysicsList> QGSP_GN;
|
||||
#include "LHEP_EMV.icc"
|
||||
typedef TLHEP_EMV<G4VModularPhysicsList> LHEP_EMV;
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
+38
-24
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_EMV.icc,v 1.1 2005/12/16 09:57:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_EMV
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 16.12.2005 G.Folger: create from LHEP_GN
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,56 +48,56 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EM_GNPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_GN.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics71.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
template<class T> TLHEP_GN<T>::TLHEP_GN(): T()
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_EMV.hh"
|
||||
|
||||
template<class T> TLHEP_EMV<T>::TLHEP_EMV(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_GN 2.5"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_EMV 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
// EM Physics - without multiple scattering limiting the step
|
||||
this->RegisterPhysics( new G4EmStandardPhysics71("standard EM msc 7.1",ver));
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EM_GNPhysics("standard EM plus gamma nuclear"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("general",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_GN("hadron"));
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_EMV("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
}
|
||||
|
||||
template<class T> TLHEP_GN<T>::~TLHEP_GN()
|
||||
template<class T> TLHEP_EMV<T>::~TLHEP_EMV()
|
||||
{
|
||||
}
|
||||
|
||||
template<class T> void TLHEP_GN<T>::SetCuts()
|
||||
template<class T> void TLHEP_EMV<T>::SetCuts()
|
||||
{
|
||||
if (this->verboseLevel >1){
|
||||
G4cout << "LHEP_GN::SetCuts:";
|
||||
G4cout << "LHEP_EMV::SetCuts:";
|
||||
}
|
||||
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
|
||||
// the default cut value for all particle types
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
if (this->verboseLevel >0)
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
}
|
||||
+52
-27
@@ -20,11 +20,51 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "HadronPhysicsQGSP.hh"
|
||||
// $Id: HadronPhysicsLHEP_EMV.cc,v 1.1 2005/12/16 09:57:06 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_EMV
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 16.12.2005 G.Folger: create from HadronPhysicsLHEP_GN
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
#include "HadronPhysicsLHEP_EMV.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
HadronPhysicsLHEP_EMV::HadronPhysicsLHEP_EMV(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{}
|
||||
|
||||
void HadronPhysicsLHEP_EMV::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_EMV::~HadronPhysicsLHEP_EMV()
|
||||
{
|
||||
delete theLHEPNeutron;
|
||||
delete theNeutrons;
|
||||
delete theLHEPPro;
|
||||
delete thePro;
|
||||
delete theLHEPPiK;
|
||||
delete thePiK;
|
||||
}
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
@@ -32,25 +72,7 @@
|
||||
#include "G4BaryonConstructor.hh"
|
||||
#include "G4ShortLivedConstructor.hh"
|
||||
|
||||
HadronPhysicsQGSP::HadronPhysicsQGSP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theQGSPNeutron);
|
||||
theNeutrons.RegisterMe(&theLEPNeutron);
|
||||
theLEPNeutron.SetMaxInelasticEnergy(25*GeV);
|
||||
|
||||
thePro.RegisterMe(&theQGSPPro);
|
||||
thePro.RegisterMe(&theLEPPro);
|
||||
theLEPPro.SetMaxEnergy(25*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theQGSPPiK);
|
||||
thePiK.RegisterMe(&theLEPPiK);
|
||||
theLEPPiK.SetMaxEnergy(25*GeV);
|
||||
}
|
||||
|
||||
HadronPhysicsQGSP::~HadronPhysicsQGSP() {}
|
||||
|
||||
void HadronPhysicsQGSP::ConstructParticle()
|
||||
void HadronPhysicsLHEP_EMV::ConstructParticle()
|
||||
{
|
||||
G4MesonConstructor pMesonConstructor;
|
||||
pMesonConstructor.ConstructParticle();
|
||||
@@ -60,16 +82,19 @@ void HadronPhysicsQGSP::ConstructParticle()
|
||||
|
||||
G4ShortLivedConstructor pShortLivedConstructor;
|
||||
pShortLivedConstructor.ConstructParticle();
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsQGSP::ConstructProcess()
|
||||
void HadronPhysicsLHEP_EMV::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
@@ -1,65 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_GN_h
|
||||
#define HadronPhysicsLHEP_GN_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
#include "G4LHEPPiKBuilder.hh"
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4LHEPProtonBuilder.hh"
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4LHEPNeutronBuilder.hh"
|
||||
#include "G4NeutronBuilder.hh"
|
||||
|
||||
class HadronPhysicsLHEP_GN : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
HadronPhysicsLHEP_GN(const G4String& name ="hadron");
|
||||
virtual ~HadronPhysicsLHEP_GN();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPProtonBuilder theLHEPProton;
|
||||
G4ProtonBuilder theProton;
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_LEAD.hh,v 1.3 2005/12/02 18:24:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_LEAD
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_LEAD_h
|
||||
#define HadronPhysicsLHEP_LEAD_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsLHEP_LEAD : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4LEADNeutronBuilder theLEADNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4LEADNeutronBuilder * theLEADNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4LEADPiKBuilder theLEADPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
G4LEADPiKBuilder * theLEADPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4LEADProtonBuilder theLEADPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4LEADProtonBuilder * theLEADPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_LEAD.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_LEAD_h
|
||||
#define TLHEP_LEAD_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TLHEP_LEAD: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_LEAD();
|
||||
TLHEP_LEAD(G4int ver = 1);
|
||||
virtual ~TLHEP_LEAD();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,7 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
// $Id: LHEP_LEAD.icc,v 1.7 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleWithCuts.hh"
|
||||
@@ -34,37 +48,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_LEAD.hh"
|
||||
|
||||
template<class T> TLHEP_LEAD<T>::TLHEP_LEAD(): T()
|
||||
template<class T> TLHEP_LEAD<T>::TLHEP_LEAD(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_LEAD 1.5"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_LEAD 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_LEAD("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
|
||||
}
|
||||
@@ -83,9 +98,8 @@ template<class T> void TLHEP_LEAD<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel >0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_LEAD.cc,v 1.3 2005/12/02 18:24:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_LEAD
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_LEAD.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,21 +48,46 @@
|
||||
|
||||
HadronPhysicsLHEP_LEAD::HadronPhysicsLHEP_LEAD(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLEADNeutron);
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(4.99*GeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLEADPro);
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
theLHEPPro.SetMinEnergy(4.99*GeV);
|
||||
void HadronPhysicsLHEP_LEAD::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(4.99*GeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLEADPro=new G4LEADProtonBuilder);
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(4.99*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLEADPiK);
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
theLHEPPiK.SetMinEnergy(4.99*GeV);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder);
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
theLHEPPiK->SetMinEnergy(4.99*GeV);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_LEAD::~HadronPhysicsLHEP_LEAD() {}
|
||||
HadronPhysicsLHEP_LEAD::~HadronPhysicsLHEP_LEAD()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theLEADNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
delete theLEADPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theLEADPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_LEAD::ConstructParticle()
|
||||
{
|
||||
@@ -65,11 +104,11 @@ void HadronPhysicsLHEP_LEAD::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_LEAD::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_LEAD_HP.hh,v 1.3 2005/12/02 18:29:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_LEAD_HP_h
|
||||
#define HadronPhysicsLHEP_LEAD_HP_h 1
|
||||
|
||||
@@ -27,7 +42,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -55,22 +69,22 @@ class HadronPhysicsLHEP_LEAD_HP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4LEADNeutronBuilder theLEADNeutron;
|
||||
G4NeutronHPBuilder theHPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4LEADNeutronBuilder * theLEADNeutron;
|
||||
G4NeutronHPBuilder * theHPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4LEADPiKBuilder theLEADPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
G4LEADPiKBuilder * theLEADPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4LEADProtonBuilder theLEADPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4LEADProtonBuilder * theLEADPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_LEAD_HP.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_LEAD_HP_h
|
||||
#define TLHEP_LEAD_HP_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TLHEP_LEAD_HP: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_LEAD_HP();
|
||||
TLHEP_LEAD_HP(G4int ver = 1);
|
||||
virtual ~TLHEP_LEAD_HP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_LEAD_HP.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,38 +49,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_LEAD_HP.hh"
|
||||
|
||||
template<class T> TLHEP_LEAD_HP<T>::TLHEP_LEAD_HP(): T()
|
||||
template<class T> TLHEP_LEAD_HP<T>::TLHEP_LEAD_HP(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon, neutron);
|
||||
G4cout << "You are using the simulation engine: LHEP_LEAD_HP 1.6"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_LEAD_HP 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Hadron Physics
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_LEAD_HP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -83,9 +98,8 @@ template<class T> void TLHEP_LEAD_HP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
if (this->verboseLevel > 0)
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_LEAD_HP.cc,v 1.3 2005/12/02 18:29:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_LEAD_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_LEAD_HP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,24 +49,50 @@
|
||||
|
||||
HadronPhysicsLHEP_LEAD_HP::HadronPhysicsLHEP_LEAD_HP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theLHEPNeutron.SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(4.99*GeV);
|
||||
theNeutrons.RegisterMe(&theLEADNeutron);
|
||||
theLEADNeutron.SetMinEnergy(19.9*MeV);
|
||||
theNeutrons.RegisterMe(&theHPNeutron);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
theLHEPPro.SetMinEnergy(4.99*GeV);
|
||||
thePro.RegisterMe(&theLEADPro);
|
||||
void HadronPhysicsLHEP_LEAD_HP::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theLHEPNeutron->SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(4.99*GeV);
|
||||
theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder);
|
||||
theLEADNeutron->SetMinEnergy(19.9*MeV);
|
||||
theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(4.99*GeV);
|
||||
thePro->RegisterMe(theLEADPro=new G4LEADProtonBuilder);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
theLHEPPiK.SetMinEnergy(4.99*GeV);
|
||||
thePiK.RegisterMe(&theLEADPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
theLHEPPiK->SetMinEnergy(4.99*GeV);
|
||||
thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_LEAD_HP::~HadronPhysicsLHEP_LEAD_HP() {}
|
||||
HadronPhysicsLHEP_LEAD_HP::~HadronPhysicsLHEP_LEAD_HP()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete theLEADNeutron;
|
||||
delete theHPNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
delete theLEADPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete theLEADPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_LEAD_HP::ConstructParticle()
|
||||
{
|
||||
@@ -68,11 +109,11 @@ void HadronPhysicsLHEP_LEAD_HP::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_LEAD_HP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_PRECO.hh,v 1.3 2005/12/02 17:30:34 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_PRECO
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_PRECO_h
|
||||
#define HadronPhysicsLHEP_PRECO_h 1
|
||||
|
||||
@@ -27,7 +41,6 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
@@ -53,20 +66,20 @@ class HadronPhysicsLHEP_PRECO : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4PrecoNeutronBuilder thePrecoNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4PrecoNeutronBuilder * thePrecoNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4PrecoProtonBuilder thePrecoPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4PrecoProtonBuilder * thePrecoPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_PRECO.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_PRECO
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_PRECO_h
|
||||
#define TLHEP_PRECO_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TLHEP_PRECO: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_PRECO();
|
||||
TLHEP_PRECO(G4int ver = 1);
|
||||
virtual ~TLHEP_PRECO();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,21 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_PRECO.icc,v 1.7 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_PRECO
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 25.11.2005 G.Folger: migration to non static particles
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,38 +49,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_PRECO.hh"
|
||||
|
||||
template<class T> TLHEP_PRECO<T>::TLHEP_PRECO(): T()
|
||||
template<class T> TLHEP_PRECO<T>::TLHEP_PRECO(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon);
|
||||
G4cout << "You are using the simulation engine: LHEP_PRECO 2.7"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_PRECO 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_PRECO("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
|
||||
}
|
||||
|
||||
@@ -83,9 +98,8 @@ template<class T> void TLHEP_PRECO<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
|
||||
// if (this->verboseLevel > 0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_PRECO.cc,v 1.3 2005/12/02 17:30:34 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_PRECO
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_PRECO.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,19 +48,43 @@
|
||||
|
||||
HadronPhysicsLHEP_PRECO::HadronPhysicsLHEP_PRECO(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{
|
||||
theNeutrons.RegisterMe(&thePrecoNeutron);
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(0.15*GeV);
|
||||
{}
|
||||
|
||||
thePro.RegisterMe(&thePrecoPro);
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
theLHEPPro.SetMinEnergy(0.15*GeV);
|
||||
void HadronPhysicsLHEP_PRECO::CreateModels()
|
||||
{
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(thePrecoNeutron=new G4PrecoNeutronBuilder);
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(0.15*GeV);
|
||||
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(thePrecoPro=new G4PrecoProtonBuilder);
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(0.15*GeV);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_PRECO::~HadronPhysicsLHEP_PRECO() {}
|
||||
HadronPhysicsLHEP_PRECO::~HadronPhysicsLHEP_PRECO()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete thePrecoNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete thePrecoPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_PRECO::ConstructParticle()
|
||||
{
|
||||
@@ -63,11 +101,11 @@ void HadronPhysicsLHEP_PRECO::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_PRECO::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_PRECO_HP.hh,v 1.3 2005/12/02 17:42:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_PRECO_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef HadronPhysicsLHEP_PRECO_HP_h
|
||||
#define HadronPhysicsLHEP_PRECO_HP_h 1
|
||||
|
||||
@@ -27,10 +41,9 @@
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronQEDBuilder.hh"
|
||||
#include "G4StoppingHadronBuilder.hh"
|
||||
#include "G4MiscLHEPBuilder.hh"
|
||||
|
||||
#
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4LHEPPiKBuilder.hh"
|
||||
|
||||
@@ -54,21 +67,21 @@ class HadronPhysicsLHEP_PRECO_HP : public G4VPhysicsConstructor
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4NeutronBuilder theNeutrons;
|
||||
G4LHEPNeutronBuilder theLHEPNeutron;
|
||||
G4PrecoNeutronBuilder thePrecoNeutron;
|
||||
G4NeutronHPBuilder theHPNeutron;
|
||||
void CreateModels();
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4LHEPNeutronBuilder * theLHEPNeutron;
|
||||
G4PrecoNeutronBuilder * thePrecoNeutron;
|
||||
G4NeutronHPBuilder * theHPNeutron;
|
||||
|
||||
G4PiKBuilder thePiK;
|
||||
G4LHEPPiKBuilder theLHEPPiK;
|
||||
G4PiKBuilder * thePiK;
|
||||
G4LHEPPiKBuilder * theLHEPPiK;
|
||||
|
||||
G4ProtonBuilder thePro;
|
||||
G4LHEPProtonBuilder theLHEPPro;
|
||||
G4PrecoProtonBuilder thePrecoPro;
|
||||
G4ProtonBuilder * thePro;
|
||||
G4LHEPProtonBuilder * theLHEPPro;
|
||||
G4PrecoProtonBuilder * thePrecoPro;
|
||||
|
||||
G4MiscLHEPBuilder theMiscLHEP;
|
||||
G4StoppingHadronBuilder theStoppingHadron;
|
||||
G4HadronQEDBuilder theHadronQED;
|
||||
G4MiscLHEPBuilder * theMiscLHEP;
|
||||
G4StoppingHadronBuilder * theStoppingHadron;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_PRECO_HP.hh,v 1.3 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_PRECO_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef TLHEP_PRECO_HP_h
|
||||
#define TLHEP_PRECO_HP_h 1
|
||||
|
||||
@@ -31,7 +44,7 @@ template<class T>
|
||||
class TLHEP_PRECO_HP: public T
|
||||
{
|
||||
public:
|
||||
TLHEP_PRECO_HP();
|
||||
TLHEP_PRECO_HP(G4int ver = 1);
|
||||
virtual ~TLHEP_PRECO_HP();
|
||||
|
||||
public:
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: LHEP_PRECO_HP.icc,v 1.6 2005/12/05 18:25:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: LHEP_PRECO_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
@@ -34,39 +48,38 @@
|
||||
#include "G4ios.hh"
|
||||
#include <iomanip>
|
||||
|
||||
#include "GeneralPhysics.hh"
|
||||
#include "EMPhysics.hh"
|
||||
#include "MuonPhysics.hh"
|
||||
#include "IonPhysics.hh"
|
||||
#include "G4DecayPhysics.hh"
|
||||
#include "G4EmStandardPhysics.hh"
|
||||
#include "G4EmExtraPhysics.hh"
|
||||
#include "G4IonPhysics.hh"
|
||||
|
||||
#include "G4DataQuestionaire.hh"
|
||||
#include "HadronPhysicsLHEP_PRECO_HP.hh"
|
||||
|
||||
template<class T> TLHEP_PRECO_HP<T>::TLHEP_PRECO_HP(): T()
|
||||
template<class T> TLHEP_PRECO_HP<T>::TLHEP_PRECO_HP(G4int ver): T()
|
||||
{
|
||||
// default cut value (1.0mm)
|
||||
// defaultCutValue = 1.0*mm;
|
||||
G4DataQuestionaire it(photon, neutron);
|
||||
G4cout << "You are using the simulation engine: LHEP_PRECO_HP 2.5"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List simulation engine: LHEP_PRECO_HP 3.0"<<G4endl;
|
||||
G4cout <<G4endl;
|
||||
this->defaultCutValue = 0.7*mm;
|
||||
this->SetVerboseLevel(1);
|
||||
|
||||
// General Physics
|
||||
this->RegisterPhysics( new GeneralPhysics("general") );
|
||||
this->SetVerboseLevel(ver);
|
||||
|
||||
// EM Physics
|
||||
this->RegisterPhysics( new EMPhysics("standard EM"));
|
||||
this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver));
|
||||
|
||||
// Muon Physics
|
||||
this->RegisterPhysics( new MuonPhysics("muon"));
|
||||
// Synchroton Radiation & GN Physics
|
||||
this->RegisterPhysics( new G4EmExtraPhysics("extra EM"));
|
||||
|
||||
// Decays
|
||||
this->RegisterPhysics( new G4DecayPhysics("decay",ver) );
|
||||
|
||||
// Hadron Physics
|
||||
this->RegisterPhysics( new HadronPhysicsLHEP_PRECO_HP("hadron"));
|
||||
|
||||
// Ion Physics
|
||||
this->RegisterPhysics( new IonPhysics("ion"));
|
||||
|
||||
|
||||
this->RegisterPhysics( new G4IonPhysics("ion"));
|
||||
}
|
||||
|
||||
template<class T> TLHEP_PRECO_HP<T>::~TLHEP_PRECO_HP()
|
||||
@@ -83,7 +96,8 @@ template<class T> void TLHEP_PRECO_HP<T>::SetCuts()
|
||||
|
||||
this->SetCutsWithDefault();
|
||||
|
||||
G4VUserPhysicsList::DumpCutValuesTable();
|
||||
// if (this->verboseLevel >0)
|
||||
// G4VUserPhysicsList::DumpCutValuesTable();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: HadronPhysicsLHEP_PRECO_HP.cc,v 1.3 2005/12/02 17:42:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: HadronPhysicsLHEP_PRECO_HP
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 1.12.2005 G.Folger: migration to non static particles
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#include "HadronPhysicsLHEP_PRECO_HP.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -34,22 +48,47 @@
|
||||
|
||||
HadronPhysicsLHEP_PRECO_HP::HadronPhysicsLHEP_PRECO_HP(const G4String& name)
|
||||
: G4VPhysicsConstructor(name)
|
||||
{}
|
||||
|
||||
void HadronPhysicsLHEP_PRECO_HP::CreateModels()
|
||||
{
|
||||
theNeutrons.RegisterMe(&theLHEPNeutron);
|
||||
theLHEPNeutron.SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron.SetMinInelasticEnergy(0.15*GeV);
|
||||
theNeutrons.RegisterMe(&thePrecoNeutron);
|
||||
thePrecoNeutron.SetMinEnergy(19.9*MeV);
|
||||
theNeutrons.RegisterMe(&theHPNeutron);
|
||||
theNeutrons=new G4NeutronBuilder;
|
||||
theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder);
|
||||
theLHEPNeutron->SetMinEnergy(19.9*MeV);
|
||||
theLHEPNeutron->SetMinInelasticEnergy(0.15*GeV);
|
||||
theNeutrons->RegisterMe(thePrecoNeutron=new G4PrecoNeutronBuilder);
|
||||
thePrecoNeutron->SetMinEnergy(19.9*MeV);
|
||||
theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder);
|
||||
|
||||
thePro.RegisterMe(&theLHEPPro);
|
||||
theLHEPPro.SetMinEnergy(0.15*GeV);
|
||||
thePro.RegisterMe(&thePrecoPro);
|
||||
thePro=new G4ProtonBuilder;
|
||||
thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder);
|
||||
theLHEPPro->SetMinEnergy(0.15*GeV);
|
||||
thePro->RegisterMe(thePrecoPro=new G4PrecoProtonBuilder);
|
||||
|
||||
thePiK.RegisterMe(&theLHEPPiK);
|
||||
thePiK=new G4PiKBuilder;
|
||||
thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder);
|
||||
|
||||
theMiscLHEP=new G4MiscLHEPBuilder;
|
||||
theStoppingHadron=new G4StoppingHadronBuilder;
|
||||
}
|
||||
|
||||
HadronPhysicsLHEP_PRECO_HP::~HadronPhysicsLHEP_PRECO_HP() {}
|
||||
HadronPhysicsLHEP_PRECO_HP::~HadronPhysicsLHEP_PRECO_HP()
|
||||
{
|
||||
delete theNeutrons;
|
||||
delete theLHEPNeutron;
|
||||
delete thePrecoNeutron;
|
||||
delete theHPNeutron;
|
||||
|
||||
delete thePiK;
|
||||
delete theLHEPPiK;
|
||||
|
||||
delete thePro;
|
||||
delete theLHEPPro;
|
||||
delete thePrecoPro;
|
||||
|
||||
delete theMiscLHEP;
|
||||
delete theStoppingHadron;
|
||||
}
|
||||
|
||||
void HadronPhysicsLHEP_PRECO_HP::ConstructParticle()
|
||||
{
|
||||
@@ -66,11 +105,11 @@ void HadronPhysicsLHEP_PRECO_HP::ConstructParticle()
|
||||
#include "G4ProcessManager.hh"
|
||||
void HadronPhysicsLHEP_PRECO_HP::ConstructProcess()
|
||||
{
|
||||
theNeutrons.Build();
|
||||
thePro.Build();
|
||||
thePiK.Build();
|
||||
theMiscLHEP.Build();
|
||||
theStoppingHadron.Build();
|
||||
theHadronQED.Build();
|
||||
CreateModels();
|
||||
theNeutrons->Build();
|
||||
thePro->Build();
|
||||
thePiK->Build();
|
||||
theMiscLHEP->Build();
|
||||
theStoppingHadron->Build();
|
||||
}
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -41,10 +41,10 @@ class G4BertiniNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4BertiniNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -41,13 +41,13 @@ class G4BertiniPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4BertiniPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -41,8 +41,8 @@ class G4BertiniProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4BertiniProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -41,10 +41,10 @@ class G4BinaryNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4BinaryNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -41,13 +41,13 @@ class G4BinaryPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4BinaryPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -41,8 +41,8 @@ class G4BinaryProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4BinaryProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
@@ -35,9 +35,9 @@ class G4DataQuestionaire
|
||||
public:
|
||||
G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no)
|
||||
{
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << "You are using the simulation engine reuse library: PACK 2.4"<<G4endl;
|
||||
G4cout <<G4endl<<G4endl;
|
||||
G4cout << G4endl;
|
||||
G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.0"<<G4endl;
|
||||
// G4cout <<G4endl<<G4endl;
|
||||
// G4cout << "##### the input "<<t1<<" "<<t2<<" "<<t3<<" "<<t4<<G4endl;
|
||||
for(G4int i=0; i<4; i++)
|
||||
{
|
||||
|
||||
+27
-18
@@ -20,43 +20,52 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef GeneralPhysics_h
|
||||
#define GeneralPhysics_h 1
|
||||
// $Id: G4DecayPhysics.hh,v 1.3 2005/12/05 12:55:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4DecayPhysics
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 10.11.2005 V.Ivanchenko edit to provide a standard
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4DecayPhysics_h
|
||||
#define G4DecayPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
|
||||
#include "G4Decay.hh"
|
||||
|
||||
class GeneralPhysics : public G4VPhysicsConstructor
|
||||
class G4DecayPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
GeneralPhysics(const G4String& name = "general");
|
||||
virtual ~GeneralPhysics();
|
||||
G4DecayPhysics(const G4String& name = "decay", G4int ver = 1);
|
||||
virtual ~G4DecayPhysics();
|
||||
|
||||
public:
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
protected:
|
||||
|
||||
G4bool wasActivated;
|
||||
|
||||
private:
|
||||
G4Decay fDecayProcess;
|
||||
private:
|
||||
G4Decay* fDecayProcess;
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4EMBuilder_h
|
||||
#define G4EMBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4PhotoElectricEffect.hh"
|
||||
#include "G4ComptonScattering.hh"
|
||||
#include "G4GammaConversion.hh"
|
||||
#include "G4MultipleScattering.hh"
|
||||
#include "G4eIonisation.hh"
|
||||
#include "G4eBremsstrahlung.hh"
|
||||
#include "G4eplusAnnihilation.hh"
|
||||
|
||||
#include "G4EMTailorer.hh"
|
||||
#include "G4SynchrotronRadiation.hh"
|
||||
#include "G4ElectroNuclearBuilder.hh"
|
||||
|
||||
class G4EMBuilder
|
||||
{
|
||||
public:
|
||||
G4EMBuilder();
|
||||
virtual ~G4EMBuilder();
|
||||
|
||||
public:
|
||||
void Build();
|
||||
|
||||
void Synch(G4String & aState);
|
||||
void GammaNuclear(G4String & aState);
|
||||
|
||||
protected:
|
||||
G4PhotoElectricEffect thePhotoEffect;
|
||||
G4ComptonScattering theComptonEffect;
|
||||
G4GammaConversion thePairProduction;
|
||||
|
||||
G4MultipleScattering theElectronMultipleScattering;
|
||||
G4eIonisation theElectronIonisation;
|
||||
G4eBremsstrahlung theElectronBremsStrahlung;
|
||||
|
||||
G4MultipleScattering thePositronMultipleScattering;
|
||||
G4eIonisation thePositronIonisation;
|
||||
G4eBremsstrahlung thePositronBremsStrahlung;
|
||||
G4eplusAnnihilation theAnnihilation;
|
||||
G4bool wasActivated;
|
||||
|
||||
G4EMTailorer * theT;
|
||||
G4SynchrotronRadiation theElectronSynch;
|
||||
G4SynchrotronRadiation thePositronSynch;
|
||||
G4bool synchOn;
|
||||
G4ElectroNuclearBuilder theGNPhysics;
|
||||
G4bool gammNucOn;
|
||||
};
|
||||
// 2002 by J.P. Wellisch
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -49,16 +49,16 @@ class G4ElectroNuclearBuilder
|
||||
virtual void Build();
|
||||
|
||||
protected:
|
||||
G4PhotoNuclearProcess thePhotoNuclearProcess;
|
||||
G4ElectronNuclearProcess theElectronNuclearProcess;
|
||||
G4PositronNuclearProcess thePositronNuclearProcess;
|
||||
G4PhotoNuclearProcess * thePhotoNuclearProcess;
|
||||
G4ElectronNuclearProcess * theElectronNuclearProcess;
|
||||
G4PositronNuclearProcess * thePositronNuclearProcess;
|
||||
G4ElectroNuclearReaction * theElectroReaction;
|
||||
G4GammaNuclearReaction * theGammaReaction;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4QGSModel< G4GammaParticipants > theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4QGSModel< G4GammaParticipants > * theStringModel;
|
||||
G4QGSMFragmentation * theFragmentation;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
+41
-18
@@ -20,33 +20,56 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef EM_GNPhysics_h
|
||||
#define EM_GNPhysics_h 1
|
||||
// $Id: G4EmExtraPhysics.hh,v 1.2 2005/12/01 18:19:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmExtraPhysics
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 10.11.2005 V.Ivanchenko edit to provide a standard
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4EmExtraPhysics_h
|
||||
#define G4EmExtraPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4EMBuilder.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4EmMessenger.hh"
|
||||
|
||||
#include "G4SynchrotronRadiation.hh"
|
||||
#include "G4ElectroNuclearBuilder.hh"
|
||||
|
||||
|
||||
class EM_GNPhysics : public G4VPhysicsConstructor
|
||||
class G4EmExtraPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
EM_GNPhysics(const G4String& name ="EM");
|
||||
virtual ~EM_GNPhysics();
|
||||
public:
|
||||
G4EmExtraPhysics(const G4String& name = "EM extra");
|
||||
virtual ~G4EmExtraPhysics();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4EMBuilder theEMPhysics;
|
||||
G4ElectroNuclearBuilder theGNPhysics;
|
||||
void Synch(G4String & aState);
|
||||
void GammaNuclear(G4String & aState);
|
||||
|
||||
private:
|
||||
|
||||
G4bool wasActivated;
|
||||
G4bool synchOn;
|
||||
G4bool gammNucOn;
|
||||
|
||||
G4EmMessenger* theMessenger;
|
||||
G4SynchrotronRadiation* theElectronSynch;
|
||||
G4SynchrotronRadiation* thePositronSynch;
|
||||
G4ElectroNuclearBuilder* theGNPhysics;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+31
-20
@@ -20,33 +20,44 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4EMTailorer_h
|
||||
#define G4EMTailorer_h
|
||||
// $Id: G4EmMessenger.hh,v 1.2 2005/11/30 18:28:52 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmMessenger
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 09.11.2005 V.Ivanchenko edit to provide a standard
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4EmMessenger_h
|
||||
#define G4EmMessenger_h 1
|
||||
|
||||
class G4EmExtraPhysics;
|
||||
|
||||
class G4EMBuilder;
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
|
||||
class G4EMTailorer: public G4UImessenger
|
||||
class G4EmMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
G4EMTailorer(G4EMBuilder * af);
|
||||
|
||||
virtual ~G4EMTailorer()
|
||||
{
|
||||
delete theSynch;
|
||||
delete theGN;
|
||||
}
|
||||
public:
|
||||
G4EmMessenger(G4EmExtraPhysics* af);
|
||||
virtual ~G4EmMessenger();
|
||||
|
||||
void SetNewValue(G4UIcommand* aComm, G4String aS);
|
||||
|
||||
private:
|
||||
G4EMBuilder * theB;
|
||||
G4UIcmdWithAString * theSynch;
|
||||
G4UIcmdWithAString * theGN;
|
||||
G4UIdirectory *aDir1;
|
||||
G4UIdirectory *aDir2;
|
||||
void SetNewValue(G4UIcommand* aComm, G4String aS);
|
||||
|
||||
private:
|
||||
G4EmExtraPhysics* theB;
|
||||
G4UIcmdWithAString* theSynch;
|
||||
G4UIcmdWithAString* theGN;
|
||||
G4UIdirectory* aDir1;
|
||||
G4UIdirectory* aDir2;
|
||||
};
|
||||
|
||||
#endif
|
||||
+39
-15
@@ -20,30 +20,53 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef EMPhysics_h
|
||||
#define EMPhysics_h 1
|
||||
//
|
||||
// $Id: G4EmStandardPhysics.hh,v 1.3 2005/12/05 12:55:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
// Modified:
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4EmStandardPhysics_h
|
||||
#define G4EmStandardPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4EMBuilder.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
// for lib list detection....
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
|
||||
class EMPhysics : public G4VPhysicsConstructor
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmStandardPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
EMPhysics(const G4String& name ="EM");
|
||||
virtual ~EMPhysics();
|
||||
public:
|
||||
G4EmStandardPhysics(const G4String& name = "EMstandard", G4int ver = 1,
|
||||
G4bool msc=true);
|
||||
virtual ~G4EmStandardPhysics();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4EMBuilder theEMPhysics;
|
||||
private:
|
||||
G4int verbose;
|
||||
G4bool mscStepLimit;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,3 +74,4 @@ class EMPhysics : public G4VPhysicsConstructor
|
||||
|
||||
|
||||
|
||||
|
||||
+40
-39
@@ -20,57 +20,58 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef MuonPhysics_h
|
||||
#define MuonPhysics_h 1
|
||||
//
|
||||
// $Id: G4EmStandardPhysics71.hh,v 1.3 2005/12/05 12:55:27 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics71
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
// Modified:
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#ifndef G4EmStandardPhysics71_h
|
||||
#define G4EmStandardPhysics71_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4MultipleScattering.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
// for lib list detection....
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
#include "G4MuIonisation.hh"
|
||||
#include "G4hIonisation.hh"
|
||||
|
||||
#include "G4MuonMinusCaptureAtRest.hh"
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
class MuonPhysics : public G4VPhysicsConstructor
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmStandardPhysics71 : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
MuonPhysics(const G4String& name="muon");
|
||||
virtual ~MuonPhysics();
|
||||
public:
|
||||
G4EmStandardPhysics71(const G4String& name = "EMstandard71", G4int ver = 1,
|
||||
G4bool msc=true);
|
||||
virtual ~G4EmStandardPhysics71();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
|
||||
virtual void ConstructProcess();
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
protected:
|
||||
// Muon physics
|
||||
G4MultipleScattering fMuPlusMultipleScattering;
|
||||
G4MuBremsstrahlung fMuPlusBremsstrahlung ;
|
||||
G4MuPairProduction fMuPlusPairProduction;
|
||||
G4MuIonisation fMuPlusIonisation;
|
||||
|
||||
G4MultipleScattering fMuMinusMultipleScattering;
|
||||
G4MuBremsstrahlung fMuMinusBremsstrahlung ;
|
||||
G4MuPairProduction fMuMinusPairProduction;
|
||||
G4MuIonisation fMuMinusIonisation;
|
||||
|
||||
G4MuonMinusCaptureAtRest fMuMinusCaptureAtRest;
|
||||
|
||||
// Tau physics
|
||||
G4MultipleScattering fTauPlusMultipleScattering;
|
||||
G4hIonisation fTauPlusIonisation;
|
||||
|
||||
G4MultipleScattering fTauMinusMultipleScattering;
|
||||
G4hIonisation fTauMinusIonisation;
|
||||
|
||||
G4bool wasActivated;
|
||||
private:
|
||||
G4int verbose;
|
||||
G4bool mscStepLimit;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -45,18 +45,17 @@ class G4FTFCNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4FTFCNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4FTFModel theStringModel;
|
||||
G4LundStringFragmentation theFragmentation;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
|
||||
@@ -46,13 +46,13 @@ class G4FTFCPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4FTFCPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
@@ -60,8 +60,7 @@ class G4FTFCPiKBuilder : public G4VPiKBuilder
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4FTFModel theStringModel;
|
||||
G4LundStringFragmentation theFragmentation;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
@@ -47,8 +47,8 @@ class G4FTFCProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4FTFCProtonBuilder(){};
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & ){};
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * ){};
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
|
||||
@@ -47,20 +47,18 @@ class G4FTFPNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4FTFPNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel theStringModel;
|
||||
G4LundStringFragmentation theFragmentation;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
|
||||
@@ -48,24 +48,22 @@ class G4FTFPPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4FTFPPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel theStringModel;
|
||||
G4LundStringFragmentation theFragmentation;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
@@ -49,19 +49,17 @@ class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4FTFPProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel theStringModel;
|
||||
G4LundStringFragmentation theFragmentation;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
@@ -1,115 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4HadronQEDBuilder_h
|
||||
#define G4HadronQEDBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4MultipleScattering.hh"
|
||||
#include "G4hIonisation.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4Proton.hh"
|
||||
#include "G4AntiProton.hh"
|
||||
#include "G4PionPlus.hh"
|
||||
#include "G4PionMinus.hh"
|
||||
#include "G4KaonPlus.hh"
|
||||
#include "G4KaonMinus.hh"
|
||||
#include "G4SigmaMinus.hh"
|
||||
#include "G4AntiSigmaMinus.hh"
|
||||
#include "G4SigmaPlus.hh"
|
||||
#include "G4AntiSigmaPlus.hh"
|
||||
#include "G4XiMinus.hh"
|
||||
#include "G4AntiXiMinus.hh"
|
||||
#include "G4OmegaMinus.hh"
|
||||
#include "G4AntiOmegaMinus.hh"
|
||||
#include "plist.tmp"
|
||||
#include "ParticleCodeMap.hh"
|
||||
|
||||
class G4HadronQEDBuilder
|
||||
{
|
||||
public:
|
||||
G4HadronQEDBuilder();
|
||||
virtual ~G4HadronQEDBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build();
|
||||
|
||||
private:
|
||||
void RegisterOne(G4ProcessManager* aP, G4MultipleScattering * aM, G4hIonisation* aI);
|
||||
|
||||
public: // to get gcc 2.95 satisfied...
|
||||
typedef Plist<G4PionPlus, G4PionMinus, G4KaonPlus, G4KaonMinus, G4Proton, G4AntiProton, G4SigmaMinus,
|
||||
G4AntiSigmaMinus, G4SigmaPlus, G4AntiSigmaPlus, G4XiMinus, G4AntiXiMinus, G4OmegaMinus,
|
||||
G4AntiOmegaMinus> theParticles;
|
||||
|
||||
typedef std::pair<G4ParticleDefinition *, std::pair<G4MultipleScattering *, G4hIonisation *> > entryType;
|
||||
|
||||
static std::vector< entryType > & theCache()
|
||||
{
|
||||
static std::vector< entryType > cache;
|
||||
return cache;
|
||||
}
|
||||
private:
|
||||
|
||||
G4bool wasActivated;
|
||||
|
||||
struct Clear
|
||||
{ void operator () (entryType & aE)
|
||||
{
|
||||
G4ProcessManager * aP = aE.first->GetProcessManager();
|
||||
if(aP) aP->RemoveProcess(aE.second.first);
|
||||
if(aP) aP->RemoveProcess(aE.second.second);
|
||||
}
|
||||
};
|
||||
|
||||
struct Register
|
||||
{
|
||||
template <class T>
|
||||
struct Fun // to get gcc 2.95 satisfied...
|
||||
{
|
||||
void operator()()
|
||||
{
|
||||
G4ParticleDefinition * aPart =
|
||||
G4ParticleTable::GetParticleTable()->FindParticle(ParticleCodeMap<T>::PDG_CODE);
|
||||
// G4cout << aPart<<G4endl;
|
||||
// G4cout << "===== > Calling for "<<aPart->GetParticleName()<<G4endl;
|
||||
G4ProcessManager * aP = aPart->GetProcessManager();
|
||||
G4hIonisation * aI = new G4hIonisation;
|
||||
G4MultipleScattering * aM = new G4MultipleScattering;
|
||||
aP->AddProcess(aI, ordInActive,2, 2);
|
||||
aP->AddProcess(aM);
|
||||
aP->SetProcessOrdering(aM, idxAlongStep, 1);
|
||||
aP->SetProcessOrdering(aM, idxPostStep, 1);
|
||||
G4HadronQEDBuilder::theCache().push_back(std::make_pair(aPart, std::pair<G4MultipleScattering *, G4hIonisation *>(aM, aI) ) );
|
||||
}
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * 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. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonPhysics.hh,v 1.2 2005/12/02 12:40:04 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4IonBuilder
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4IonPhysics_h
|
||||
#define G4IonPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
class G4LElastic;
|
||||
class G4HadronElasticProcess;
|
||||
class G4DeuteronInelasticProcess;
|
||||
class G4LEDeuteronInelastic;
|
||||
class G4TritonInelasticProcess;
|
||||
class G4LETritonInelastic;
|
||||
class G4AlphaInelasticProcess;
|
||||
class G4LEAlphaInelastic;
|
||||
|
||||
class G4IonPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4IonPhysics(const G4String& name="ions");
|
||||
virtual ~G4IonPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
// Elastic Process
|
||||
G4LElastic* theElasticModel;
|
||||
|
||||
// Generic Ion physics
|
||||
G4HadronElasticProcess* theIonElasticProcess;
|
||||
|
||||
// Deuteron physics
|
||||
G4HadronElasticProcess* theDElasticProcess;
|
||||
G4DeuteronInelasticProcess* fDeuteronProcess;
|
||||
G4LEDeuteronInelastic* fDeuteronModel;
|
||||
|
||||
// Triton physics
|
||||
G4HadronElasticProcess* theTElasticProcess;
|
||||
G4TritonInelasticProcess* fTritonProcess;
|
||||
G4LETritonInelastic* fTritonModel;
|
||||
|
||||
// Alpha physics
|
||||
G4HadronElasticProcess* theAElasticProcess;
|
||||
G4AlphaInelasticProcess* fAlphaProcess;
|
||||
G4LEAlphaInelastic* fAlphaModel;
|
||||
|
||||
// He3 physics
|
||||
G4HadronElasticProcess* theHe3ElasticProcess;
|
||||
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -41,10 +41,10 @@ class G4LEADNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4LEADNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
|
||||
@@ -41,13 +41,13 @@ class G4LEADPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4LEADPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
|
||||
@@ -41,8 +41,8 @@ class G4LEADProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4LEADProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
|
||||
@@ -43,10 +43,10 @@ class G4LEPNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4LEPNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -44,13 +44,13 @@ class G4LEPPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4LEPPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -39,8 +39,8 @@ class G4LEPProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4LEPProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -44,10 +44,10 @@ class G4LHEPNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4LHEPNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -50,13 +50,13 @@ class G4LHEPPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4LHEPPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -40,8 +40,8 @@ class G4LHEPProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4LHEPProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM)
|
||||
{
|
||||
|
||||
@@ -44,10 +44,10 @@ class G4NeutronBuilder
|
||||
void RegisterMe(G4VNeutronBuilder * aB) {theModelCollections.push_back(aB);}
|
||||
|
||||
private:
|
||||
G4HadronElasticProcess theNeutronElasticProcess;
|
||||
G4NeutronInelasticProcess theNeutronInelastic;
|
||||
G4HadronFissionProcess theNeutronFission;
|
||||
G4HadronCaptureProcess theNeutronCapture;
|
||||
G4HadronElasticProcess * theNeutronElasticProcess;
|
||||
G4NeutronInelasticProcess * theNeutronInelastic;
|
||||
G4HadronFissionProcess * theNeutronFission;
|
||||
G4HadronCaptureProcess * theNeutronCapture;
|
||||
|
||||
std::vector<G4VNeutronBuilder *> theModelCollections;
|
||||
|
||||
|
||||
@@ -47,10 +47,10 @@ class G4NeutronHPBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4NeutronHPBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
private:
|
||||
G4NeutronHPElastic * theHPElastic;
|
||||
|
||||
@@ -20,6 +20,20 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PiKBuilder.hh,v 1.2 2005/11/25 15:38:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4PiKBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 16.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4PiKBuilder_h
|
||||
#define G4PiKBuilder_h 1
|
||||
|
||||
@@ -42,19 +56,19 @@ class G4PiKBuilder
|
||||
void RegisterMe(G4VPiKBuilder * aB) {theModelCollections.push_back(aB);}
|
||||
|
||||
private:
|
||||
G4HadronElasticProcess thePionPlusElasticProcess;
|
||||
G4HadronElasticProcess thePionMinusElasticProcess;
|
||||
G4HadronElasticProcess theKaonPlusElasticProcess;
|
||||
G4HadronElasticProcess theKaonMinusElasticProcess;
|
||||
G4HadronElasticProcess theKaonZeroLElasticProcess;
|
||||
G4HadronElasticProcess theKaonZeroSElasticProcess;
|
||||
G4HadronElasticProcess* thePionPlusElasticProcess;
|
||||
G4HadronElasticProcess* thePionMinusElasticProcess;
|
||||
G4HadronElasticProcess* theKaonPlusElasticProcess;
|
||||
G4HadronElasticProcess* theKaonMinusElasticProcess;
|
||||
G4HadronElasticProcess* theKaonZeroLElasticProcess;
|
||||
G4HadronElasticProcess* theKaonZeroSElasticProcess;
|
||||
|
||||
G4PionPlusInelasticProcess thePionPlusInelastic;
|
||||
G4PionMinusInelasticProcess thePionMinusInelastic;
|
||||
G4KaonPlusInelasticProcess theKaonPlusInelastic;
|
||||
G4KaonMinusInelasticProcess theKaonMinusInelastic;
|
||||
G4KaonZeroLInelasticProcess theKaonZeroLInelastic;
|
||||
G4KaonZeroSInelasticProcess theKaonZeroSInelastic;
|
||||
G4PionPlusInelasticProcess* thePionPlusInelastic;
|
||||
G4PionMinusInelasticProcess* thePionMinusInelastic;
|
||||
G4KaonPlusInelasticProcess* theKaonPlusInelastic;
|
||||
G4KaonMinusInelasticProcess* theKaonMinusInelastic;
|
||||
G4KaonZeroLInelasticProcess* theKaonZeroLInelastic;
|
||||
G4KaonZeroSInelasticProcess* theKaonZeroSInelastic;
|
||||
|
||||
std::vector<G4VPiKBuilder *> theModelCollections;
|
||||
|
||||
|
||||
@@ -42,16 +42,15 @@ class G4PrecoNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4PrecoNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PreCompoundModel * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
@@ -42,14 +41,13 @@ class G4PrecoProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4PrecoProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -42,8 +42,8 @@ class G4ProtonBuilder
|
||||
void RegisterMe(G4VProtonBuilder * aB) {theModelCollections.push_back(aB);}
|
||||
|
||||
private:
|
||||
G4HadronElasticProcess theProtonElasticProcess;
|
||||
G4ProtonInelasticProcess theProtonInelastic;
|
||||
G4HadronElasticProcess * theProtonElasticProcess;
|
||||
G4ProtonInelasticProcess * theProtonInelastic;
|
||||
|
||||
std::vector<G4VProtonBuilder *> theModelCollections;
|
||||
|
||||
|
||||
@@ -46,18 +46,17 @@ class G4QGSCNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4QGSCNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & ){}
|
||||
virtual void Build(G4HadronFissionProcess & ){}
|
||||
virtual void Build(G4HadronCaptureProcess & ){}
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * ){}
|
||||
virtual void Build(G4HadronFissionProcess * ){}
|
||||
virtual void Build(G4HadronCaptureProcess * ){}
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
|
||||
@@ -47,13 +47,13 @@ class G4QGSCPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4QGSCPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
@@ -62,7 +62,7 @@ class G4QGSCPiKBuilder : public G4VPiKBuilder
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
@@ -48,8 +48,8 @@ class G4QGSCProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4QGSCProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
@@ -57,8 +57,7 @@ class G4QGSCProtonBuilder : public G4VProtonBuilder
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
@@ -48,20 +48,18 @@ class G4QGSPNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual ~G4QGSPNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4HadronFissionProcess & aP);
|
||||
virtual void Build(G4HadronCaptureProcess & aP);
|
||||
virtual void Build(G4NeutronInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4HadronFissionProcess * aP);
|
||||
virtual void Build(G4HadronCaptureProcess * aP);
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
|
||||
@@ -49,24 +49,22 @@ class G4QGSPPiKBuilder : public G4VPiKBuilder
|
||||
virtual ~G4QGSPPiKBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess & aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess & aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP);
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP);
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
@@ -50,19 +50,17 @@ class G4QGSPProtonBuilder : public G4VProtonBuilder
|
||||
virtual ~G4QGSPProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess & aP);
|
||||
virtual void Build(G4ProtonInelasticProcess & aP);
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitationHandler theHandler;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4double theMin;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user