Import Geant4 9.0.0 source tree
This commit is contained in:
@@ -39,7 +39,7 @@ class G4DataQuestionaire
|
||||
G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no)
|
||||
{
|
||||
G4cout << G4endl;
|
||||
G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.2"<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.3"<<G4endl;
|
||||
// G4cout <<G4endl<<G4endl;
|
||||
// G4cout << "##### the input "<<t1<<" "<<t2<<" "<<t3<<" "<<t4<<G4endl;
|
||||
for(G4int i=0; i<4; i++)
|
||||
@@ -57,19 +57,18 @@ class G4DataQuestionaire
|
||||
G4cout << "Photon-evaporation data are needed."<<G4endl;
|
||||
G4cout << "Please set the environmental variable G4LEVELGAMMADATA"<<G4endl;
|
||||
G4cout << "to point to your PhotonEvaporation directory."<<G4endl;
|
||||
G4cout << "Data are available from the geant4 download page."<<G4endl;
|
||||
G4cout << "Data are available from the Geant4 download page."<<G4endl;
|
||||
G4Exception("G4DataQuestionaire", "007", FatalException,
|
||||
"Fatal error: Missing mandatory data for this simulation engine");
|
||||
}
|
||||
break;
|
||||
case neutron:
|
||||
if(!getenv("NeutronHPCrossSections") )
|
||||
if(!getenv("G4NEUTRONHPDATA") )
|
||||
{
|
||||
G4cout << "G4NDL are needed."<<G4endl;
|
||||
G4cout << "Please set the environmental variable NeutronHPCrossSections"<<G4endl;
|
||||
G4cout << "Please set the environmental variable G4NEUTRONHPDATA"<<G4endl;
|
||||
G4cout << "to point to your G4NDL directory."<<G4endl;
|
||||
G4cout << "Data are available from http://cmsdoc.cern.ch/~hpw/G4NDL3.7.tar.gz "<<G4endl;
|
||||
G4cout << "of the geant4 download page."<<G4endl;
|
||||
G4cout << "Data are available from the Geant4 download page."<<G4endl;
|
||||
G4Exception("G4DataQuestionaire", "007", FatalException,
|
||||
"Fatal error: Missing mandatory data for this simulation engine");
|
||||
}
|
||||
@@ -80,7 +79,7 @@ class G4DataQuestionaire
|
||||
G4cout << "Radioactive decay data are needed."<<G4endl;
|
||||
G4cout << "Please set the environmental variable G4RADIOACTIVEDATA"<<G4endl;
|
||||
G4cout << "to point to your RadiativeDecay directory."<<G4endl;
|
||||
G4cout << "Data are available from the geant4 download page."<<G4endl;
|
||||
G4cout << "Data are available from the Geant4 download page."<<G4endl;
|
||||
G4Exception("G4DataQuestionaire", "007", FatalException,
|
||||
"Fatal error: Missing mandatory data for this simulation engine");
|
||||
}
|
||||
@@ -91,7 +90,7 @@ class G4DataQuestionaire
|
||||
G4cout << "Low energy electromagnetic data are needed."<<G4endl;
|
||||
G4cout << "Please set the environmental variable G4LEDATA"<<G4endl;
|
||||
G4cout << "to point to your G4EMLOW directory."<<G4endl;
|
||||
G4cout << "Data are available from the geant4 download page."<<G4endl;
|
||||
G4cout << "Data are available from the Geant4 download page."<<G4endl;
|
||||
G4Exception("G4DataQuestionaire", "007", FatalException,
|
||||
"Fatal error: Missing mandatory data for this simulation engine");
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4DecayPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmExtraPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmMessenger.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EmStandardPhysics.hh,v 1.3 2006/11/23 15:53:10 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4EmStandardPhysics.hh,v 1.4 2007/05/16 11:35:36 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -39,6 +39,8 @@
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of default EM standard physics
|
||||
//
|
||||
|
||||
#ifndef G4EmStandardPhysics_h
|
||||
#define G4EmStandardPhysics_h 1
|
||||
@@ -46,21 +48,14 @@
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
// for lib list detection....
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmStandardPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmStandardPhysics(const G4String& name = "G4standard", G4int ver = 0);
|
||||
G4EmStandardPhysics(G4int ver = 0, const G4String& name = "G4EmStandard");
|
||||
virtual ~G4EmStandardPhysics();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
|
||||
+15
-15
@@ -24,43 +24,43 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EmStandardPhysics71.hh,v 1.3 2006/11/23 15:30:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4EmStandardPhysics_option1.hh,v 1.1 2007/05/16 11:35:36 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics71
|
||||
// ClassName: G4EmStandardPhysics_option1
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
// Modified:
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
// 13.11.2006 V.Ivanchenko set default msc step limit false
|
||||
// 15.05.2007 V.Ivanchenko rename to _option1
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of EM standard physics using set of options
|
||||
// allowing speed up simulation. Results for simulation in thin layers of
|
||||
// materials with different density may be biased.
|
||||
//
|
||||
|
||||
#ifndef G4EmStandardPhysics71_h
|
||||
#define G4EmStandardPhysics71_h 1
|
||||
#ifndef G4EmStandardPhysics_option1_h
|
||||
#define G4EmStandardPhysics_option1_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
// for lib list detection....
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmStandardPhysics71 : public G4VPhysicsConstructor
|
||||
class G4EmStandardPhysics_option1 : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmStandardPhysics71(const G4String& name = "G4standard_fast", G4int ver = 1);
|
||||
virtual ~G4EmStandardPhysics71();
|
||||
G4EmStandardPhysics_option1(G4int ver = 1,
|
||||
const G4String& name = "G4EmStandard_opt1");
|
||||
|
||||
virtual ~G4EmStandardPhysics_option1();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
+15
-15
@@ -24,43 +24,43 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EmStandardPhysics72.hh,v 1.2 2006/11/23 15:30:19 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4EmStandardPhysics_option2.hh,v 1.1 2007/05/16 11:35:36 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics72
|
||||
// ClassName: G4EmStandardPhysics_option2
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
// Modified:
|
||||
// 05.12.2005 V.Ivanchenko add controlled verbosity
|
||||
// 19.12.2005 V.Ivanchenko rename 71 -> 72
|
||||
// 15.05.2007 V.Ivanchenko rename to _option2
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of EM standard physics using set of options
|
||||
// allowing to utilize sub-cutoff option for ionisation processes and higher
|
||||
// production threshold than in default EM physics.
|
||||
//
|
||||
|
||||
#ifndef G4EmStandardPhysics72_h
|
||||
#define G4EmStandardPhysics72_h 1
|
||||
#ifndef G4EmStandardPhysics_option2_h
|
||||
#define G4EmStandardPhysics_option2_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
// for lib list detection....
|
||||
#include "G4MuBremsstrahlung.hh"
|
||||
#include "G4MuPairProduction.hh"
|
||||
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmStandardPhysics72 : public G4VPhysicsConstructor
|
||||
class G4EmStandardPhysics_option2 : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmStandardPhysics72(const G4String& name = "EMstandard72", G4int ver = 1);
|
||||
virtual ~G4EmStandardPhysics72();
|
||||
G4EmStandardPhysics_option2(G4int ver = 1,
|
||||
const G4String& name = "G4EmStandard_opt2");
|
||||
|
||||
virtual ~G4EmStandardPhysics_option2();
|
||||
|
||||
public:
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
@@ -40,11 +40,12 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
class G4FTFCNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFCNeutronBuilder();
|
||||
G4FTFCNeutronBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFCNeutronBuilder();
|
||||
|
||||
public:
|
||||
@@ -60,6 +61,7 @@ class G4FTFCNeutronBuilder : public G4VNeutronBuilder
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
@@ -39,13 +39,14 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
|
||||
class G4FTFCPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFCPiKBuilder();
|
||||
G4FTFCPiKBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFCPiKBuilder();
|
||||
|
||||
public:
|
||||
@@ -60,11 +61,13 @@ class G4FTFCPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -40,13 +40,14 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4FTFCProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFCProtonBuilder();
|
||||
G4FTFCProtonBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFCProtonBuilder(){};
|
||||
|
||||
public:
|
||||
@@ -58,6 +59,8 @@ class G4FTFCProtonBuilder : public G4VProtonBuilder
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -42,11 +42,12 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
class G4FTFPNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFPNeutronBuilder();
|
||||
G4FTFPNeutronBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFPNeutronBuilder();
|
||||
|
||||
public:
|
||||
@@ -63,6 +64,7 @@ class G4FTFPNeutronBuilder : public G4VNeutronBuilder
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
@@ -41,13 +41,14 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
|
||||
class G4FTFPPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFPPiKBuilder();
|
||||
G4FTFPPiKBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFPPiKBuilder();
|
||||
|
||||
public:
|
||||
@@ -62,12 +63,14 @@ class G4FTFPPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -42,13 +42,14 @@
|
||||
#include "G4FTFModel.hh"
|
||||
#include "G4LundStringFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFPProtonBuilder();
|
||||
G4FTFPProtonBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFPProtonBuilder();
|
||||
|
||||
public:
|
||||
@@ -58,12 +59,14 @@ class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.hh,v 1.4 2006/11/23 15:46:04 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.hh,v 1.1 2006/11/23 15:46:04 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronProcessStore.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronQElasticPhysics.hh,v 1.1 2006/11/17 19:19:40 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonBinaryCascadePhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4LEADPiKBuilder_h
|
||||
#define G4LEADPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
#include "G4Mars5GeV.hh"
|
||||
|
||||
class G4LEADPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4LEADPiKBuilder();
|
||||
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);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4Mars5GeV * theModel;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4LEADProtonBuilder_h
|
||||
#define G4LEADProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4Mars5GeV.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4LEADProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4LEADProtonBuilder();
|
||||
virtual ~G4LEADProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4Mars5GeV * theModel;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LHEPStoppingPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NeutronTrackingCut.hh,v 1.1 2006/11/20 17:56:08 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PiKBuilder.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
+44
-27
@@ -23,42 +23,59 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4LEADNeutronBuilder_h
|
||||
#define G4LEADNeutronBuilder_h 1
|
||||
// $Id: G4QEmExtraPhysics.hh,v 1.1 2007/05/23 17:38:35 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QEmExtraPhysics
|
||||
//
|
||||
// Author: 11 April 2006 V. Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4QEmExtraPhysics_h
|
||||
#define G4QEmExtraPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
class G4QCollision;
|
||||
|
||||
#include "G4Mars5GeV.hh"
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
class G4LEADNeutronBuilder : public G4VNeutronBuilder
|
||||
class G4QEmExtraPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4LEADNeutronBuilder();
|
||||
virtual ~G4LEADNeutronBuilder();
|
||||
public:
|
||||
G4QEmExtraPhysics(G4int ver = 1);
|
||||
virtual ~G4QEmExtraPhysics();
|
||||
|
||||
public:
|
||||
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;}
|
||||
public:
|
||||
// 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:
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4Mars5GeV * theModel;
|
||||
G4double theMin;
|
||||
private:
|
||||
|
||||
G4QCollision* hProcess;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QStoppingPhysics.hh,v 1.2 2007/04/26 16:03:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4StoppingHadronBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPiKBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VProtonBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4DecayPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ElectroNuclearBuilder.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmExtraPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmMessenger.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmStandardPhysics.cc,v 1.7 2007/03/01 10:35:45 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// $Id: G4EmStandardPhysics.cc,v 1.9 2007/05/18 17:47:17 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4LossTableManager.hh"
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
#include "G4ComptonScattering.hh"
|
||||
#include "G4GammaConversion.hh"
|
||||
@@ -84,7 +85,7 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4EmStandardPhysics::G4EmStandardPhysics(const G4String& name, G4int ver)
|
||||
G4EmStandardPhysics::G4EmStandardPhysics(G4int ver, const G4String& name)
|
||||
: G4VPhysicsConstructor(name), verbose(ver)
|
||||
{
|
||||
G4LossTableManager::Instance();
|
||||
@@ -137,6 +138,9 @@ void G4EmStandardPhysics::ConstructProcess()
|
||||
G4ParticleDefinition* particle = theParticleIterator->value();
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
G4String particleName = particle->GetParticleName();
|
||||
if(verbose > 1)
|
||||
G4cout << "### " << GetPhysicsName() << " instantiates for "
|
||||
<< particleName << G4endl;
|
||||
|
||||
if (particleName == "gamma") {
|
||||
|
||||
@@ -169,9 +173,6 @@ void G4EmStandardPhysics::ConstructProcess()
|
||||
particleName == "He3" ||
|
||||
particleName == "GenericIon") {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard instantiates ionIoni for "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4ionIonisation, -1, 2, 2);
|
||||
|
||||
@@ -194,16 +195,12 @@ void G4EmStandardPhysics::ConstructProcess()
|
||||
particleName == "triton" ||
|
||||
particleName == "xi-" ) {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard instantiates hIoni for "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4hIonisation, -1, 2, 2);
|
||||
}
|
||||
}
|
||||
G4EmProcessOptions opt;
|
||||
opt.SetVerbose(verbose);
|
||||
opt.SetSkin(0.0);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
+18
-24
@@ -23,12 +23,12 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmStandardPhysics71.cc,v 1.7 2007/05/02 18:49:50 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// $Id: G4EmStandardPhysics_option1.cc,v 1.3 2007/06/11 15:07:38 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics71
|
||||
// ClassName: G4EmStandardPhysics_option1
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
@@ -39,14 +39,16 @@
|
||||
// 13.11.2006 V.Ivanchenko use G4hMultipleScattering
|
||||
// 23.11.2006 V.Ivanchenko remove mscStepLimit option and improve cout
|
||||
// 13.02.2007 V.Ivanchenko set skin=0.0
|
||||
// 15.05.2007 V.Ivanchenko rename to _option1
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "G4EmStandardPhysics71.hh"
|
||||
#include "G4EmStandardPhysics_option1.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4LossTableManager.hh"
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
#include "G4ComptonScattering.hh"
|
||||
#include "G4GammaConversion.hh"
|
||||
@@ -54,6 +56,7 @@
|
||||
|
||||
#include "G4hMultipleScattering.hh"
|
||||
#include "G4MultipleScattering.hh"
|
||||
#include "G4MscStepLimitType.hh"
|
||||
|
||||
#include "G4eIonisation.hh"
|
||||
#include "G4eBremsstrahlung.hh"
|
||||
@@ -85,7 +88,8 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4EmStandardPhysics71::G4EmStandardPhysics71(const G4String& name, G4int ver)
|
||||
G4EmStandardPhysics_option1::G4EmStandardPhysics_option1(
|
||||
G4int ver, const G4String& name)
|
||||
: G4VPhysicsConstructor(name), verbose(ver)
|
||||
{
|
||||
G4LossTableManager::Instance();
|
||||
@@ -93,12 +97,12 @@ G4EmStandardPhysics71::G4EmStandardPhysics71(const G4String& name, G4int ver)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4EmStandardPhysics71::~G4EmStandardPhysics71()
|
||||
G4EmStandardPhysics_option1::~G4EmStandardPhysics_option1()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void G4EmStandardPhysics71::ConstructParticle()
|
||||
void G4EmStandardPhysics_option1::ConstructParticle()
|
||||
{
|
||||
// gamma
|
||||
G4Gamma::Gamma();
|
||||
@@ -129,7 +133,7 @@ void G4EmStandardPhysics71::ConstructParticle()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void G4EmStandardPhysics71::ConstructProcess()
|
||||
void G4EmStandardPhysics_option1::ConstructProcess()
|
||||
{
|
||||
// Add standard EM Processes
|
||||
|
||||
@@ -138,6 +142,9 @@ void G4EmStandardPhysics71::ConstructProcess()
|
||||
G4ParticleDefinition* particle = theParticleIterator->value();
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
G4String particleName = particle->GetParticleName();
|
||||
if(verbose > 1)
|
||||
G4cout << "### " << GetPhysicsName() << " instantiates for "
|
||||
<< particleName << G4endl;
|
||||
|
||||
if (particleName == "gamma") {
|
||||
|
||||
@@ -147,24 +154,20 @@ void G4EmStandardPhysics71::ConstructProcess()
|
||||
|
||||
} else if (particleName == "e-") {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_fast instantiates eIoni "
|
||||
<< particleName << G4endl;
|
||||
G4eIonisation* eioni = new G4eIonisation();
|
||||
eioni->SetStepFunction(0.8, 1.0*mm);
|
||||
G4MultipleScattering* msc = new G4MultipleScattering;
|
||||
msc->SetStepLimitType(fMinimal);
|
||||
pmanager->AddProcess(msc, -1, 1, 1);
|
||||
pmanager->AddProcess(eioni, -1, 2, 2);
|
||||
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3);
|
||||
|
||||
} else if (particleName == "e+") {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_fast instantiates eIoni "
|
||||
<< particleName << G4endl;
|
||||
G4eIonisation* eioni = new G4eIonisation();
|
||||
eioni->SetStepFunction(0.8, 1.0*mm);
|
||||
G4MultipleScattering* msc = new G4MultipleScattering;
|
||||
msc->SetStepLimitType(fMinimal);
|
||||
pmanager->AddProcess(msc, -1, 1, 1);
|
||||
pmanager->AddProcess(eioni, -1, 2, 2);
|
||||
pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3);
|
||||
@@ -173,9 +176,6 @@ void G4EmStandardPhysics71::ConstructProcess()
|
||||
} else if (particleName == "mu+" ||
|
||||
particleName == "mu-" ) {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_fast instantiates muIoni "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4MuIonisation, -1, 2, 2);
|
||||
pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3);
|
||||
@@ -185,9 +185,6 @@ void G4EmStandardPhysics71::ConstructProcess()
|
||||
particleName == "He3" ||
|
||||
particleName == "GenericIon") {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_fast instantiates ionIoni "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4ionIonisation, -1, 2, 2);
|
||||
|
||||
@@ -209,16 +206,13 @@ void G4EmStandardPhysics71::ConstructProcess()
|
||||
particleName == "tau-" ||
|
||||
particleName == "triton" ||
|
||||
particleName == "xi-" ) {
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4Standard_fast instantiates hIoni "
|
||||
<< particleName << G4endl;
|
||||
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4hIonisation, -1, 2, 2);
|
||||
}
|
||||
}
|
||||
G4EmProcessOptions opt;
|
||||
opt.SetVerbose(verbose);
|
||||
opt.SetMscStepLimitation(false);
|
||||
}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
+14
-20
@@ -23,12 +23,12 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmStandardPhysics72.cc,v 1.7 2007/03/27 10:01:21 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// $Id: G4EmStandardPhysics_option2.cc,v 1.2 2007/05/18 17:47:17 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4EmStandardPhysics72
|
||||
// ClassName: G4EmStandardPhysics_option2
|
||||
//
|
||||
// Author: V.Ivanchenko 09.11.2005
|
||||
//
|
||||
@@ -38,23 +38,23 @@
|
||||
// 13.11.2006 V.Ivanchenko use G4hMultipleScattering
|
||||
// 14.11.2006 V.Ivanchenko use sub-cutoff option for all particles
|
||||
// 13.02.2007 V.Ivanchenko use default msc
|
||||
// 15.05.2007 V.Ivanchenko rename to _option2
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "G4EmStandardPhysics72.hh"
|
||||
#include "G4EmStandardPhysics_option2.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4LossTableManager.hh"
|
||||
#include "G4EmProcessOptions.hh"
|
||||
|
||||
#include "G4ComptonScattering.hh"
|
||||
#include "G4GammaConversion.hh"
|
||||
#include "G4PhotoElectricEffect.hh"
|
||||
|
||||
#include "G4MultipleScattering71.hh"
|
||||
#include "G4MultipleScattering.hh"
|
||||
#include "G4hMultipleScattering.hh"
|
||||
#include "G4UrbanMscModel.hh"
|
||||
|
||||
#include "G4eIonisation.hh"
|
||||
#include "G4eBremsstrahlung.hh"
|
||||
@@ -86,7 +86,8 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4EmStandardPhysics72::G4EmStandardPhysics72(const G4String& name, G4int ver)
|
||||
G4EmStandardPhysics_option2::G4EmStandardPhysics_option2(
|
||||
G4int ver, const G4String& name)
|
||||
: G4VPhysicsConstructor(name), verbose(ver)
|
||||
{
|
||||
G4LossTableManager::Instance();
|
||||
@@ -94,12 +95,12 @@ G4EmStandardPhysics72::G4EmStandardPhysics72(const G4String& name, G4int ver)
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
G4EmStandardPhysics72::~G4EmStandardPhysics72()
|
||||
G4EmStandardPhysics_option2::~G4EmStandardPhysics_option2()
|
||||
{}
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void G4EmStandardPhysics72::ConstructParticle()
|
||||
void G4EmStandardPhysics_option2::ConstructParticle()
|
||||
{
|
||||
// gamma
|
||||
G4Gamma::Gamma();
|
||||
@@ -130,7 +131,7 @@ void G4EmStandardPhysics72::ConstructParticle()
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
void G4EmStandardPhysics72::ConstructProcess()
|
||||
void G4EmStandardPhysics_option2::ConstructProcess()
|
||||
{
|
||||
// Add standard EM Processes
|
||||
G4MultipleScattering* msc = 0;
|
||||
@@ -140,6 +141,9 @@ void G4EmStandardPhysics72::ConstructProcess()
|
||||
G4ParticleDefinition* particle = theParticleIterator->value();
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
G4String particleName = particle->GetParticleName();
|
||||
if(verbose > 1)
|
||||
G4cout << "### " << GetPhysicsName() << " instantiates for "
|
||||
<< particleName << G4endl;
|
||||
|
||||
if (particleName == "gamma") {
|
||||
|
||||
@@ -165,9 +169,6 @@ void G4EmStandardPhysics72::ConstructProcess()
|
||||
} else if (particleName == "mu+" ||
|
||||
particleName == "mu-" ) {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_exp instantiates muIoni "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4MuIonisation, -1, 2, 2);
|
||||
pmanager->AddProcess(new G4MuBremsstrahlung, -1,-3, 3);
|
||||
@@ -177,9 +178,6 @@ void G4EmStandardPhysics72::ConstructProcess()
|
||||
particleName == "He3" ||
|
||||
particleName == "GenericIon") {
|
||||
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_exp instantiates ionIoni "
|
||||
<< particleName << G4endl;
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4ionIonisation, -1, 2, 2);
|
||||
|
||||
@@ -201,9 +199,6 @@ void G4EmStandardPhysics72::ConstructProcess()
|
||||
particleName == "tau-" ||
|
||||
particleName == "triton" ||
|
||||
particleName == "xi-" ) {
|
||||
if(verbose > 1)
|
||||
G4cout << "### G4standard_exp instantiates hIoni and "
|
||||
<< particleName << G4endl;
|
||||
|
||||
pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1);
|
||||
pmanager->AddProcess(new G4hIonisation, -1, 2, 2);
|
||||
@@ -211,7 +206,6 @@ void G4EmStandardPhysics72::ConstructProcess()
|
||||
}
|
||||
G4EmProcessOptions opt;
|
||||
opt.SetVerbose(verbose);
|
||||
opt.SetSkin(0.0);
|
||||
opt.SetSubCutoff(true);
|
||||
}
|
||||
|
||||
@@ -23,59 +23,67 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4FTFCNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4FTFCNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4FTFCNeutronBuilder::
|
||||
G4FTFCNeutronBuilder()
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
G4FTFCNeutronBuilder::
|
||||
G4FTFCNeutronBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 4*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
|
||||
theCascade = new G4StringChipsParticleLevelInterface;
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
theModel->SetTransport(theCascade);
|
||||
}
|
||||
theCascade = new G4StringChipsParticleLevelInterface;
|
||||
|
||||
G4FTFCNeutronBuilder::
|
||||
~G4FTFCNeutronBuilder()
|
||||
{
|
||||
delete theCascade;
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
}
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
theModel->SetTransport(theCascade);
|
||||
}
|
||||
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronFissionProcess * )
|
||||
{
|
||||
}
|
||||
G4FTFCNeutronBuilder::
|
||||
~G4FTFCNeutronBuilder()
|
||||
{
|
||||
delete theCascade;
|
||||
delete theStringDecay;
|
||||
if ( theQuasiElastic ) delete theQuasiElastic;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
}
|
||||
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronCaptureProcess * )
|
||||
{
|
||||
}
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4NeutronInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&theXSec);
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronFissionProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4HadronCaptureProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4FTFCNeutronBuilder::
|
||||
Build(G4NeutronInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&theXSec);
|
||||
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -23,87 +23,93 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4FTFCPiKBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4FTFCPiKBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4FTFCPiKBuilder::
|
||||
G4FTFCPiKBuilder()
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
G4FTFCPiKBuilder::
|
||||
G4FTFCPiKBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 4*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
|
||||
theCascade = new G4StringChipsParticleLevelInterface;
|
||||
theCascade = new G4StringChipsParticleLevelInterface;
|
||||
|
||||
theModel->SetTransport(theCascade);
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
}
|
||||
theModel->SetTransport(theCascade);
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
}
|
||||
|
||||
G4FTFCPiKBuilder::
|
||||
~G4FTFCPiKBuilder()
|
||||
{
|
||||
delete theCascade;
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
}
|
||||
G4FTFCPiKBuilder::
|
||||
~G4FTFCPiKBuilder()
|
||||
{
|
||||
delete theCascade;
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4HadronElasticProcess * ) {}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4HadronElasticProcess * ) {}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4PionPlusInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4PionPlusInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4PionMinusInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4PionMinusInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonPlusInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonPlusInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonMinusInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonMinusInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonZeroLInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonZeroLInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonZeroSInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
void G4FTFCPiKBuilder::
|
||||
Build(G4KaonZeroSInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -30,11 +30,19 @@
|
||||
#include "TheoModelFactory.hh"
|
||||
|
||||
G4FTFCProtonBuilder::
|
||||
G4FTFCProtonBuilder()
|
||||
G4FTFCProtonBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theMin = 4*GeV;
|
||||
theModel = TheoModelFactory<G4StringChipsParticleLevelInterface,
|
||||
G4FTFModel, G4LundStringFragmentation>::New();
|
||||
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
|
||||
}
|
||||
|
||||
void G4FTFCProtonBuilder::
|
||||
|
||||
@@ -23,60 +23,68 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4FTFPNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4FTFPNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4FTFPNeutronBuilder::
|
||||
G4FTFPNeutronBuilder()
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
G4FTFPNeutronBuilder::
|
||||
G4FTFPNeutronBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 4*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
|
||||
theCascade = new G4GeneratorPrecompoundInterface;
|
||||
thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
|
||||
theCascade->SetDeExcitation(thePreEquilib);
|
||||
theCascade = new G4GeneratorPrecompoundInterface;
|
||||
thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
|
||||
theCascade->SetDeExcitation(thePreEquilib);
|
||||
|
||||
theModel->SetTransport(theCascade);
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
}
|
||||
theModel->SetTransport(theCascade);
|
||||
|
||||
G4FTFPNeutronBuilder::
|
||||
~G4FTFPNeutronBuilder()
|
||||
{
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete thePreEquilib;
|
||||
delete theCascade;
|
||||
}
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
}
|
||||
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
G4FTFPNeutronBuilder::
|
||||
~G4FTFPNeutronBuilder()
|
||||
{
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete thePreEquilib;
|
||||
delete theCascade;
|
||||
if ( theQuasiElastic ) delete theQuasiElastic;
|
||||
}
|
||||
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronFissionProcess * )
|
||||
{
|
||||
}
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronCaptureProcess * )
|
||||
{
|
||||
}
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronFissionProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4NeutronInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&theXSec);
|
||||
}
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4HadronCaptureProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4FTFPNeutronBuilder::
|
||||
Build(G4NeutronInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&theXSec);
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4FTFPPiKBuilder::
|
||||
G4FTFPPiKBuilder()
|
||||
G4FTFPPiKBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theMin = 4*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
|
||||
theStringModel = new G4FTFModel;
|
||||
@@ -43,6 +43,13 @@
|
||||
theCascade->SetDeExcitation(thePreEquilib);
|
||||
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
|
||||
theModel->SetTransport(theCascade);
|
||||
}
|
||||
|
||||
@@ -53,6 +60,7 @@
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
if ( theQuasiElastic ) delete theQuasiElastic;
|
||||
}
|
||||
|
||||
void G4FTFPPiKBuilder::
|
||||
|
||||
@@ -23,50 +23,58 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4FTFPProtonBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4FTFPProtonBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4FTFPProtonBuilder::
|
||||
G4FTFPProtonBuilder()
|
||||
{
|
||||
theMin = 15*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
G4FTFPProtonBuilder::
|
||||
G4FTFPProtonBuilder(G4bool quasiElastic)
|
||||
{
|
||||
theMin = 4*GeV;
|
||||
theModel = new G4TheoFSGenerator;
|
||||
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
theStringModel = new G4FTFModel;
|
||||
theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation);
|
||||
theStringModel->SetFragmentationModel(theStringDecay);
|
||||
|
||||
theCascade = new G4GeneratorPrecompoundInterface;
|
||||
thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
|
||||
theCascade->SetDeExcitation(thePreEquilib);
|
||||
theCascade = new G4GeneratorPrecompoundInterface;
|
||||
thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler);
|
||||
theCascade->SetDeExcitation(thePreEquilib);
|
||||
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
theModel->SetTransport(theCascade);
|
||||
}
|
||||
theModel->SetHighEnergyGenerator(theStringModel);
|
||||
if (quasiElastic)
|
||||
{
|
||||
theQuasiElastic=new G4QuasiElasticChannel;
|
||||
theModel->SetQuasiElasticChannel(theQuasiElastic);
|
||||
} else
|
||||
{ theQuasiElastic=0;}
|
||||
|
||||
void G4FTFPProtonBuilder::
|
||||
Build(G4ProtonInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&theXSec);
|
||||
}
|
||||
theModel->SetTransport(theCascade);
|
||||
}
|
||||
|
||||
G4FTFPProtonBuilder::
|
||||
~G4FTFPProtonBuilder()
|
||||
{
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
delete theCascade;
|
||||
}
|
||||
void G4FTFPProtonBuilder::
|
||||
Build(G4ProtonInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
theModel->SetMaxEnergy(100*TeV);
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&theXSec);
|
||||
}
|
||||
|
||||
void G4FTFPProtonBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
G4FTFPProtonBuilder::
|
||||
~G4FTFPProtonBuilder()
|
||||
{
|
||||
delete theStringDecay;
|
||||
delete theStringModel;
|
||||
delete theModel;
|
||||
delete theCascade;
|
||||
if ( theQuasiElastic ) delete theQuasiElastic;
|
||||
}
|
||||
|
||||
void G4FTFPProtonBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.cc,v 1.7 2007/03/06 17:52:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.cc,v 1.2 2007/03/21 12:36:14 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronProcessStore.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronQElasticPhysics.cc,v 1.6 2006/11/29 14:33:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonBinaryCascadePhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4LEADNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4LEADNeutronBuilder::
|
||||
G4LEADNeutronBuilder()
|
||||
{
|
||||
theMin = 0;
|
||||
theModel = new G4Mars5GeV;
|
||||
}
|
||||
|
||||
G4LEADNeutronBuilder::
|
||||
~G4LEADNeutronBuilder()
|
||||
{
|
||||
delete theModel;
|
||||
}
|
||||
|
||||
void G4LEADNeutronBuilder::
|
||||
Build(G4NeutronInelasticProcess * aP)
|
||||
{
|
||||
aP->AddDataSet(&theXSec);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
aP->RegisterMe(theModel);
|
||||
}
|
||||
|
||||
void G4LEADNeutronBuilder::
|
||||
Build(G4HadronElasticProcess * ){}
|
||||
|
||||
void G4LEADNeutronBuilder::
|
||||
Build(G4HadronFissionProcess * ){}
|
||||
|
||||
void G4LEADNeutronBuilder::
|
||||
Build(G4HadronCaptureProcess * ){}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
@@ -1,91 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4LEADPiKBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4LEADPiKBuilder::
|
||||
G4LEADPiKBuilder()
|
||||
{
|
||||
theMin = 0;
|
||||
theModel = new G4Mars5GeV;
|
||||
}
|
||||
|
||||
G4LEADPiKBuilder::
|
||||
~G4LEADPiKBuilder()
|
||||
{
|
||||
delete theModel;
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4HadronElasticProcess * ) {}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4PionPlusInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4PionMinusInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&thePiData);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4KaonPlusInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4KaonMinusInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4KaonZeroLInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
void G4LEADPiKBuilder::
|
||||
Build(G4KaonZeroSInelasticProcess * aP)
|
||||
{
|
||||
aP->RegisterMe(theModel);
|
||||
theModel->SetMinEnergy(theMin);
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
@@ -1,57 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#include "G4LEADProtonBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
G4LEADProtonBuilder::
|
||||
G4LEADProtonBuilder()
|
||||
{
|
||||
theMin = 0;
|
||||
theModel = new G4Mars5GeV;
|
||||
}
|
||||
|
||||
G4LEADProtonBuilder::
|
||||
~G4LEADProtonBuilder()
|
||||
{
|
||||
delete theModel;
|
||||
}
|
||||
|
||||
void G4LEADProtonBuilder::
|
||||
Build(G4HadronElasticProcess * )
|
||||
{
|
||||
}
|
||||
|
||||
void G4LEADProtonBuilder::
|
||||
Build(G4ProtonInelasticProcess * aP)
|
||||
{
|
||||
theModel->SetMinEnergy(theMin);
|
||||
aP->RegisterMe(theModel);
|
||||
aP->AddDataSet(&theXSec);
|
||||
}
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4LHEPStoppingPhysics.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NeutronTrackingCut.cc,v 1.4 2006/11/24 16:30:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PiKBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ProtonBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QEmExtraPhysics.cc,v 1.1 2007/05/23 17:38:35 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QEmExtraPhysics
|
||||
//
|
||||
// Author: 23 May 2007 V. Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#include "G4QEmExtraPhysics.hh"
|
||||
#include "G4QCollision.hh"
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
#include "G4LeptonConstructor.hh"
|
||||
#include "G4MuonMinus.hh"
|
||||
#include "G4MuonPlus.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Positron.hh"
|
||||
#include "G4Gamma.hh"
|
||||
|
||||
G4QEmExtraPhysics::G4QEmExtraPhysics(G4int ver)
|
||||
: G4VPhysicsConstructor("QEmExtra"), verbose(ver), wasActivated(false)
|
||||
{
|
||||
if(verbose > 1) G4cout << "### G4QEmExtraPhysics" << G4endl;
|
||||
}
|
||||
|
||||
G4QEmExtraPhysics::~G4QEmExtraPhysics()
|
||||
{
|
||||
delete hProcess;
|
||||
}
|
||||
|
||||
void G4QEmExtraPhysics::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4QEmExtraPhysics::ConstructParticle" << G4endl;
|
||||
G4LeptonConstructor pLeptonConstructor;
|
||||
pLeptonConstructor.ConstructParticle();
|
||||
}
|
||||
|
||||
void G4QEmExtraPhysics::ConstructProcess()
|
||||
{
|
||||
if(verbose > 1) G4cout << "### G4QEmExtraPhysics::ConstructProcess "
|
||||
<< wasActivated << G4endl;
|
||||
if(wasActivated) return;
|
||||
wasActivated = true;
|
||||
|
||||
hProcess = new G4QCollision();
|
||||
|
||||
G4ParticleDefinition* particle = G4Gamma::Gamma();
|
||||
G4ProcessManager* pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(hProcess);
|
||||
|
||||
particle = G4Electron::Electron();
|
||||
pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(hProcess);
|
||||
|
||||
particle = G4Positron::Positron();
|
||||
pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(hProcess);
|
||||
|
||||
particle = G4MuonMinus::MuonMinus();
|
||||
pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(hProcess);
|
||||
|
||||
particle = G4MuonPlus::MuonPlus();
|
||||
pmanager = particle->GetProcessManager();
|
||||
pmanager->AddDiscreteProcess(hProcess);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QStoppingPhysics.cc,v 1.2 2007/04/26 16:03:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-03 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4StoppingHadronBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user