115 lines
3.7 KiB
C++
115 lines
3.7 KiB
C++
//
|
|
// ********************************************************************
|
|
// * 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: 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"
|
|
#include "G4ios.hh"
|
|
#include <iomanip>
|
|
#include "G4ParticleDefinition.hh"
|
|
#include "G4ParticleTable.hh"
|
|
|
|
#include "G4MesonConstructor.hh"
|
|
#include "G4BaryonConstructor.hh"
|
|
#include "G4ShortLivedConstructor.hh"
|
|
|
|
HadronPhysicsFTFC::HadronPhysicsFTFC(const G4String& name)
|
|
: G4VPhysicsConstructor(name)
|
|
{}
|
|
|
|
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=new G4PiKBuilder;
|
|
thePiK->RegisterMe(theFTFCPiK=new G4FTFCPiKBuilder);
|
|
thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder);
|
|
theLEPPiK->SetMaxEnergy(25*GeV);
|
|
|
|
theMiscLHEP=new G4MiscLHEPBuilder;
|
|
theStoppingHadron=new G4StoppingHadronBuilder;
|
|
}
|
|
|
|
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()
|
|
{
|
|
G4MesonConstructor pMesonConstructor;
|
|
pMesonConstructor.ConstructParticle();
|
|
|
|
G4BaryonConstructor pBaryonConstructor;
|
|
pBaryonConstructor.ConstructParticle();
|
|
|
|
G4ShortLivedConstructor pShortLivedConstructor;
|
|
pShortLivedConstructor.ConstructParticle();
|
|
}
|
|
|
|
#include "G4ProcessManager.hh"
|
|
void HadronPhysicsFTFC::ConstructProcess()
|
|
{
|
|
CreateModels();
|
|
theNeutrons->Build();
|
|
thePro->Build();
|
|
thePiK->Build();
|
|
theMiscLHEP->Build();
|
|
theStoppingHadron->Build();
|
|
}
|
|
// 2002 by J.P. Wellisch
|