Import Geant4 10.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-10 11:51:14 +02:00
parent e2d2f9810a
commit 286caacf06
12421 changed files with 730077 additions and 502383 deletions
@@ -0,0 +1,54 @@
//
// ********************************************************************
// * 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: ElectronActionInitialization.hh 70266 2013-05-28 12:57:34Z jjacquem $
//
/// \file ElectronActionInitialization.hh
/// \brief Definition of the ElectronActionInitialization class
#ifndef ElectronActionInitialization_h
#define ElectronActionInitialization_h 1
#include "G4VUserActionInitialization.hh"
/// Action initialization class.
///
class ElectronActionInitialization : public G4VUserActionInitialization
{
public:
ElectronActionInitialization(const G4String&);
virtual ~ElectronActionInitialization();
virtual void BuildForMaster() const;
virtual void Build() const;
private:
G4String fOutputFileSpec;
};
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronBenchmarkDetector.hh 76691 2013-11-14 08:46:02Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronBenchmarkDetector.hh
/// \brief Definition of the ElectronBenchmarkDetector class
//
#ifndef ElectronBenchmarkDetector_h
#define ElectronBenchmarkDetector_h 1
@@ -33,25 +34,32 @@
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "G4ThreeVector.hh"
#include "G4Cache.hh"
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4MultiFunctionalDetector;
class G4Material;
class G4VisAttributes;
class ElectronBenchmarkDetectorMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
{
public:
public:
ElectronBenchmarkDetector();
virtual ~ElectronBenchmarkDetector();
virtual G4VPhysicalVolume* Construct();
// Sensitive Detector
void ConstructSDandField();
// Material Definition
void DefineMaterials();
// Geometry Definition
G4VPhysicalVolume* CreateWorld();
void CreateExitWindow(G4LogicalVolume* logicWorld);
@@ -61,15 +69,12 @@ class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
void CreateScorer(G4LogicalVolume* logicWorld);
G4VPhysicalVolume* CreateGeometry();
void UpdateGeometry();
// Scorer Activation
void ActivateScorer();
// Command Interface
void SetPrimFoilMaterial(G4String matname);
void SetPrimFoilThickness(G4double thicknessPrimFoil);
private:
private:
// Exit Window
G4double fPosWindow0;
G4double fPosWindow1;
@@ -105,7 +110,12 @@ class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
G4double fRadDelta;
// World volume
G4LogicalVolume* fLogWorld;
G4LogicalVolume* fLogWorld;
// SensitiveDetector
// G4Cache mechanism is necessary for multi-threaded operation
// as it allows us to store separate detector pointer per thread
const G4Cache<G4MultiFunctionalDetector*> fSensitiveDetectorCache;
// Messenger
ElectronBenchmarkDetectorMessenger* fMessenger;
@@ -121,4 +131,6 @@ class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
G4VisAttributes* fScorerVisAtt;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronBenchmarkDetectorMessenger.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronBenchmarkDetectorMessenger.hh
/// \brief Definition of the ElectronBenchmarkDetectorMessenger class
//
#ifndef ELECTRONBENCHMARKDETECTORMESSENGER_HH
#define ELECTRONBENCHMARKDETECTORMESSENGER_HH 1
@@ -38,6 +39,8 @@ class G4UIdirectory;
class G4UIcmdWithAString;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronBenchmarkDetectorMessenger: public G4UImessenger {
public:
@@ -54,12 +57,6 @@ private:
G4UIcmdWithADoubleAndUnit* fPrimFoilThickCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronEventAction.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronEventAction.hh
/// \brief Definition of the ElectronEventAction class
//
#ifndef ElectronEventAction_h
#define ElectronEventAction_h 1
@@ -33,6 +34,8 @@
#include "G4UserEventAction.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronEventAction : public G4UserEventAction
{
public:
@@ -43,6 +46,6 @@ class ElectronEventAction : public G4UserEventAction
virtual void BeginOfEventAction(const G4Event*);
};
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronPrimaryGeneratorAction.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronPrimaryGeneratorAction.hh
/// \brief Definition of the ElectronPrimaryGeneratorAction class
//
#ifndef ElectronPrimaryGeneratorAction_h
#define ElectronPrimaryGeneratorAction_h 1
@@ -35,17 +36,20 @@
class G4GeneralParticleSource;
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
ElectronPrimaryGeneratorAction();
public:
ElectronPrimaryGeneratorAction();
virtual ~ElectronPrimaryGeneratorAction();
virtual void GeneratePrimaries(G4Event*);
virtual void GeneratePrimaries(G4Event*);
private:
G4GeneralParticleSource* fParticleGun;
private:
G4GeneralParticleSource* fParticleGun;
};
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronRun.hh 75702 2013-11-05 13:08:48Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronRun.hh
/// \brief Definition of the ElectronRun class
//
#ifndef ELECTRONRUN_HH
#define ELECTRONRUN_HH
@@ -37,21 +38,26 @@
class G4Event;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronRun : public G4Run {
public:
ElectronRun(const G4String& detectorName);
virtual ~ElectronRun();
virtual void RecordEvent(const G4Event*);
void DumpData(G4String&) const;
ElectronRun();
virtual ~ElectronRun();
virtual void RecordEvent(const G4Event*);
virtual void Merge(const G4Run*);
void DumpData(G4String&) const;
private:
void Print(const std::vector<G4String>& title,
const std::map< G4int, std::vector<G4double> >&out,
G4String&) const;
std::map<G4int, G4THitsMap<G4double>* > fMap;
void Print(const std::vector<G4String>& title,
const std::map< G4int, std::vector<G4double> >&out,
G4String&) const;
std::map<G4int, G4THitsMap<G4double>* > fMap;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,9 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: ElectronRunAction.hh 75702 2013-11-05 13:08:48Z gcosmo $
//
/// \file medical/electronScattering2/include/ElectronRunAction.hh
/// \brief Definition of the ElectronRunAction class
//
#ifndef ELECTRONRUNACTION_HH
#define ELECTRONRUNACTION_HH
@@ -35,20 +36,22 @@
class G4Run;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class ElectronRunAction : public G4UserRunAction {
public:
ElectronRunAction(G4String&);
ElectronRunAction(const G4String&);
virtual ~ElectronRunAction();
virtual G4Run* GenerateRun();
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
private:
G4String fOutputFileSpec;
};
#endif
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandard.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysListEmStandard.hh
/// \brief Definition of the PhysListEmStandard class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmStandard_h
#define PhysListEmStandard_h 1
@@ -57,11 +54,3 @@ public:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandardGS.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysListEmStandardGS.hh
/// \brief Definition of the PhysListEmStandardGS class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmStandardGS_h
#define PhysListEmStandardGS_h 1
@@ -57,11 +54,3 @@ public:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandardSS.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysListEmStandardSS.hh
/// \brief Definition of the PhysListEmStandardSS class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmStandardSS_h
#define PhysListEmStandardSS_h 1
@@ -57,11 +54,3 @@ public:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,14 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandardWVI.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysListEmStandardWVI.hh
/// \brief Definition of the PhysListEmStandardWVI class
//
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysListEmStandardWVI_h
#define PhysListEmStandardWVI_h 1
@@ -42,27 +38,19 @@
class PhysListEmStandardWVI : public G4VPhysicsConstructor
{
public:
public:
PhysListEmStandardWVI(const G4String& name = "standardWVI");
virtual ~PhysListEmStandardWVI();
// This method is dummy for physics
virtual void ConstructParticle() {};
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
// registered to the process manager of each particle type
virtual void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysicsList_h
#define PhysicsList_h 1
@@ -76,4 +73,3 @@ private:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef PhysicsListMessenger_h
#define PhysicsListMessenger_h 1
@@ -66,4 +63,3 @@ class PhysicsListMessenger: public G4UImessenger
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMax.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMax_h
#define StepMax_h 1
@@ -45,29 +42,28 @@ class StepMaxMessenger;
class StepMax : public G4VDiscreteProcess
{
public:
StepMax(const G4String& processName ="UserStepMax");
virtual ~StepMax();
virtual G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
G4double GetMaxStep() {return fMaxChargedStep;};
virtual G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
private:
G4double fMaxChargedStep;
StepMaxMessenger* fMess;
public:
StepMax(const G4String& processName ="UserStepMax");
virtual ~StepMax();
virtual G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
G4double GetMaxStep() {return fMaxChargedStep;};
virtual G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
private:
G4double fMaxChargedStep;
StepMaxMessenger* fMess;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,13 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.hh 70325 2013-05-29 08:06:02Z gcosmo $
//
/// \file medical/electronScattering2/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMaxMessenger_h
#define StepMaxMessenger_h 1