Import Geant4 9.3.0 source tree
This commit is contained in:
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BertiniNeutronBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BertiniNeutronBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BertiniNeutronBuilder_h
|
||||
#define G4BertiniNeutronBuilder_h 1
|
||||
|
||||
@@ -35,7 +49,6 @@
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4CascadeInterface.hh"
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
class G4BertiniNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
@@ -54,7 +67,6 @@ class G4BertiniNeutronBuilder : public G4VNeutronBuilder
|
||||
|
||||
private:
|
||||
G4CascadeInterface * theModel;
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BertiniPiKBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BertiniPiKBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BertiniPiKBuilder_h
|
||||
#define G4BertiniPiKBuilder_h 1
|
||||
|
||||
@@ -56,7 +70,7 @@ class G4BertiniPiKBuilder : public G4VPiKBuilder
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4CascadeInterface * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BertiniProtonBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BertiniProtonBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BertiniProtonBuilder_h
|
||||
#define G4BertiniProtonBuilder_h
|
||||
|
||||
@@ -35,7 +49,6 @@
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4CascadeInterface.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4BertiniProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
@@ -51,7 +64,7 @@ class G4BertiniProtonBuilder : public G4VProtonBuilder
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4CascadeInterface * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BinaryNeutronBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BinaryNeutronBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BinaryNeutronBuilder_h
|
||||
#define G4BinaryNeutronBuilder_h 1
|
||||
|
||||
@@ -35,7 +49,6 @@
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4BinaryCascade.hh"
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
class G4BinaryNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
@@ -54,7 +67,6 @@ class G4BinaryNeutronBuilder : public G4VNeutronBuilder
|
||||
|
||||
private:
|
||||
G4BinaryCascade * theModel;
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BinaryPiKBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BinaryPiKBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BinaryPiKBuilder_h
|
||||
#define G4BinaryPiKBuilder_h 1
|
||||
|
||||
@@ -56,7 +70,7 @@ class G4BinaryPiKBuilder : public G4VPiKBuilder
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4BinaryCascade * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4BinaryProtonBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4BinaryProtonBuilder
|
||||
//
|
||||
// Author: 2002 H.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4BinaryProtonBuilder_h
|
||||
#define G4BinaryProtonBuilder_h
|
||||
|
||||
@@ -35,7 +49,6 @@
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4BinaryCascade.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4BinaryProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
@@ -51,7 +64,7 @@ class G4BinaryProtonBuilder : public G4VProtonBuilder
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4BinaryCascade * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -32,23 +32,24 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
enum G4DataType {no, photon, neutron, radioactive, lowenergy};
|
||||
enum G4DataType {no, photon, neutron, radioactive, lowenergy, optical};
|
||||
class G4DataQuestionaire
|
||||
{
|
||||
public:
|
||||
G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no)
|
||||
G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no, G4DataType t5=no)
|
||||
{
|
||||
G4cout << G4endl;
|
||||
G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.4"<<G4endl;
|
||||
G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.5"<<G4endl;
|
||||
// G4cout <<G4endl<<G4endl;
|
||||
// G4cout << "##### the input "<<t1<<" "<<t2<<" "<<t3<<" "<<t4<<G4endl;
|
||||
for(G4int i=0; i<4; i++)
|
||||
for(G4int i=0; i<5; i++)
|
||||
{
|
||||
G4DataType t(no);
|
||||
if(i==0) t=t1;
|
||||
if(i==1) t=t2;
|
||||
if(i==2) t=t3;
|
||||
if(i==3) t=t4;
|
||||
if(i==4) t=t5;
|
||||
switch(t)
|
||||
{
|
||||
case photon:
|
||||
@@ -95,6 +96,17 @@ class G4DataQuestionaire
|
||||
"Fatal error: Missing mandatory data for this simulation engine");
|
||||
}
|
||||
break;
|
||||
case optical:
|
||||
if(!getenv("G4LEDATA") )
|
||||
{
|
||||
G4cout << "Data describing surface propeties for optical photons are needed."<<G4endl;
|
||||
G4cout << "Please set the environmental variable G4REALSURFACEDATA"<<G4endl;
|
||||
G4cout << "to point to your RealSurface directory."<<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 no:
|
||||
// all ok
|
||||
break;
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4DecayPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4DecayPhysics.hh,v 1.2 2009/11/05 01:24:47 gum Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -63,6 +63,8 @@ class G4DecayPhysics : public G4VPhysicsConstructor
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
|
||||
virtual G4Decay* GetDecayProcess() { return fDecayProcess; }
|
||||
|
||||
private:
|
||||
G4Decay* fDecayProcess;
|
||||
G4int verbose;
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4EmDNAPhysics.hh,v 1.1 2009/03/25 11:28:07 sincerti Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
|
||||
#ifndef G4EmDNAPhysics_h
|
||||
#define G4EmDNAPhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmDNAPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmDNAPhysics(G4int ver = 1,
|
||||
const G4String& name = "G4EmDNAPhysics");
|
||||
|
||||
virtual ~G4EmDNAPhysics();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4EmLivermorePhysics.hh,v 1.1 2009/03/25 20:54:32 sincerti Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
|
||||
#ifndef G4EmLivermorePhysics_h
|
||||
#define G4EmLivermorePhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmLivermorePhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmLivermorePhysics(G4int ver = 1,
|
||||
const G4String& name = "G4EmLivermorePhysics");
|
||||
|
||||
virtual ~G4EmLivermorePhysics();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4EmLivermorePolarizedPhysics.hh,v 1.1 2009/03/25 20:54:32 sincerti Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
|
||||
#ifndef G4EmLivermorePolarizedPhysics_h
|
||||
#define G4EmLivermorePolarizedPhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmLivermorePolarizedPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmLivermorePolarizedPhysics(G4int ver = 1,
|
||||
const G4String& name = "G4EmLivermorePolarizedPhysics");
|
||||
|
||||
virtual ~G4EmLivermorePolarizedPhysics();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4EmPenelopePhysics.hh,v 1.1 2009/03/25 13:24:57 pandola Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
|
||||
#ifndef G4EmPenelopePhysics_h
|
||||
#define G4EmPenelopePhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4EmPenelopePhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4EmPenelopePhysics(G4int ver = 1,
|
||||
const G4String& name = "G4EmPenelopePhysics");
|
||||
|
||||
virtual ~G4EmPenelopePhysics();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFBinaryNeutronBuilder.hh,v 1.3 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFBinaryNeutronBuilder
|
||||
//
|
||||
// Author: 2008 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFBinaryNeutronBuilder_h
|
||||
#define G4FTFBinaryNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -65,7 +78,6 @@ class G4FTFBinaryNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFBinaryPiKBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFBinaryPiKBuilder
|
||||
//
|
||||
// Author: 2008 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFBinaryPiKBuilder_h
|
||||
#define G4FTFBinaryPiKBuilder_h 1
|
||||
|
||||
@@ -70,7 +84,7 @@ class G4FTFBinaryPiKBuilder : public G4VPiKBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFBinaryProtonBuilder.hh,v 1.2 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFBinaryProtonBuilder
|
||||
//
|
||||
// Author: 2008 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFBinaryProtonBuilder_h
|
||||
#define G4FTFBinaryProtonBuilder_h
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -44,8 +57,6 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4FTFBinaryProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
@@ -66,7 +77,6 @@ class G4FTFBinaryProtonBuilder : public G4VProtonBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4FTFBuilder.hh,v 1.1 2009/10/04 16:29:54 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFBuilder
|
||||
//
|
||||
// Author: 28 June 2009 V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFBuilder_h
|
||||
#define G4FTFBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VHadronModelBuilder.hh"
|
||||
|
||||
class G4FTFModel;
|
||||
class G4ExcitedStringDecay;
|
||||
|
||||
class G4FTFBuilder : public G4VHadronModelBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
G4FTFBuilder(const G4String& name ="");
|
||||
|
||||
virtual ~G4FTFBuilder();
|
||||
|
||||
protected:
|
||||
|
||||
virtual G4HadronicInteraction* BuildModel();
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4FTFBuilder(G4FTFBuilder &);
|
||||
G4FTFBuilder & operator=(const G4FTFBuilder &right);
|
||||
|
||||
G4FTFModel* theStringModel;
|
||||
G4ExcitedStringDecay* theStringDecay;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFCNeutronBuilder.hh,v 1.3 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFCNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFCNeutronBuilder_h
|
||||
#define G4FTFCNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4FTFModel.hh"
|
||||
@@ -63,7 +76,6 @@ class G4FTFCNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFCPiKBuilder.hh,v 1.3 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFCPiKBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFCPiKBuilder_h
|
||||
#define G4FTFCPiKBuilder_h 1
|
||||
|
||||
@@ -67,7 +81,7 @@ class G4FTFCPiKBuilder : public G4VPiKBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFCProtonBuilder.hh,v 1.4 2009/03/31 18:38:33 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFCProtonBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFCProtonBuilder_h
|
||||
#define G4FTFCProtonBuilder_h
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4FTFModel.hh"
|
||||
@@ -42,23 +55,24 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4FTFCProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4FTFCProtonBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4FTFCProtonBuilder(){};
|
||||
virtual ~G4FTFCProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * ){};
|
||||
virtual void Build(G4HadronElasticProcess * );
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4FTFModel * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFPNeutronBuilder.hh,v 1.4 2009/04/23 18:54:57 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFPNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFPNeutronBuilder_h
|
||||
#define G4FTFPNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -57,6 +70,7 @@ class G4FTFPNeutronBuilder : public G4VNeutronBuilder
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
@@ -66,9 +80,8 @@ class G4FTFPNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
G4double theMax;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFPPiKBuilder.hh,v 1.4 2009/04/23 18:54:57 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFPPiKBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFPPiKBuilder_h
|
||||
#define G4FTFPPiKBuilder_h 1
|
||||
|
||||
@@ -61,6 +75,7 @@ class G4FTFPPiKBuilder : public G4VPiKBuilder
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
@@ -70,8 +85,9 @@ class G4FTFPPiKBuilder : public G4VPiKBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4FTFPProtonBuilder.hh,v 1.4 2009/04/23 18:54:57 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4FTFPProtonBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4FTFPProtonBuilder_h
|
||||
#define G4FTFPProtonBuilder_h
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -44,8 +57,6 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
@@ -57,6 +68,7 @@ class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
@@ -66,8 +78,8 @@ class G4FTFPProtonBuilder : public G4VProtonBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.hh,v 1.2 2007/11/15 18:08:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4HadronHElasticPhysics.hh,v 1.4 2009/11/28 17:35:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -50,7 +50,8 @@
|
||||
class G4HadronHElasticPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4HadronHElasticPhysics(G4int ver = 0, G4bool hp = false);
|
||||
G4HadronHElasticPhysics(G4int ver = 0, G4bool hp = false,
|
||||
const G4String& type = "");
|
||||
virtual ~G4HadronHElasticPhysics();
|
||||
|
||||
public:
|
||||
@@ -65,15 +66,10 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
G4HadronicInteraction* model;
|
||||
G4HadronicInteraction* neutronModel;
|
||||
G4HadronicInteraction* neutronHPModel;
|
||||
|
||||
G4String mname;
|
||||
|
||||
G4int verbose;
|
||||
G4bool hpFlag;
|
||||
G4bool wasActivated;
|
||||
G4String subtype;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4InclAblaNeutronBuilder_h
|
||||
#define G4InclAblaNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4InclAblaCascadeInterface.hh"
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
/**
|
||||
* Builder for neutron processes using the INCL/ABLA intra-nuclear
|
||||
* cascade and de-excitation models.
|
||||
*
|
||||
* By default the INCL/ABLA models are used for projectile energies 0 - 3 GeV.
|
||||
*
|
||||
* The builder uses INCL cascade model with build-in ABLA
|
||||
* de-excitation. This is implemented in interface
|
||||
* G4InclAblaCascadeInterface.
|
||||
*
|
||||
* @see G4InclAblaCascadeInterface
|
||||
* @see G4InclAblaProtonBuilder
|
||||
* @see G4InclAblaPiKBuilder
|
||||
*/
|
||||
class G4InclAblaNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4InclAblaNeutronBuilder();
|
||||
virtual ~G4InclAblaNeutronBuilder();
|
||||
|
||||
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;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4InclAblaCascadeInterface * theModel;
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4InclAblaPiKBuilder_h
|
||||
#define G4InclAblaPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
#include "G4InclAblaCascadeInterface.hh"
|
||||
#include "G4CascadeInterface.hh"
|
||||
|
||||
/**
|
||||
* Builder for pion processes using the INCL/ABLA intra-nuclear
|
||||
* cascade and de-excitation models.
|
||||
*
|
||||
* By default the INCL/ABLA models are used for projectile energies 0 - 3 GeV.
|
||||
*
|
||||
* The builder uses INCL cascade model with build-in ABLA
|
||||
* de-excitation. This is implemented in interface
|
||||
* G4InclAblaCascadeInterface.
|
||||
*
|
||||
* @see G4InclAblaCascadeInterface
|
||||
* @see G4InclAblaProtonBuilder
|
||||
* @see G4InclAblaNeutronBuilder
|
||||
*/
|
||||
class G4InclAblaPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4InclAblaPiKBuilder();
|
||||
virtual ~G4InclAblaPiKBuilder();
|
||||
|
||||
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;}
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4InclAblaCascadeInterface * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
G4CascadeInterface *theBertiniModel;
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4InclAblaProtonBuilder_h
|
||||
#define G4InclAblaProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4InclAblaCascadeInterface.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
/**
|
||||
* Builder for proton processes using the INCL/ABLA intra-nuclear
|
||||
* cascade and de-excitation models.
|
||||
*
|
||||
* By default the INCL/ABLA models are used for projectile energies 0 - 3 GeV.
|
||||
*
|
||||
* The builder uses INCL cascade model with build-in ABLA
|
||||
* de-excitation. This is implemented in interface
|
||||
* G4InclAblaCascadeInterface.
|
||||
*
|
||||
* @see G4InclAblaCascadeInterface
|
||||
* @see G4InclAblaNeutronBuilder
|
||||
* @see G4InclAblaPiKBuilder
|
||||
*/
|
||||
class G4InclAblaProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4InclAblaProtonBuilder();
|
||||
virtual ~G4InclAblaProtonBuilder();
|
||||
|
||||
public:
|
||||
/**
|
||||
* Build elastic process.
|
||||
*
|
||||
* No elastic process is built.
|
||||
*/
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
|
||||
/**
|
||||
* Build inelastic process.
|
||||
*/
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
/**
|
||||
* Set the minimum energy limit for the model.
|
||||
*/
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
/**
|
||||
* Set the maximum energy limit for the model.
|
||||
*/
|
||||
void SetMaxEnergy(G4double aM) {theMax = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4InclAblaCascadeInterface * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
#endif
|
||||
|
||||
@@ -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: G4IonInclAblaPhysics.hh,v 1.1 2009/07/19 18:24:03 kaitanie Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4IonInclAblaBuilder
|
||||
//
|
||||
// Author: P. Kaitaniemi 18.05.2009
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4IonInclAblaPhysics_h
|
||||
#define G4IonInclAblaPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4LEDeuteronInelastic.hh"
|
||||
#include "G4LETritonInelastic.hh"
|
||||
#include "G4LEAlphaInelastic.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class G4HadronInelasticProcess;
|
||||
class G4HadronicInteraction;
|
||||
class G4TripathiLightCrossSection;
|
||||
class G4TripathiCrossSection;
|
||||
class G4IonsShenCrossSection;
|
||||
|
||||
|
||||
class G4IonInclAblaPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4IonInclAblaPhysics(const G4String& name="ions", G4int verb = 0);
|
||||
virtual ~G4IonInclAblaPhysics();
|
||||
|
||||
// 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:
|
||||
|
||||
void AddProcess(const G4String&,
|
||||
G4ParticleDefinition*,
|
||||
G4HadronicInteraction*,
|
||||
G4HadronicInteraction*,
|
||||
const G4double);
|
||||
std::vector<G4HadronInelasticProcess*> p_list;
|
||||
std::vector<G4HadronicInteraction*> model_list;
|
||||
|
||||
G4TripathiCrossSection* fTripathi;
|
||||
G4TripathiLightCrossSection* fTripathiLight;
|
||||
G4IonsShenCrossSection* fShen;
|
||||
|
||||
G4LEDeuteronInelastic* fLEDModel;
|
||||
G4LETritonInelastic* fLETModel;
|
||||
G4LEAlphaInelastic* fLEAModel;
|
||||
|
||||
G4double emin;
|
||||
G4double emax_d, emax_t, emax_he3, emax_alpha;
|
||||
G4double emaxLHEP;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4IonQMDPhysics.hh,v 1.1 2009/11/27 17:25:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4IonBinaryCascadeBuilder
|
||||
// Created from G4IonBinaryCascadePhysics
|
||||
//
|
||||
// Author: G.Folger
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4IonQMDPhysics_h
|
||||
#define G4IonQMDPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4LEDeuteronInelastic.hh"
|
||||
#include "G4LETritonInelastic.hh"
|
||||
#include "G4LEAlphaInelastic.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class G4HadronInelasticProcess;
|
||||
class G4HadronicInteraction;
|
||||
class G4BinaryLightIonReaction;
|
||||
class G4QMDReaction;
|
||||
class G4TripathiLightCrossSection;
|
||||
class G4TripathiCrossSection;
|
||||
class G4IonsShenCrossSection;
|
||||
|
||||
|
||||
class G4IonQMDPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4IonQMDPhysics(const G4String& name="ions", G4int verb = 0);
|
||||
virtual ~G4IonQMDPhysics();
|
||||
|
||||
// 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:
|
||||
|
||||
void AddProcess(const G4String&,
|
||||
G4ParticleDefinition*,
|
||||
G4BinaryLightIonReaction*,
|
||||
G4QMDReaction*,
|
||||
G4HadronicInteraction*);
|
||||
|
||||
std::vector<G4HadronInelasticProcess*> p_list;
|
||||
std::vector<G4HadronicInteraction*> model_list;
|
||||
|
||||
G4TripathiCrossSection* fTripathi;
|
||||
G4TripathiLightCrossSection* fTripathiLight;
|
||||
G4IonsShenCrossSection* fShen;
|
||||
|
||||
G4LEDeuteronInelastic* fLEDModel;
|
||||
G4LETritonInelastic* fLETModel;
|
||||
G4LEAlphaInelastic* fLEAModel;
|
||||
|
||||
G4double eminBIC;
|
||||
|
||||
G4double eminQMD;
|
||||
G4double emaxQMD;
|
||||
|
||||
G4double emaxLHEP;
|
||||
|
||||
G4double overlap;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -101,72 +101,72 @@ class G4MiscLHEPBuilder
|
||||
private:
|
||||
|
||||
// anti-proton
|
||||
G4AntiProtonInelasticProcess theAntiProtonInelastic;
|
||||
G4AntiProtonInelasticProcess* theAntiProtonInelastic;
|
||||
G4LEAntiProtonInelastic* theLEAntiProtonModel;
|
||||
G4HEAntiProtonInelastic* theHEAntiProtonModel;
|
||||
|
||||
// anti-neutron
|
||||
G4AntiNeutronInelasticProcess theAntiNeutronInelastic;
|
||||
G4AntiNeutronInelasticProcess* theAntiNeutronInelastic;
|
||||
G4LEAntiNeutronInelastic* theLEAntiNeutronModel;
|
||||
G4HEAntiNeutronInelastic* theHEAntiNeutronModel;
|
||||
|
||||
// Lambda
|
||||
G4LambdaInelasticProcess theLambdaInelastic;
|
||||
G4LambdaInelasticProcess* theLambdaInelastic;
|
||||
G4LELambdaInelastic* theLELambdaModel;
|
||||
G4HELambdaInelastic* theHELambdaModel;
|
||||
|
||||
// AntiLambda
|
||||
G4AntiLambdaInelasticProcess theAntiLambdaInelastic;
|
||||
G4AntiLambdaInelasticProcess* theAntiLambdaInelastic;
|
||||
G4LEAntiLambdaInelastic* theLEAntiLambdaModel;
|
||||
G4HEAntiLambdaInelastic* theHEAntiLambdaModel;
|
||||
|
||||
// SigmaMinus
|
||||
G4SigmaMinusInelasticProcess theSigmaMinusInelastic;
|
||||
G4SigmaMinusInelasticProcess* theSigmaMinusInelastic;
|
||||
G4LESigmaMinusInelastic* theLESigmaMinusModel;
|
||||
G4HESigmaMinusInelastic* theHESigmaMinusModel;
|
||||
|
||||
// AntiSigmaMinus
|
||||
G4AntiSigmaMinusInelasticProcess theAntiSigmaMinusInelastic;
|
||||
G4AntiSigmaMinusInelasticProcess* theAntiSigmaMinusInelastic;
|
||||
G4LEAntiSigmaMinusInelastic* theLEAntiSigmaMinusModel;
|
||||
G4HEAntiSigmaMinusInelastic* theHEAntiSigmaMinusModel;
|
||||
|
||||
// SigmaPlus
|
||||
G4SigmaPlusInelasticProcess theSigmaPlusInelastic;
|
||||
G4SigmaPlusInelasticProcess* theSigmaPlusInelastic;
|
||||
G4LESigmaPlusInelastic* theLESigmaPlusModel;
|
||||
G4HESigmaPlusInelastic* theHESigmaPlusModel;
|
||||
|
||||
// AntiSigmaPlus
|
||||
G4AntiSigmaPlusInelasticProcess theAntiSigmaPlusInelastic;
|
||||
G4AntiSigmaPlusInelasticProcess* theAntiSigmaPlusInelastic;
|
||||
G4LEAntiSigmaPlusInelastic* theLEAntiSigmaPlusModel;
|
||||
G4HEAntiSigmaPlusInelastic* theHEAntiSigmaPlusModel;
|
||||
|
||||
// XiZero
|
||||
G4XiZeroInelasticProcess theXiZeroInelastic;
|
||||
G4XiZeroInelasticProcess* theXiZeroInelastic;
|
||||
G4LEXiZeroInelastic* theLEXiZeroModel;
|
||||
G4HEXiZeroInelastic* theHEXiZeroModel;
|
||||
|
||||
// AntiXiZero
|
||||
G4AntiXiZeroInelasticProcess theAntiXiZeroInelastic;
|
||||
G4AntiXiZeroInelasticProcess* theAntiXiZeroInelastic;
|
||||
G4LEAntiXiZeroInelastic* theLEAntiXiZeroModel;
|
||||
G4HEAntiXiZeroInelastic* theHEAntiXiZeroModel;
|
||||
|
||||
// XiMinus
|
||||
G4XiMinusInelasticProcess theXiMinusInelastic;
|
||||
G4XiMinusInelasticProcess* theXiMinusInelastic;
|
||||
G4LEXiMinusInelastic* theLEXiMinusModel;
|
||||
G4HEXiMinusInelastic* theHEXiMinusModel;
|
||||
|
||||
// AntiXiMinus
|
||||
G4AntiXiMinusInelasticProcess theAntiXiMinusInelastic;
|
||||
G4AntiXiMinusInelasticProcess* theAntiXiMinusInelastic;
|
||||
G4LEAntiXiMinusInelastic* theLEAntiXiMinusModel;
|
||||
G4HEAntiXiMinusInelastic* theHEAntiXiMinusModel;
|
||||
|
||||
// OmegaMinus
|
||||
G4OmegaMinusInelasticProcess theOmegaMinusInelastic;
|
||||
G4OmegaMinusInelasticProcess* theOmegaMinusInelastic;
|
||||
G4LEOmegaMinusInelastic* theLEOmegaMinusModel;
|
||||
G4HEOmegaMinusInelastic* theHEOmegaMinusModel;
|
||||
|
||||
// AntiOmegaMinus
|
||||
G4AntiOmegaMinusInelasticProcess theAntiOmegaMinusInelastic;
|
||||
G4AntiOmegaMinusInelasticProcess* theAntiOmegaMinusInelastic;
|
||||
G4LEAntiOmegaMinusInelastic* theLEAntiOmegaMinusModel;
|
||||
G4HEAntiOmegaMinusInelastic* theHEAntiOmegaMinusModel;
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4MiscQGSCBuilder
|
||||
//
|
||||
// Author: 2009 M. Kossov (on the basis of the G4MiscLHEPBuilder)
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4MiscQGSCBuilder_h
|
||||
#define G4MiscQGSCBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronInelasticProcess.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
//class G4HadronicProcess;
|
||||
//class G4TheoFSGenerator;
|
||||
//class G4StringChipsParticleLevelInterface;
|
||||
//class G4ExcitedStringDecay;
|
||||
//class G4HadronProcessStore;
|
||||
//class G4QuasiElasticChannel;
|
||||
|
||||
class G4MiscQGSCBuilder
|
||||
//class G4MiscQGSCBuilder : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4MiscQGSCBuilder(G4int verbose);
|
||||
virtual ~G4MiscQGSCBuilder();
|
||||
|
||||
public:
|
||||
void Build();
|
||||
|
||||
protected:
|
||||
// the particle table has the complete List of existing particle types
|
||||
G4ParticleTable* theParticleTable;
|
||||
G4ParticleTable::G4PTblDicIterator* theParticleIterator;
|
||||
|
||||
private:
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theQGSCModel;
|
||||
G4ExcitedStringDecay * theQGSCDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
// 2009 by M. Kossov
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,151 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4OpticalPhysics
|
||||
//
|
||||
// Author: P.Gumplinger 30.09.2009
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of default optical physics
|
||||
//
|
||||
|
||||
#ifndef G4OpticalPhysics_h
|
||||
#define G4OpticalPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
#include "G4OpticalPhysicsMessenger.hh"
|
||||
|
||||
#include "G4OpWLS.hh"
|
||||
#include "G4Scintillation.hh"
|
||||
#include "G4Cerenkov.hh"
|
||||
|
||||
#include "G4OpAbsorption.hh"
|
||||
#include "G4OpRayleigh.hh"
|
||||
#include "G4OpBoundaryProcess.hh"
|
||||
|
||||
#include "G4OpticalSurface.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class G4OpticalPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
G4OpticalPhysics(G4int verbose = 0, const G4String& name = "Optical");
|
||||
virtual ~G4OpticalPhysics();
|
||||
|
||||
protected:
|
||||
|
||||
// construct particle and physics
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
|
||||
/// Not implemented
|
||||
G4OpticalPhysics(const G4OpticalPhysics& right);
|
||||
/// Not implemented
|
||||
G4OpticalPhysics& operator=(const G4OpticalPhysics& right);
|
||||
|
||||
public:
|
||||
|
||||
// get methods
|
||||
virtual G4Scintillation* GetScintillationProcess()
|
||||
{ return fScintillationProcess; }
|
||||
virtual G4Cerenkov* GetCerenkovProcess() { return fCerenkovProcess; }
|
||||
virtual G4OpWLS* GetOpWLSProcess() { return fOpWLSProcess; }
|
||||
|
||||
virtual G4OpAbsorption* GetOpAbsorptionProcess()
|
||||
{ return fOpAbsorptionProcess; }
|
||||
virtual G4OpRayleigh* GetOpRayleighProcess()
|
||||
{ return fOpRayleighScatteringProcess; }
|
||||
virtual G4OpBoundaryProcess* GetOpBoundaryProcess()
|
||||
{ return fOpBoundaryProcess; }
|
||||
|
||||
// set methods
|
||||
|
||||
void SetMaxNumPhotonsPerStep(G4int );
|
||||
void SetMaxBetaChangePerStep(G4double );
|
||||
void SetScintillationYieldFactor(G4double );
|
||||
void SetScintillationExcitationRatio(G4double );
|
||||
void SetOpticalSurfaceModel(G4OpticalSurfaceModel );
|
||||
|
||||
void SetWLSTimeProfile(G4String );
|
||||
void AddScintillationSaturation(G4EmSaturation* );
|
||||
|
||||
void SetTrackSecondariesFirst(G4bool );
|
||||
|
||||
private:
|
||||
|
||||
// data members
|
||||
|
||||
G4bool wasActivated;
|
||||
|
||||
G4OpticalPhysicsMessenger* fMessenger;
|
||||
|
||||
G4Scintillation* fScintillationProcess;
|
||||
G4Cerenkov* fCerenkovProcess;
|
||||
G4OpWLS* fOpWLSProcess;
|
||||
|
||||
G4OpAbsorption* fOpAbsorptionProcess;
|
||||
G4OpRayleigh* fOpRayleighScatteringProcess;
|
||||
G4OpBoundaryProcess* fOpBoundaryProcess;
|
||||
|
||||
/// max number of Cerenkov photons per step
|
||||
G4int fMaxNumPhotons;
|
||||
|
||||
/// max change of beta per step
|
||||
G4double fMaxBetaChange;
|
||||
|
||||
/// scintillation yield factor
|
||||
G4double fYieldFactor;
|
||||
|
||||
/// scintillation excitation ratio
|
||||
G4double fExcitationRatio;
|
||||
|
||||
/// the optical surface model (glisur or unified)
|
||||
G4OpticalSurfaceModel fSurfaceModel;
|
||||
|
||||
/// the WLS process time profile
|
||||
G4String fProfile;
|
||||
|
||||
/// option to track secondaries before finishing their parent track
|
||||
G4bool fTrackSecondariesFirst;
|
||||
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,103 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4OpticalPhysicsMessenger_h
|
||||
#define G4OpticalPhysicsMessenger_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
|
||||
class G4VProcess;
|
||||
class G4OpticalPhysics;
|
||||
|
||||
class G4UIdirectory;
|
||||
class G4UIcmdWithABool;
|
||||
class G4UIcmdWithADouble;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithAnInteger;
|
||||
|
||||
class G4OpticalPhysicsMessenger: public G4UImessenger
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
G4OpticalPhysicsMessenger(G4OpticalPhysics*);
|
||||
~G4OpticalPhysicsMessenger();
|
||||
|
||||
// methods
|
||||
void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
|
||||
/// Not implemented
|
||||
G4OpticalPhysicsMessenger();
|
||||
/// Not implemented
|
||||
G4OpticalPhysicsMessenger(const G4OpticalPhysicsMessenger& right);
|
||||
/// Not implemented
|
||||
G4OpticalPhysicsMessenger& operator=(const G4OpticalPhysicsMessenger& right);
|
||||
|
||||
// data members
|
||||
|
||||
/// associated clas
|
||||
G4OpticalPhysics* fOpticalPhysics;
|
||||
|
||||
/// command directory
|
||||
G4UIdirectory* fDir;
|
||||
|
||||
/// selected optical process
|
||||
G4VProcess* fSelectedProcess;
|
||||
|
||||
/// selectOpProcess command
|
||||
G4UIcmdWithAString* fSelectOpProcessCmd;
|
||||
|
||||
/// setCerenkovActivation command
|
||||
G4UIcmdWithABool* fSetOpProcessActivationCmd;
|
||||
|
||||
/// setCerenkovVerbose command
|
||||
G4UIcmdWithAnInteger* fSetOpProcessVerboseCmd;
|
||||
|
||||
/// setCerenkovMaxPhotons command
|
||||
G4UIcmdWithAnInteger* fSetCerenkovMaxPhotonsCmd;
|
||||
|
||||
/// setCerenkovMaxBetaChange command
|
||||
G4UIcmdWithADouble* fSetCerenkovMaxBetaChangeCmd;
|
||||
|
||||
/// setScintillationYieldFactor command
|
||||
G4UIcmdWithADouble* fSetScintillationYieldFactorCmd;
|
||||
|
||||
/// setOpticalSurfaceModel command
|
||||
G4UIcmdWithAString* fSetOpticalSurfaceModelCmd;
|
||||
|
||||
/// setWLSTimeProfile command
|
||||
G4UIcmdWithAString* fSetWLSTimeProfileCmd;
|
||||
|
||||
/// setTrackSecondariesFirst command
|
||||
G4UIcmdWithABool* fSetTrackSecondariesFirstCmd;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PrecoNeutronBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4PrecoNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4PrecoNeutronBuilder_h
|
||||
#define G4PrecoNeutronBuilder_h 1
|
||||
|
||||
@@ -54,7 +68,6 @@ class G4PrecoNeutronBuilder : public G4VNeutronBuilder
|
||||
|
||||
private:
|
||||
G4PreCompoundModel * theModel;
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PrecoProtonBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4PrecoProtonBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4PrecoProtonBuilder_h
|
||||
#define G4PrecoProtonBuilder_h
|
||||
|
||||
@@ -35,7 +49,6 @@
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4PreCompoundModel.hh"
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4PrecoProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
@@ -50,7 +63,7 @@ class G4PrecoProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4PreCompoundModel * theModel;
|
||||
G4double theMin;
|
||||
G4double theMax;
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QAtomicPhysics.hh,v 1.1 2009/11/20 10:24:28 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QAtomicPhysics
|
||||
//
|
||||
// Author: M. Kosov 20.11.2009 (similar to G4EmStandardPhysics)
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of CHIPS-modified Electromagnetic physics
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#ifndef G4QAtomicPhysics_h
|
||||
#define G4QAtomicPhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4QAtomicPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4QAtomicPhysics(G4int ver = 0, const G4String& name = "G4QAtomic");
|
||||
virtual ~G4QAtomicPhysics();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QCaptureAtRestPhysics.hh,v 1.1 2009/11/16 19:12:10 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QCaptureAtRestPhysics
|
||||
//
|
||||
// Author: 16 Nov 2009 M. Kosov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4QCaptureAtRestPhysics_h
|
||||
#define G4QCaptureAtRestPhysics_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4LeptonConstructor.hh"
|
||||
#include "G4MesonConstructor.hh"
|
||||
#include "G4BaryonConstructor.hh"
|
||||
#include "G4QCaptureAtRest.hh"
|
||||
|
||||
class G4QCaptureAtRest;
|
||||
|
||||
class G4QCaptureAtRestPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4QCaptureAtRestPhysics(const G4String& name = "nuclear_capture", G4int ver = 1);
|
||||
virtual ~G4QCaptureAtRestPhysics();
|
||||
|
||||
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:
|
||||
|
||||
G4QCaptureAtRest* captureProcess;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QEmExtraPhysics.hh,v 1.1 2007/05/23 17:38:35 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4QEmExtraPhysics.hh,v 1.2 2009/11/16 19:12:10 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -32,7 +32,7 @@
|
||||
//
|
||||
// Author: 11 April 2006 V. Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
// Modified: 19 Nov 2009 M.Kosov: G4QInelastic instead of G4QCollision
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -43,7 +43,7 @@
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
class G4QCollision;
|
||||
class G4QInelastic;
|
||||
|
||||
class G4QEmExtraPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
G4QCollision* hProcess;
|
||||
G4QInelastic* hProcess;
|
||||
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSBinaryNeutronBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSBinaryNeutronBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSBinaryNeutronBuilder_h
|
||||
#define G4QGSBinaryNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -67,7 +80,6 @@ class G4QGSBinaryNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSBinaryPiKBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSBinaryPiKBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSBinaryPiKBuilder_h
|
||||
#define G4QGSBinaryPiKBuilder_h 1
|
||||
|
||||
@@ -64,7 +78,7 @@ class G4QGSBinaryPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4PiNuclearCrossSection* thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4BinaryCascade * theCascade;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSBinaryProtonBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSBinaryProtonBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSBinaryProtonBuilder_h
|
||||
#define G4QGSBinaryProtonBuilder_h
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4ExcitationHandler.hh"
|
||||
#include "G4PreCompoundModel.hh"
|
||||
@@ -45,8 +58,6 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSBinaryProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
@@ -60,7 +71,7 @@ class G4QGSBinaryProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4BinaryCascade * theCascade;
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QGSBuilder.hh,v 1.1 2009/10/04 16:29:54 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSBuilder
|
||||
//
|
||||
// Author: 28 June 2009 V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSBuilder_h
|
||||
#define G4QGSBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VHadronModelBuilder.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
|
||||
class G4ExcitedStringDecay;
|
||||
class G4QuasiElasticChannel;
|
||||
class G4ProjectileDiffractiveChannel;
|
||||
|
||||
class G4QGSBuilder : public G4VHadronModelBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
G4QGSBuilder(const G4String& name ="",
|
||||
G4bool quasiElastic=true,
|
||||
G4bool projectileDiffraction=false);
|
||||
|
||||
virtual ~G4QGSBuilder();
|
||||
|
||||
protected:
|
||||
|
||||
virtual G4HadronicInteraction* BuildModel();
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4QGSBuilder(G4QGSBuilder &);
|
||||
G4QGSBuilder & operator=(const G4QGSBuilder &right);
|
||||
|
||||
G4QGSModel< G4QGSParticipants > * theQGStringModel;
|
||||
|
||||
G4ExcitedStringDecay* theQGStringDecay;
|
||||
G4QuasiElasticChannel* theQuasiElastic;
|
||||
|
||||
G4ProjectileDiffractiveChannel* theProjectileDiffraction;
|
||||
|
||||
G4bool quasielFlag;
|
||||
G4bool diffFlag;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCEflowNeutronBuilder.hh,v 1.3 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCEflowNeutronBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCEflowNeutronBuilder_h
|
||||
#define G4QGSCEflowNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
@@ -64,7 +77,6 @@ class G4QGSCEflowNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCEflowPiKBuilder.hh,v 1.3 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCEflowPiKBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCEflowPiKBuilder_h
|
||||
#define G4QGSCEflowPiKBuilder_h 1
|
||||
|
||||
@@ -62,7 +76,7 @@ class G4QGSCEflowPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiCross;
|
||||
G4PiNuclearCrossSection* thePiCross;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCEflowProtonBuilder.hh,v 1.3 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCEflowProtonBuilder
|
||||
//
|
||||
// Author: 2006 G.Folger
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCEflowProtonBuilder_h
|
||||
#define G4QGSCEflowProtonBuilder_h
|
||||
|
||||
@@ -43,8 +57,6 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSCEflowProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
@@ -58,7 +70,7 @@ class G4QGSCEflowProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCNeutronBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCNeutronBuilder_h
|
||||
#define G4QGSCNeutronBuilder_h 1
|
||||
|
||||
@@ -34,7 +48,6 @@
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4QStringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
@@ -64,9 +77,7 @@ class G4QGSCNeutronBuilder : public G4VNeutronBuilder
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCPiKBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCPiKBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCPiKBuilder_h
|
||||
#define G4QGSCPiKBuilder_h 1
|
||||
|
||||
@@ -62,7 +76,7 @@ class G4QGSCPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiCross;
|
||||
G4PiNuclearCrossSection* thePiCross;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QStringChipsParticleLevelInterface * theCascade;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSCProtonBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSCProtonBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSCProtonBuilder_h
|
||||
#define G4QGSCProtonBuilder_h
|
||||
|
||||
@@ -43,8 +57,6 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSCProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
@@ -58,7 +70,7 @@ class G4QGSCProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QStringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_CHIPSNeutronBuilder_h
|
||||
#define G4QGSC_CHIPSNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSC_CHIPSNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_CHIPSNeutronBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_CHIPSNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * ){}
|
||||
virtual void Build(G4HadronFissionProcess * ){}
|
||||
virtual void Build(G4HadronCaptureProcess * ){}
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_CHIPSPiKBuilder_h
|
||||
#define G4QGSC_CHIPSPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
class G4QGSC_CHIPSPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_CHIPSPiKBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_CHIPSPiKBuilder();
|
||||
|
||||
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 thePiCross;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_CHIPSProtonBuilder_h
|
||||
#define G4QGSC_CHIPSProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4StringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSC_CHIPSProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_CHIPSProtonBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_CHIPSProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4StringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_QGSCNeutronBuilder_h
|
||||
#define G4QGSC_QGSCNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4QStringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
class G4QGSC_QGSCNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_QGSCNeutronBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_QGSCNeutronBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * ){}
|
||||
virtual void Build(G4HadronFissionProcess * ){}
|
||||
virtual void Build(G4HadronCaptureProcess * ){}
|
||||
virtual void Build(G4NeutronInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4QStringChipsParticleLevelInterface * theCascade;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_QGSCPiKBuilder_h
|
||||
#define G4QGSC_QGSCPiKBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4VPiKBuilder.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4QStringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
class G4QGSC_QGSCPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_QGSCPiKBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_QGSCPiKBuilder();
|
||||
|
||||
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 thePiCross;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QStringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4QGSMFragmentation theFragmentation;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 G4QGSC_QGSCProtonBuilder_h
|
||||
#define G4QGSC_QGSCProtonBuilder_h
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
#include "G4TheoFSGenerator.hh"
|
||||
#include "G4QStringChipsParticleLevelInterface.hh"
|
||||
#include "G4QGSModel.hh"
|
||||
#include "G4QGSParticipants.hh"
|
||||
#include "G4QGSMFragmentation.hh"
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
|
||||
#include "G4ProtonInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSC_QGSCProtonBuilder : public G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4QGSC_QGSCProtonBuilder(G4bool quasiElastic=false);
|
||||
virtual ~G4QGSC_QGSCProtonBuilder();
|
||||
|
||||
public:
|
||||
virtual void Build(G4HadronElasticProcess * aP);
|
||||
virtual void Build(G4ProtonInelasticProcess * aP);
|
||||
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4QStringChipsParticleLevelInterface * theCascade;
|
||||
G4QGSModel< G4QGSParticipants > * theStringModel;
|
||||
G4ExcitedStringDecay * theStringDecay;
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSPNeutronBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSPNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSPNeutronBuilder_h
|
||||
#define G4QGSPNeutronBuilder_h 1
|
||||
|
||||
@@ -45,8 +59,6 @@
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
#include "G4ProjectileDiffractiveChannel.hh"
|
||||
|
||||
#include "G4NeutronInelasticCrossSection.hh"
|
||||
|
||||
class G4QGSPNeutronBuilder : public G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
@@ -71,7 +83,6 @@ class G4QGSPNeutronBuilder : public G4VNeutronBuilder
|
||||
G4QuasiElasticChannel * theQuasiElastic;
|
||||
G4ProjectileDiffractiveChannel * theProjectileDiffraction;
|
||||
|
||||
G4NeutronInelasticCrossSection theXSec;
|
||||
G4double theMin;
|
||||
|
||||
};
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSPPiKBuilder.hh,v 1.4 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSPPiKBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSPPiKBuilder_h
|
||||
#define G4QGSPPiKBuilder_h 1
|
||||
|
||||
@@ -44,8 +58,7 @@
|
||||
#include "G4ExcitedStringDecay.hh"
|
||||
#include "G4QuasiElasticChannel.hh"
|
||||
#include "G4ProjectileDiffractiveChannel.hh"
|
||||
|
||||
#include "G4PiNuclearCrossSection.hh"
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
|
||||
class G4QGSPPiKBuilder : public G4VPiKBuilder
|
||||
{
|
||||
@@ -66,7 +79,7 @@ class G4QGSPPiKBuilder : public G4VPiKBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4PiNuclearCrossSection thePiData;
|
||||
G4VCrossSectionDataSet* thePiData;
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4QGSPProtonBuilder.hh,v 1.5 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QGSPProtonBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 30.03.2009 V.Ivanchenko create cross section by new
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QGSPProtonBuilder_h
|
||||
#define G4QGSPProtonBuilder_h
|
||||
|
||||
@@ -62,7 +76,7 @@ class G4QGSPProtonBuilder : public G4VProtonBuilder
|
||||
void SetMinEnergy(G4double aM) {theMin = aM;}
|
||||
|
||||
private:
|
||||
G4ProtonInelasticCrossSection theXSec;
|
||||
|
||||
G4TheoFSGenerator * theModel;
|
||||
G4PreCompoundModel * thePreEquilib;
|
||||
G4GeneratorPrecompoundInterface * theCascade;
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QInelasticCHIPSBuilder
|
||||
//
|
||||
// Author: 2009 M. Kossov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// Short comment: This is a physics list of only one model G4QInelastic for
|
||||
// all hadron-nuclear interactions at all energies. There is no model- or
|
||||
// process-mixing, while it is possible to merge (G4QProcessMixer) the G4_HP
|
||||
// processes at low energies if the G4QInelastic, which includes all necessary
|
||||
// nA inelastic processes, is found to be not saficient for some applications.
|
||||
// In this particular builder the G4QInelastic process is attached to all
|
||||
// hadrons other than nucleons or pi and K-mesons. Previously it could be done
|
||||
// only using the LHEP parameterized package or in a temporary form by the
|
||||
// QGSC model conditionally extended (just not crashing) to low energies.
|
||||
// *** Important *** As the CHIPS treatment of all hadrons is very simple,
|
||||
// this builder with time can be not used in the CHIPS physics list.
|
||||
//
|
||||
// -----------------------------------------------------------------------------
|
||||
#ifndef G4QInelasticCHIPSBuilder_h
|
||||
#define G4QInelasticCHIPSBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4QInelastic.hh"
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
class G4QInelasticCHIPSBuilder
|
||||
{
|
||||
public:
|
||||
G4QInelasticCHIPSBuilder(G4int verbose);
|
||||
virtual ~G4QInelasticCHIPSBuilder();
|
||||
|
||||
public:
|
||||
void Build();
|
||||
|
||||
protected:
|
||||
// the particle table has the complete List of existing particle types
|
||||
G4ParticleTable* theParticleTable;
|
||||
G4ParticleTable::G4PTblDicIterator* theParticleIterator;
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
G4QInelastic* inelastic;
|
||||
};
|
||||
// 2009 by M. Kossov
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,93 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QMessenger.hh,v 1.1 2009/11/13 18:50:14 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QMessenger
|
||||
//
|
||||
// Author: 2009 M. V. Kossov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4QMessenger_h
|
||||
#define G4QMessenger_h 1
|
||||
|
||||
class G4EmExtraPhysics;
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4UIdirectory.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
#include "G4UIcmdWithABool.hh"
|
||||
#include "G4UIcmdWithADouble.hh"
|
||||
#include "G4UIcmdWithAnInteger.hh"
|
||||
#include "G4UIcmdWithADoubleAndUnit.hh"
|
||||
|
||||
class G4QNeutrinoPhysics;
|
||||
class G4QPhotoNuclearPhysics;
|
||||
|
||||
class G4QMessenger: public G4UImessenger
|
||||
{
|
||||
G4QMessenger();
|
||||
|
||||
public:
|
||||
~G4QMessenger();
|
||||
|
||||
static G4QMessenger* GetPointer(); // Gives a pointer to this singletone
|
||||
|
||||
void Add(G4QNeutrinoPhysics* weak);
|
||||
void Add(G4QPhotoNuclearPhysics* photo);
|
||||
|
||||
void SetNewValue(G4UIcommand* aComm, G4String aS);
|
||||
G4String GetCurrentValue(G4UIcommand* aComm);
|
||||
|
||||
private:
|
||||
G4UIdirectory* rootDir;
|
||||
|
||||
G4UIdirectory* weakDir;
|
||||
G4QNeutrinoPhysics* theWeak;
|
||||
G4UIcmdWithAString* theNuElN;
|
||||
G4UIcmdWithAString* theNuMuN;
|
||||
G4UIcmdWithAString* theNuTaN;
|
||||
G4UIcmdWithADouble* biasNuNuc;
|
||||
|
||||
G4UIdirectory* photoDir;
|
||||
G4QPhotoNuclearPhysics* thePhoto;
|
||||
G4UIcmdWithAString* theSynchR;
|
||||
G4UIcmdWithADouble* minGamSR;
|
||||
G4UIcmdWithAString* theGamN;
|
||||
G4UIcmdWithAString* theEleN;
|
||||
G4UIcmdWithAString* theMuoN;
|
||||
G4UIcmdWithAString* theTauN;
|
||||
G4UIcmdWithADouble* biasPhotoN;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,96 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QNeutrinoPhysics.hh,v 1.2 2009/11/16 19:12:10 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QNeutrinoPhysics
|
||||
//
|
||||
// Author: 2009 M. V. Kosov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4QNeutrinoPhysics_h
|
||||
#define G4QNeutrinoPhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4QMessenger.hh"
|
||||
|
||||
#include "G4QInelastic.hh"
|
||||
|
||||
#include "G4NeutrinoE.hh"
|
||||
#include "G4AntiNeutrinoE.hh"
|
||||
#include "G4NeutrinoMu.hh"
|
||||
#include "G4AntiNeutrinoMu.hh"
|
||||
#include "G4NeutrinoTau.hh"
|
||||
#include "G4AntiNeutrinoTau.hh"
|
||||
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
class G4QNeutrinoPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4QNeutrinoPhysics(const G4String& name = "CHIPS neutrino-nuclear");
|
||||
virtual ~G4QNeutrinoPhysics();
|
||||
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
G4String GetNuElNuclearOnOff() {return nuEleOn ? "on" : "off";}
|
||||
G4String GetNuMuNuclearOnOff() {return nuMuoOn ? "on" : "off";}
|
||||
G4String GetNuTauNuclearOnOff() {return nuTauOn ? "on" : "off";}
|
||||
|
||||
void SetNuElNuclearOnOff(G4String& aState);
|
||||
void SetNuMuNuclearOnOff(G4String& aState);
|
||||
void SetNuTauNuclearOnOff(G4String& aState);
|
||||
void SetNuNuclearBias(G4double newValue);
|
||||
|
||||
private:
|
||||
|
||||
void BuildNuEleNuclear();
|
||||
void BuildNuMuoNuclear();
|
||||
void BuildNuTauNuclear();
|
||||
|
||||
G4bool wasBuilt;
|
||||
G4bool nuEleActivated;
|
||||
G4bool nuMuoActivated;
|
||||
G4bool nuTauActivated;
|
||||
G4bool nuEleOn;
|
||||
G4bool nuMuoOn;
|
||||
G4bool nuTauOn;
|
||||
G4double nuNucBias; // Biasing factor for neutrino-nuclear processes
|
||||
|
||||
G4QInelastic* inelastic;
|
||||
G4QMessenger* theMessenger;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QNeutronBuilder
|
||||
//
|
||||
// Author: 2009 M. Kosov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// Short description: for possible use in QGSC_QGSC (not needed for QGSC_CHIPS)
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QNeutronBuilder_h
|
||||
#define G4QNeutronBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4NeutronInelasticProcess.hh"
|
||||
#include "G4QInelastic.hh"
|
||||
#include "G4QDiscProcessMixer.hh"
|
||||
#include "G4VNeutronBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class G4QNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4QNeutronBuilder();
|
||||
virtual ~G4QNeutronBuilder();
|
||||
|
||||
public:
|
||||
void Build();
|
||||
void RegisterMe(G4VNeutronBuilder * aB) {theModelCollections.push_back(aB);}
|
||||
|
||||
private:
|
||||
G4QDiscProcessMixer* theProcessMixer;
|
||||
std::vector<G4VNeutronBuilder *> theModelCollections;
|
||||
G4NeutronInelasticProcess* theNeutronInelastic;
|
||||
G4QInelastic* theCHIPSInelastic;
|
||||
|
||||
G4bool wasActivated;
|
||||
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4QPhotoNuclearPhysics.hh,v 1.2 2009/11/16 19:12:10 mkossov Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QPhotoNuclearPhysics
|
||||
//
|
||||
// Author: 2009 M. V. Kosov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
#ifndef G4QPhotoNuclearPhysics_h
|
||||
#define G4QPhotoNuclearPhysics_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4QMessenger.hh"
|
||||
|
||||
#include "G4QSynchRad.hh"
|
||||
#include "G4QInelastic.hh"
|
||||
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Positron.hh"
|
||||
#include "G4MuonPlus.hh"
|
||||
#include "G4MuonMinus.hh"
|
||||
#include "G4TauPlus.hh"
|
||||
#include "G4TauMinus.hh"
|
||||
#include "G4MesonConstructor.hh"
|
||||
#include "G4BaryonConstructor.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
|
||||
class G4QPhotoNuclearPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4QPhotoNuclearPhysics(const G4String& name = "CHIPS photo-nuclear");
|
||||
virtual ~G4QPhotoNuclearPhysics();
|
||||
|
||||
void ConstructParticle();
|
||||
void ConstructProcess();
|
||||
|
||||
G4String GetSynchRadOnOff() {return synchrOn ? "on" : "off";}
|
||||
G4String GetGammaNuclearOnOff() {return gamNucOn ? "on" : "off";}
|
||||
G4String GetElPosNuclearOnOff() {return eleNucOn ? "on" : "off";}
|
||||
G4String GetMuonNuclearOnOff() {return muoNucOn ? "on" : "off";}
|
||||
G4String GetTauNuclearOnOff() {return tauNucOn ? "on" : "off";}
|
||||
|
||||
void SetSynchRadOnOff(G4String& aSwitch);
|
||||
void SetGammaNuclearOnOff(G4String& aSwitch);
|
||||
void SetElPosNuclearOnOff(G4String& aSwitch);
|
||||
void SetMuonNuclearOnOff(G4String& aSwitch);
|
||||
void SetTauNuclearOnOff(G4String& aSwitch);
|
||||
void SetMinGammaSR(G4double newValue);
|
||||
void SetPhotoNucBias(G4double newValue);
|
||||
|
||||
private:
|
||||
|
||||
void BuildSynchRad();
|
||||
void BuildGammaNuclear();
|
||||
void BuildElectroNuclear();
|
||||
void BuildMuonNuclear();
|
||||
void BuildTauNuclear();
|
||||
|
||||
G4bool wasBuilt; // Flag of forbidden reactivation of processes
|
||||
G4bool SynchRActivated; // Flag of finished activation of SynchroRadiation
|
||||
G4bool GamNucActivated; // Flag of finished activation of gamma-nuclear
|
||||
G4bool EleNucActivated; // Flag of finished activation of electron-nuclear
|
||||
G4bool MuoNucActivated; // Flag of finished activation of muon-nuclear
|
||||
G4bool TauNucActivated; // Flag of finished activation of tau-nuclear
|
||||
G4bool synchrOn; // Switch flag for Synchrotron Radiation process
|
||||
G4double synchrMinGam; // MinimumGamma for SynchrotronRadiation activation
|
||||
G4bool gamNucOn; // Switch flag for the gamma-nuclear process
|
||||
G4bool eleNucOn; // Switch flag for the electron-nuclear process
|
||||
G4bool muoNucOn; // Switch flag for the electron-nuclear process
|
||||
G4bool tauNucOn; // Switch flag for the electron-nuclear process
|
||||
G4double photoNucBias; // Biasing factor for photo-nuclear processes
|
||||
|
||||
G4QInelastic* inelastic;
|
||||
G4QSynchRad* synchrad;
|
||||
G4QMessenger* theMessenger;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4QProtonBuilder
|
||||
//
|
||||
// Author: 2009 M. Kosov
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// Short description: for G4QDiscProcessMixer use in the QGSC_CHIPS physics list
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4QProtonBuilder_h
|
||||
#define G4QProtonBuilder_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
#include "G4ProtonInelasticProcess.hh"
|
||||
#include "G4QInelastic.hh"
|
||||
#include "G4QDiscProcessMixer.hh"
|
||||
#include "G4VProtonBuilder.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
#include <vector>
|
||||
|
||||
class G4QProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4QProtonBuilder();
|
||||
virtual ~G4QProtonBuilder();
|
||||
|
||||
public:
|
||||
void Build();
|
||||
void RegisterMe(G4VProtonBuilder * aB) {theModelCollections.push_back(aB);}
|
||||
|
||||
private:
|
||||
G4QDiscProcessMixer* theProcessMixer;
|
||||
std::vector<G4VProtonBuilder *> theModelCollections;
|
||||
G4ProtonInelasticProcess* theProtonInelastic;
|
||||
G4QInelastic* theCHIPSInelastic;
|
||||
|
||||
G4bool wasActivated;
|
||||
};
|
||||
|
||||
// 2009 by M. Kosov
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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: G4VHadronModelBuilder.hh,v 1.1 2009/10/04 16:29:54 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4VHadronModelBuilder
|
||||
//
|
||||
// Author: 28 June 2009 V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4VHadronModelBuilder_h
|
||||
#define G4VHadronModelBuilder_h 1
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VHadronModelBuilder
|
||||
{
|
||||
public:
|
||||
|
||||
G4VHadronModelBuilder(const G4String& name ="");
|
||||
|
||||
virtual ~G4VHadronModelBuilder();
|
||||
|
||||
G4HadronicInteraction* GetModel();
|
||||
|
||||
inline const G4String& GetName() const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual G4HadronicInteraction* BuildModel() = 0;
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4VHadronModelBuilder(G4VHadronModelBuilder &);
|
||||
G4VHadronModelBuilder & operator=(const G4VHadronModelBuilder &right);
|
||||
|
||||
G4HadronicInteraction* model;
|
||||
G4String name;
|
||||
};
|
||||
|
||||
inline const G4String& G4VHadronModelBuilder::GetName() const
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,6 +23,21 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VNeutronBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: G4VNeutronBuilder
|
||||
//
|
||||
// Author: 2002 J.P. Wellisch
|
||||
//
|
||||
// Modified:
|
||||
// 21.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
// 30.03.2009 V.Ivanchenko move constructor and destructor to source
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
#ifndef G4VNeutronBuilder_h
|
||||
#define G4VNeutronBuilder_h
|
||||
|
||||
@@ -33,13 +48,13 @@ class G4NeutronInelasticProcess;
|
||||
|
||||
class G4VNeutronBuilder
|
||||
{
|
||||
public:
|
||||
G4VNeutronBuilder() {}
|
||||
virtual ~G4VNeutronBuilder() {}
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4HadronFissionProcess * aP) = 0;
|
||||
virtual void Build(G4HadronCaptureProcess * aP) = 0;
|
||||
virtual void Build(G4NeutronInelasticProcess * aP) = 0;
|
||||
public:
|
||||
G4VNeutronBuilder();
|
||||
virtual ~G4VNeutronBuilder();
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4HadronFissionProcess * aP) = 0;
|
||||
virtual void Build(G4HadronCaptureProcess * aP) = 0;
|
||||
virtual void Build(G4NeutronInelasticProcess * aP) = 0;
|
||||
};
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VPiKBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VPiKBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -34,6 +34,7 @@
|
||||
//
|
||||
// Modified:
|
||||
// 16.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
// 30.03.2009 V.Ivanchenko move constructor and destructor to source
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -50,16 +51,16 @@
|
||||
|
||||
class G4VPiKBuilder
|
||||
{
|
||||
public:
|
||||
G4VPiKBuilder() {}
|
||||
virtual ~G4VPiKBuilder() {}
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP) = 0;
|
||||
public:
|
||||
G4VPiKBuilder();
|
||||
virtual ~G4VPiKBuilder();
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4PionPlusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4PionMinusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonPlusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonMinusInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonZeroLInelasticProcess * aP) = 0;
|
||||
virtual void Build(G4KaonZeroSInelasticProcess * aP) = 0;
|
||||
};
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VProtonBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
// $Id: G4VProtonBuilder.hh,v 1.2 2009/03/31 11:04:01 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-09-03 $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -34,6 +34,7 @@
|
||||
//
|
||||
// Modified:
|
||||
// 21.11.2005 G.Folger: don't keep processes as data members, but new these
|
||||
// 30.03.2009 V.Ivanchenko move constructor and destructor to source
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
@@ -45,11 +46,11 @@ class G4HadronElasticProcess;
|
||||
|
||||
class G4VProtonBuilder
|
||||
{
|
||||
public:
|
||||
G4VProtonBuilder() {}
|
||||
virtual ~G4VProtonBuilder() {}
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4ProtonInelasticProcess * aP) = 0;
|
||||
public:
|
||||
G4VProtonBuilder();
|
||||
virtual ~G4VProtonBuilder();
|
||||
virtual void Build(G4HadronElasticProcess * aP) = 0;
|
||||
virtual void Build(G4ProtonInelasticProcess * aP) = 0;
|
||||
};
|
||||
// 2002 by J.P. Wellisch
|
||||
|
||||
|
||||
@@ -26,60 +26,17 @@
|
||||
#ifndef G4WarnPLStatus_hh
|
||||
#define G4WarnPLStatus_hh
|
||||
|
||||
#include "G4String.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4WarnPLStatus
|
||||
{
|
||||
public:
|
||||
G4WarnPLStatus();
|
||||
~G4WarnPLStatus();
|
||||
|
||||
void Replaced(const G4String aPL, const G4String Replacement) const ;
|
||||
void Unsupported(const G4String aPL, const G4String Replacement ="") const ;
|
||||
void Experimental(const G4String aPL) const ;
|
||||
};
|
||||
|
||||
inline
|
||||
G4WarnPLStatus::G4WarnPLStatus()
|
||||
{}
|
||||
|
||||
inline
|
||||
void G4WarnPLStatus::Unsupported(const G4String aPL, const G4String Replacement) const
|
||||
{
|
||||
G4cout <<
|
||||
"*=====================================================================" <<G4endl <<
|
||||
"* " <<G4endl <<
|
||||
"* The Physics list "<<aPL<<" is NO LONGER SUPPORTED ! " <<G4endl <<
|
||||
"* and is likely to be deleted in a future release of Geant4 " <<G4endl <<
|
||||
"* " <<G4endl;
|
||||
if (Replacement.size() > 0)
|
||||
{
|
||||
G4cout <<
|
||||
"* We recommend you try the physics lists "<<Replacement<< "," <<G4endl <<
|
||||
"* this offers similar functionality for most use cases " <<G4endl <<
|
||||
"* " <<G4endl;
|
||||
|
||||
}
|
||||
G4cout <<
|
||||
"* " <<G4endl <<
|
||||
"* We invite you to report your use case for, and your experience with" <<G4endl <<
|
||||
"* this physics list on the Geant4 User Forum dedicated to physics " <<G4endl <<
|
||||
"* lists: " <<G4endl <<
|
||||
"* http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/phys-list.html"<<G4endl <<
|
||||
"* " <<G4endl <<
|
||||
"*=====================================================================*" <<G4endl<<
|
||||
G4endl;
|
||||
}
|
||||
void G4WarnPLStatus::Experimental(const G4String aPL) const
|
||||
{
|
||||
G4cout <<
|
||||
"*=====================================================================" <<G4endl <<
|
||||
"* " <<G4endl <<
|
||||
"* The Physics list "<<aPL<<" is an experimental physics list ! " <<G4endl <<
|
||||
"* " <<G4endl <<
|
||||
"* Please report your use case for, and your experience with this " <<G4endl <<
|
||||
"* physics list on the Geant4 User Forum dedicated to physics lists: " <<G4endl <<
|
||||
"* http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/phys-list.html"<<G4endl <<
|
||||
"* " <<G4endl <<
|
||||
"*=====================================================================*" <<G4endl<<
|
||||
G4endl;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user