Import Geant4 10.3.0.beta source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History 94087 2015-11-05 15:10:09Z gcosmo $
|
||||
$Id: History 97177 2016-05-27 12:44:22Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,20 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
26-May-2016, A. Ribon (phys-ctor-hinelastic-V10-02-02)
|
||||
- G4HadronPhysicsQGSP_BIC_AllHP : treat only proton with ParticleHP in
|
||||
this class, and move the others (deuteron, triton, 3He, alpha) to
|
||||
the new class G4IonPhysicsPHP.
|
||||
|
||||
06-Apr-2016, A. Ribon (phys-ctor-hinelastic-V10-02-01)
|
||||
- G4HadronPhysicsFTFP_BERT_ATL : created new constructor for ATLAS, similar
|
||||
to G4HadronPhysicsFTFP_BERT but with the transition between BERT and FTFP
|
||||
in the energy region [9, 12] GeV.
|
||||
|
||||
04-Dec-2015, A. Ribon (phys-ctor-hinelastic-V10-02-00)
|
||||
- G4HadronPhysicsQGSP_BIC_AllHP : activate ParticleHP for deuteron,
|
||||
triton, He3 and alpha.
|
||||
|
||||
05-Nov-2015, A. Ribon (phys-ctor-hinelastic-V10-01-05)
|
||||
- Removed neutron_hp/
|
||||
|
||||
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id:$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
// Author: Alberto Ribon
|
||||
// Date: April 2016
|
||||
//
|
||||
// Hadron physics for the new physics list FTFP_BERT_ATL.
|
||||
// This is a modified version of the FTFP_BERT hadron physics for ATLAS.
|
||||
// The hadron physics of FTFP_BERT_ATL has the transition between Bertini
|
||||
// (BERT) intra-nuclear cascade model and Fritiof (FTF) string model in the
|
||||
// energy region [9, 12] GeV (instead of [4, 5] GeV as in FTFP_BERT).
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4HadronPhysicsFTFP_BERT_ATL_h
|
||||
#define G4HadronPhysicsFTFP_BERT_ATL_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4PiKBuilder.hh"
|
||||
#include "G4BertiniPiKBuilder.hh"
|
||||
#include "G4FTFPPiKBuilder.hh"
|
||||
|
||||
#include "G4ProtonBuilder.hh"
|
||||
#include "G4BertiniProtonBuilder.hh"
|
||||
#include "G4FTFPNeutronBuilder.hh"
|
||||
#include "G4FTFPProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronBuilder.hh"
|
||||
#include "G4BertiniNeutronBuilder.hh"
|
||||
#include "G4FTFPNeutronBuilder.hh"
|
||||
|
||||
#include "G4HyperonFTFPBuilder.hh"
|
||||
#include "G4AntiBarionBuilder.hh"
|
||||
#include "G4FTFPAntiBarionBuilder.hh"
|
||||
|
||||
class G4ComponentGGHadronNucleusXsc;
|
||||
|
||||
|
||||
class G4HadronPhysicsFTFP_BERT_ATL : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4HadronPhysicsFTFP_BERT_ATL(G4int verbose =1);
|
||||
G4HadronPhysicsFTFP_BERT_ATL(const G4String& name, G4bool quasiElastic=false);
|
||||
virtual ~G4HadronPhysicsFTFP_BERT_ATL();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
void CreateModels();
|
||||
G4bool QuasiElastic;
|
||||
|
||||
// Simplify handling of TLS data, encapsulate everyhing in a structure
|
||||
struct ThreadPrivate {
|
||||
G4NeutronBuilder * theNeutrons;
|
||||
G4BertiniNeutronBuilder * theBertiniNeutron;
|
||||
G4FTFPNeutronBuilder * theFTFPNeutron;
|
||||
|
||||
G4PiKBuilder * thePiK;
|
||||
G4BertiniPiKBuilder * theBertiniPiK;
|
||||
G4FTFPPiKBuilder * theFTFPPiK;
|
||||
|
||||
G4ProtonBuilder * thePro;
|
||||
G4BertiniProtonBuilder * theBertiniPro;
|
||||
G4FTFPProtonBuilder * theFTFPPro;
|
||||
|
||||
G4HyperonFTFPBuilder * theHyperon;
|
||||
|
||||
G4AntiBarionBuilder * theAntiBaryon;
|
||||
G4FTFPAntiBarionBuilder * theFTFPAntiBaryon;
|
||||
|
||||
G4ComponentGGHadronNucleusXsc * xsKaon;
|
||||
G4VCrossSectionDataSet * xsNeutronInelasticXS;
|
||||
G4VCrossSectionDataSet * xsNeutronCaptureXS;
|
||||
};
|
||||
static G4ThreadLocal ThreadPrivate* tpdata;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
-28
@@ -54,18 +54,6 @@
|
||||
#include "G4BinaryNeutronBuilder.hh"
|
||||
#include "G4NeutronPHPBuilder.hh"
|
||||
|
||||
#include "G4DeuteronBuilder.hh"
|
||||
#include "G4DeuteronPHPBuilder.hh"
|
||||
|
||||
#include "G4TritonBuilder.hh"
|
||||
#include "G4TritonPHPBuilder.hh"
|
||||
|
||||
#include "G4He3Builder.hh"
|
||||
#include "G4He3PHPBuilder.hh"
|
||||
|
||||
#include "G4AlphaBuilder.hh"
|
||||
#include "G4AlphaPHPBuilder.hh"
|
||||
|
||||
#include "G4HyperonFTFPBuilder.hh"
|
||||
#include "G4AntiBarionBuilder.hh"
|
||||
#include "G4FTFPAntiBarionBuilder.hh"
|
||||
@@ -105,22 +93,6 @@ class G4HadronPhysicsQGSP_BIC_AllHP : public G4VPhysicsConstructor
|
||||
G4BinaryProtonBuilder * theBinaryProton;
|
||||
G4ProtonPHPBuilder * thePHPProton;
|
||||
|
||||
G4DeuteronBuilder * theDeuteronB;
|
||||
G4DeuteronPHPBuilder * thePHPDeuteron;
|
||||
G4BinaryDeuteronBuilder * theBinaryDeuteron;
|
||||
|
||||
G4TritonBuilder * theTritonB;
|
||||
G4TritonPHPBuilder * thePHPTriton;
|
||||
G4BinaryTritonBuilder * theBinaryTriton;
|
||||
|
||||
G4He3Builder * theHe3B;
|
||||
G4He3PHPBuilder * thePHPHe3;
|
||||
G4BinaryHe3Builder * theBinaryHe3;
|
||||
|
||||
G4AlphaBuilder * theAlphaB;
|
||||
G4AlphaPHPBuilder * thePHPAlpha;
|
||||
G4BinaryAlphaBuilder * theBinaryAlpha;
|
||||
|
||||
G4HyperonFTFPBuilder * theHyperon;
|
||||
|
||||
G4AntiBarionBuilder * theAntiBaryon;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#
|
||||
# Generated on : 10/01/2013
|
||||
#
|
||||
# $Id: sources.cmake 94087 2015-11-05 15:10:09Z gcosmo $
|
||||
# $Id: sources.cmake 96328 2016-04-06 15:52:31Z gcosmo $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@@ -92,6 +92,7 @@ GEANT4_DEFINE_MODULE(NAME G4phys_ctor_hinelastic
|
||||
G4HadronPhysicsFTFP_BERT.hh
|
||||
G4HadronPhysicsFTFP_BERT_HP.hh
|
||||
G4HadronPhysicsFTFP_BERT_TRV.hh
|
||||
G4HadronPhysicsFTFP_BERT_ATL.hh
|
||||
G4HadronPhysicsNuBeam.hh
|
||||
G4HadronPhysicsQGS_BIC.hh
|
||||
G4HadronPhysicsQGSP_BERT.hh
|
||||
@@ -109,6 +110,7 @@ GEANT4_DEFINE_MODULE(NAME G4phys_ctor_hinelastic
|
||||
G4HadronPhysicsFTFP_BERT.cc
|
||||
G4HadronPhysicsFTFP_BERT_HP.cc
|
||||
G4HadronPhysicsFTFP_BERT_TRV.cc
|
||||
G4HadronPhysicsFTFP_BERT_ATL.cc
|
||||
G4HadronPhysicsNuBeam.cc
|
||||
G4HadronPhysicsQGS_BIC.cc
|
||||
G4HadronPhysicsQGSP_BERT.cc
|
||||
|
||||
+222
@@ -0,0 +1,222 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id:$
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
// Author: Alberto Ribon
|
||||
// Date: April 2016
|
||||
//
|
||||
// Hadron physics for the new physics list FTFP_BERT_ATL.
|
||||
// This is a modified version of the FTFP_BERT hadron physics for ATLAS.
|
||||
// The hadron physics of FTFP_BERT_ATL has the transition between Bertini
|
||||
// (BERT) intra-nuclear cascade model and Fritiof (FTF) string model in the
|
||||
// energy region [9, 12] GeV (instead of [4, 5] GeV as in FTFP_BERT).
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
#include <iomanip>
|
||||
|
||||
#include "G4HadronPhysicsFTFP_BERT_ATL.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ios.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4MesonConstructor.hh"
|
||||
#include "G4BaryonConstructor.hh"
|
||||
#include "G4ShortLivedConstructor.hh"
|
||||
|
||||
#include "G4ComponentGGHadronNucleusXsc.hh"
|
||||
#include "G4CrossSectionInelastic.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronRadCapture.hh"
|
||||
#include "G4NeutronInelasticXS.hh"
|
||||
#include "G4NeutronCaptureXS.hh"
|
||||
|
||||
#include "G4CrossSectionDataSetRegistry.hh"
|
||||
|
||||
#include "G4PhysListUtil.hh"
|
||||
|
||||
// factory
|
||||
#include "G4PhysicsConstructorFactory.hh"
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronPhysicsFTFP_BERT_ATL);
|
||||
|
||||
G4ThreadLocal G4HadronPhysicsFTFP_BERT_ATL::ThreadPrivate* G4HadronPhysicsFTFP_BERT_ATL::tpdata=0;
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_ATL::G4HadronPhysicsFTFP_BERT_ATL(G4int)
|
||||
: G4VPhysicsConstructor("hInelastic FTFP_BERT_ATL")
|
||||
/* , theNeutrons(0)
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
, theHyperon(0)
|
||||
, theAntiBaryon(0)
|
||||
, theFTFPAntiBaryon(0) */
|
||||
, QuasiElastic(false)
|
||||
/*, xsKaon(0)
|
||||
, xsNeutronInelasticXS(0)
|
||||
, xsNeutronCaptureXS(0)*/
|
||||
{}
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_ATL::G4HadronPhysicsFTFP_BERT_ATL(const G4String& name, G4bool quasiElastic)
|
||||
: G4VPhysicsConstructor(name)
|
||||
/* , theNeutrons(0)
|
||||
, theBertiniNeutron(0)
|
||||
, theFTFPNeutron(0)
|
||||
, thePiK(0)
|
||||
, theBertiniPiK(0)
|
||||
, theFTFPPiK(0)
|
||||
, thePro(0)
|
||||
, theBertiniPro(0)
|
||||
, theFTFPPro(0)
|
||||
, theHyperon(0)
|
||||
, theAntiBaryon(0)
|
||||
, theFTFPAntiBaryon(0)*/
|
||||
, QuasiElastic(quasiElastic)
|
||||
/*, xsKaonMinus(0)
|
||||
, xsNeutronInelasticXS(0)
|
||||
, xsNeutronCaptureXS(0)*/
|
||||
{}
|
||||
|
||||
void G4HadronPhysicsFTFP_BERT_ATL::CreateModels()
|
||||
{
|
||||
G4double minFTFP = 9.0 * GeV;
|
||||
G4double maxBERT = 12.0 * GeV;
|
||||
G4cout << " FTFP_BERT_ATL : new threshold between BERT and FTFP"
|
||||
<< " is over the interval " << minFTFP/GeV << " to " << maxBERT/GeV
|
||||
<< " GeV." << G4endl;
|
||||
QuasiElastic= false;
|
||||
|
||||
tpdata->theNeutrons=new G4NeutronBuilder;
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic));
|
||||
tpdata->theFTFPNeutron->SetMinEnergy(minFTFP);
|
||||
tpdata->theNeutrons->RegisterMe(tpdata->theBertiniNeutron=new G4BertiniNeutronBuilder);
|
||||
tpdata->theBertiniNeutron->SetMinEnergy(0.0*GeV);
|
||||
tpdata->theBertiniNeutron->SetMaxEnergy(maxBERT);
|
||||
|
||||
tpdata->thePro=new G4ProtonBuilder;
|
||||
tpdata->thePro->RegisterMe(tpdata->theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic));
|
||||
tpdata->theFTFPPro->SetMinEnergy(minFTFP);
|
||||
tpdata->thePro->RegisterMe(tpdata->theBertiniPro=new G4BertiniProtonBuilder);
|
||||
tpdata->theBertiniPro->SetMaxEnergy(maxBERT);
|
||||
|
||||
tpdata->thePiK=new G4PiKBuilder;
|
||||
tpdata->thePiK->RegisterMe(tpdata->theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic));
|
||||
tpdata->theFTFPPiK->SetMinEnergy(minFTFP);
|
||||
tpdata->thePiK->RegisterMe(tpdata->theBertiniPiK=new G4BertiniPiKBuilder);
|
||||
tpdata->theBertiniPiK->SetMaxEnergy(maxBERT);
|
||||
|
||||
tpdata->theHyperon=new G4HyperonFTFPBuilder;
|
||||
|
||||
tpdata->theAntiBaryon=new G4AntiBarionBuilder;
|
||||
tpdata->theAntiBaryon->RegisterMe(tpdata->theFTFPAntiBaryon=new G4FTFPAntiBarionBuilder(QuasiElastic));
|
||||
}
|
||||
|
||||
G4HadronPhysicsFTFP_BERT_ATL::~G4HadronPhysicsFTFP_BERT_ATL()
|
||||
{
|
||||
if (!tpdata) return;
|
||||
|
||||
delete tpdata->theNeutrons;
|
||||
delete tpdata->theBertiniNeutron;
|
||||
delete tpdata->theFTFPNeutron;
|
||||
|
||||
delete tpdata->thePiK;
|
||||
delete tpdata->theBertiniPiK;
|
||||
delete tpdata->theFTFPPiK;
|
||||
|
||||
delete tpdata->thePro;
|
||||
delete tpdata->theBertiniPro;
|
||||
delete tpdata->theFTFPPro;
|
||||
|
||||
delete tpdata->theHyperon;
|
||||
delete tpdata->theAntiBaryon;
|
||||
delete tpdata->theFTFPAntiBaryon;
|
||||
|
||||
//Note that here we need to set to 0 the pointer
|
||||
//since tpdata is static and if thread are "reused"
|
||||
//it can be problematic
|
||||
delete tpdata; tpdata = 0;
|
||||
}
|
||||
|
||||
void G4HadronPhysicsFTFP_BERT_ATL::ConstructParticle()
|
||||
{
|
||||
G4MesonConstructor pMesonConstructor;
|
||||
pMesonConstructor.ConstructParticle();
|
||||
|
||||
G4BaryonConstructor pBaryonConstructor;
|
||||
pBaryonConstructor.ConstructParticle();
|
||||
|
||||
G4ShortLivedConstructor pShortLivedConstructor;
|
||||
pShortLivedConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
void G4HadronPhysicsFTFP_BERT_ATL::ConstructProcess()
|
||||
{
|
||||
if ( tpdata == 0 ) tpdata = new ThreadPrivate;
|
||||
CreateModels();
|
||||
tpdata->theNeutrons->Build();
|
||||
tpdata->thePro->Build();
|
||||
tpdata->thePiK->Build();
|
||||
|
||||
// --- Kaons ---
|
||||
tpdata->xsKaon = new G4ComponentGGHadronNucleusXsc();
|
||||
G4VCrossSectionDataSet * kaonxs = new G4CrossSectionInelastic(tpdata->xsKaon);
|
||||
G4PhysListUtil::FindInelasticProcess(G4KaonMinus::KaonMinus())->AddDataSet(kaonxs);
|
||||
G4PhysListUtil::FindInelasticProcess(G4KaonPlus::KaonPlus())->AddDataSet(kaonxs);
|
||||
G4PhysListUtil::FindInelasticProcess(G4KaonZeroShort::KaonZeroShort())->AddDataSet(kaonxs);
|
||||
G4PhysListUtil::FindInelasticProcess(G4KaonZeroLong::KaonZeroLong())->AddDataSet(kaonxs);
|
||||
|
||||
tpdata->theHyperon->Build();
|
||||
tpdata->theAntiBaryon->Build();
|
||||
|
||||
// --- Neutrons ---
|
||||
tpdata->xsNeutronInelasticXS = (G4NeutronInelasticXS*)G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronInelasticXS::Default_Name());
|
||||
G4PhysListUtil::FindInelasticProcess(G4Neutron::Neutron())->AddDataSet(tpdata->xsNeutronInelasticXS);
|
||||
|
||||
G4HadronicProcess* capture = 0;
|
||||
G4ProcessManager* pmanager = G4Neutron::Neutron()->GetProcessManager();
|
||||
G4ProcessVector* pv = pmanager->GetProcessList();
|
||||
for ( size_t i=0; i < static_cast<size_t>(pv->size()); ++i ) {
|
||||
if ( fCapture == ((*pv)[i])->GetProcessSubType() ) {
|
||||
capture = static_cast<G4HadronicProcess*>((*pv)[i]);
|
||||
}
|
||||
}
|
||||
if ( ! capture ) {
|
||||
capture = new G4HadronCaptureProcess("nCapture");
|
||||
pmanager->AddDiscreteProcess(capture);
|
||||
}
|
||||
tpdata->xsNeutronCaptureXS = (G4NeutronCaptureXS*)G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronCaptureXS::Default_Name());
|
||||
capture->AddDataSet(tpdata->xsNeutronCaptureXS);
|
||||
capture->RegisterMe(new G4NeutronRadCapture());
|
||||
}
|
||||
+2
-48
@@ -29,14 +29,9 @@
|
||||
//
|
||||
// ClassName: G4HadronPhysicsQGSP_BIC_AllHP
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
// Author: 2013 P. Arce
|
||||
//
|
||||
// Based on G4HadronPhysicsQGSP_BIC
|
||||
//
|
||||
// Modified:
|
||||
// 25.04.2007 G.Folger: Add code for quasielastic
|
||||
// 31.10.2012 A.Ribon: Use G4MiscBuilder
|
||||
// 19.03.2013 A.Ribon: Replace LEP with FTFP and BERT
|
||||
// based on G4HadronPhysicsQGSP_BIC_HP
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -160,40 +155,6 @@ void G4HadronPhysicsQGSP_BIC_AllHP::CreateModels()
|
||||
tpdata->thePHPProton->SetMinEnergy(0.*MeV);
|
||||
tpdata->thePHPProton->SetMaxEnergy(200*MeV);
|
||||
|
||||
//ParticleHP
|
||||
tpdata->theDeuteronB=new G4DeuteronBuilder;
|
||||
tpdata->thePHPDeuteron=new G4DeuteronPHPBuilder;
|
||||
tpdata->theDeuteronB->RegisterMe(tpdata->thePHPDeuteron);
|
||||
tpdata->thePHPDeuteron->SetMaxEnergy(200*MeV);
|
||||
tpdata->theDeuteronB->RegisterMe(tpdata->theBinaryDeuteron=new G4BinaryDeuteronBuilder);
|
||||
tpdata->theBinaryDeuteron->SetMaxEnergy(maxBIC);
|
||||
|
||||
|
||||
//ParticleHP
|
||||
tpdata->theTritonB=new G4TritonBuilder;
|
||||
tpdata->thePHPTriton=new G4TritonPHPBuilder;
|
||||
tpdata->theTritonB->RegisterMe(tpdata->thePHPTriton);
|
||||
tpdata->thePHPTriton->SetMaxEnergy(200*MeV);
|
||||
tpdata->theTritonB->RegisterMe(tpdata->theBinaryTriton=new G4BinaryTritonBuilder);
|
||||
tpdata->theBinaryTriton->SetMaxEnergy(maxBIC);
|
||||
|
||||
//ParticleHP
|
||||
tpdata->theHe3B=new G4He3Builder;
|
||||
tpdata->thePHPHe3=new G4He3PHPBuilder;
|
||||
tpdata->theHe3B->RegisterMe(tpdata->thePHPHe3);
|
||||
tpdata->thePHPHe3->SetMaxEnergy(200*MeV);
|
||||
tpdata->theHe3B->RegisterMe(tpdata->theBinaryHe3=new G4BinaryHe3Builder);
|
||||
tpdata->theBinaryHe3->SetMaxEnergy(maxBIC);
|
||||
|
||||
//ParticleHP
|
||||
tpdata->theAlphaB=new G4AlphaBuilder;
|
||||
tpdata->thePHPAlpha=new G4AlphaPHPBuilder;
|
||||
tpdata->theAlphaB->RegisterMe(tpdata->thePHPAlpha);
|
||||
tpdata->thePHPAlpha->SetMaxEnergy(200*MeV);
|
||||
tpdata->theAlphaB->RegisterMe(tpdata->theBinaryAlpha=new G4BinaryAlphaBuilder);
|
||||
tpdata->theBinaryAlpha->SetMaxEnergy(maxBIC);
|
||||
|
||||
|
||||
tpdata->thePiKB=new G4PiKBuilder;
|
||||
tpdata->thePiKB->RegisterMe(tpdata->theQGSPPiK=new G4QGSPPiKBuilder(quasiElasticQGS));
|
||||
tpdata->thePiKB->RegisterMe(tpdata->theFTFPPiK=new G4FTFPPiKBuilder(quasiElasticFTF));
|
||||
@@ -214,10 +175,6 @@ G4HadronPhysicsQGSP_BIC_AllHP::~G4HadronPhysicsQGSP_BIC_AllHP()
|
||||
//ParticleHP
|
||||
delete tpdata->thePHPNeutron;
|
||||
delete tpdata->thePHPProton;
|
||||
delete tpdata->thePHPDeuteron;
|
||||
delete tpdata->thePHPTriton;
|
||||
delete tpdata->thePHPHe3;
|
||||
delete tpdata->thePHPAlpha;
|
||||
delete tpdata->theBinaryNeutron;
|
||||
delete tpdata->theQGSPNeutron;
|
||||
delete tpdata->theFTFPNeutron;
|
||||
@@ -247,9 +204,6 @@ void G4HadronPhysicsQGSP_BIC_AllHP::ConstructParticle()
|
||||
|
||||
G4ShortLivedConstructor pShortLivedConstructor;
|
||||
pShortLivedConstructor.ConstructParticle();
|
||||
|
||||
G4IonConstructor pIonConstructor;
|
||||
pIonConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
Reference in New Issue
Block a user