Import Geant4 8.0.0 source tree
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user