Import Geant4 8.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 14:55:03 +02:00
parent 216a75eeb1
commit fe73f43734
6714 changed files with 118229 additions and 68144 deletions
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:57:29 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:57:31 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: EventAction.hh,v 1.2 2006/06/29 16:57:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:57:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,76 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListBinaryCascade.hh,v 1.6 2006/06/29 16:57:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// The class provides PhysicsList for Binary Cascade for
// protons and neutrons with the energy E<3 GeV
//
// 14.10.02 created by V.Ivanchenko
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListBinaryCascade_h
#define PhysListBinaryCascade_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
#include "G4ProtonInelasticProcess.hh"
#include "G4NeutronInelasticProcess.hh"
#include "G4ProtonInelasticCrossSection.hh"
#include "G4NeutronInelasticCrossSection.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListBinaryCascade : public G4VPhysicsConstructor
{
public:
PhysListBinaryCascade(const G4String& name = "binary");
virtual ~PhysListBinaryCascade();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
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
void ConstructProcess();
private:
G4ProtonInelasticProcess theIPproton;
G4NeutronInelasticProcess theIPneutron;
G4ProtonInelasticCrossSection thePXSec;
G4NeutronInelasticCrossSection theNXSec;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -24,28 +24,28 @@
// ********************************************************************
//
//
// $Id: PhysListEmG4v52.hh,v 1.2 2006/06/29 16:57:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: PhysListEmLivermore.hh,v 1.1 2006/11/22 18:56:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmG4v52_h
#define PhysListEmG4v52_h 1
#ifndef PhysListEmLivermore_h
#define PhysListEmLivermore_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListEmG4v52 : public G4VPhysicsConstructor
class PhysListEmLivermore : public G4VPhysicsConstructor
{
public:
PhysListEmG4v52(const G4String& name = "g4v52");
~PhysListEmG4v52();
PhysListEmLivermore(const G4String& name = "Livermore");
~PhysListEmLivermore();
public:
// This method is dummy for physics.
// This method is dummy for physics
void ConstructParticle() {};
// This method will be invoked in the Construct() method.
@@ -24,25 +24,25 @@
// ********************************************************************
//
//
// $Id: PhysListEmG4v71.hh,v 1.2 2006/06/29 16:57:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: PhysListEmPenelope.hh,v 1.1 2006/11/22 18:56:21 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmG4v71_h
#define PhysListEmG4v71_h 1
#ifndef PhysListEmPenelope_h
#define PhysListEmPenelope_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListEmG4v71 : public G4VPhysicsConstructor
class PhysListEmPenelope : public G4VPhysicsConstructor
{
public:
PhysListEmG4v71(const G4String& name = "g4v71");
~PhysListEmG4v71();
PhysListEmPenelope(const G4String& name = "Penelope");
~PhysListEmPenelope();
public:
// This method is dummy for physics
@@ -25,7 +25,7 @@
//
//
// $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 16:57:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,45 +23,34 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: PhysListHadronElastic.hh,v 1.3 2006/06/29 16:57:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// The class provides PhysicsList for hadron elastic process
//
// 14.10.02 created by V.Ivanchenko
// $Id: PhysListEmStandardSS.hh,v 1.1 2006/10/24 11:37:56 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListHadronElastic_h
#define PhysListHadronElastic_h 1
#ifndef PhysListEmStandardSS_h
#define PhysListEmStandardSS_h 1
#include "G4VPhysicsConstructor.hh"
#include "G4HadronElasticProcess.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListHadronElastic : public G4VPhysicsConstructor
class PhysListEmStandardSS : public G4VPhysicsConstructor
{
public:
PhysListHadronElastic(const G4String& name = "elastic");
virtual ~PhysListHadronElastic();
public:
PhysListEmStandardSS(const G4String& name = "standardSS");
virtual ~PhysListEmStandardSS();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
void ConstructParticle() {};
public:
// This method is dummy for physics
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
void ConstructProcess();
private:
// Elastic Process
G4HadronElasticProcess theElasticProcess;
// 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
void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -1,74 +0,0 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListIonBinaryCascade.hh,v 1.4 2006/06/29 16:57:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
//
// 18.11.03 created by V.Ivanchenko
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListIonBinaryCascade_h
#define PhysListIonBinaryCascade_h 1
#include "G4VPhysicsConstructor.hh"
#include "globals.hh"
#include "G4DeuteronInelasticProcess.hh"
#include "G4TritonInelasticProcess.hh"
#include "G4AlphaInelasticProcess.hh"
class G4HadronInelasticProcess;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysListIonBinaryCascade : public G4VPhysicsConstructor
{
public:
PhysListIonBinaryCascade(const G4String& name = "binary_ion");
virtual ~PhysListIonBinaryCascade();
public:
// This method will be invoked in the Construct() method.
// each particle type will be instantiated
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
void ConstructProcess();
private:
G4DeuteronInelasticProcess theIPdeuteron;
G4TritonInelasticProcess theIPtriton;
G4AlphaInelasticProcess theIPalpha;
G4HadronInelasticProcess* theIPGenericIon;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: PhysicsList.hh,v 1.5 2006/06/29 16:57:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: PhysicsList.hh,v 1.6 2006/11/22 18:56:21 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//
@@ -48,35 +48,39 @@ class PhysicsListMessenger;
class PhysicsList: public G4VModularPhysicsList
{
public:
PhysicsList();
~PhysicsList();
public:
PhysicsList();
virtual ~PhysicsList();
void ConstructParticle();
void ConstructParticle();
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
void AddPhysicsList(const G4String& name);
void ConstructProcess();
void AddPhysicsList(const G4String& name);
void ConstructProcess();
void AddStepMax();
StepMax* GetStepMaxProcess() {return stepMaxProcess;};
void AddStepMax();
StepMax* GetStepMaxProcess() {return stepMaxProcess;};
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
G4bool helIsRegisted;
G4bool bicIsRegisted;
G4bool biciIsRegisted;
G4String emName;
G4VPhysicsConstructor* emPhysicsList;
std::vector<G4VPhysicsConstructor*> hadronPhys;
G4String emName;
G4VPhysicsConstructor* emPhysicsList;
std::vector<G4VPhysicsConstructor*> hadronPhys;
StepMax* stepMaxProcess;
StepMax* stepMaxProcess;
PhysicsListMessenger* pMessenger;
PhysicsListMessenger* pMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:57:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:57:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:57:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: RunAction.hh,v 1.9 2006/06/29 16:57:59 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// $Id: RunAction.hh,v 1.10 2006/11/22 17:58:11 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -50,19 +50,19 @@ namespace AIDA {
class RunAction : public G4UserRunAction
{
public:
RunAction(DetectorConstruction*, PhysicsList*,PrimaryGeneratorAction*);
~RunAction();
public:
RunAction(DetectorConstruction*, PhysicsList*,PrimaryGeneratorAction*);
virtual ~RunAction();
public:
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
void FillTallyEdep(G4int n, G4double e) {tallyEdep[n] += e;};
void FillTallyEdep(G4int n, G4double e) {tallyEdep[n] += e;};
G4double GetBinLength() {return binLength;};
G4double GetOffsetX() {return offsetX;}
void FillHisto(G4int id, G4double x, G4double weight = 1.0);
G4double GetBinLength() {return binLength;};
G4double GetLength() {return length;};
G4double GetOffsetX() {return offsetX;}
void FillHisto(G4int id, G4double x, G4double weight = 1.0);
void AddProjRange (G4double x) {projRange += x; projRange2 += x*x;};
@@ -77,6 +77,7 @@ class RunAction : public G4UserRunAction
G4double* tallyEdep;
G4double binLength;
G4double offsetX;
G4double length;
G4double projRange, projRange2;
AIDA::IAnalysisFactory* af;
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: StepMax.hh,v 1.3 2006/06/29 16:58:01 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:58:03 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: SteppingAction.hh,v 1.2 2006/06/29 16:58:05 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:58:07 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: TrackingAction.hh,v 1.2 2006/06/29 16:58:09 gunter Exp $
// GEANT4 tag $Name: geant4-08-01 $
// GEANT4 tag $Name: geant4-08-02 $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......