Import Geant4 9.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:16:48 +02:00
parent 75c7fd177d
commit a8e9364cea
6592 changed files with 84274 additions and 69292 deletions
@@ -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();
@@ -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();
@@ -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 $
//
//---------------------------------------------------------------------------
//
@@ -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......
@@ -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......
@@ -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 $
//
//---------------------------------------------------------------------------
//