Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronBenchmarkDetector.hh
/// \brief Definition of the ElectronBenchmarkDetector class
//
#ifndef ElectronBenchmarkDetector_h
#define ElectronBenchmarkDetector_h 1
@@ -42,7 +45,7 @@ class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
public:
ElectronBenchmarkDetector();
~ElectronBenchmarkDetector();
virtual ~ElectronBenchmarkDetector();
virtual G4VPhysicalVolume* Construct();
@@ -108,14 +111,14 @@ class ElectronBenchmarkDetector : public G4VUserDetectorConstruction
ElectronBenchmarkDetectorMessenger* fMessenger;
// Visualization Attributes
G4VisAttributes* worldVisAtt;
G4VisAttributes* windowVisAtt;
G4VisAttributes* primFoilVisAtt;
G4VisAttributes* monVisAtt;
G4VisAttributes* bagVisAtt;
G4VisAttributes* heliumVisAtt;
G4VisAttributes* ringVisAtt;
G4VisAttributes* scorerVisAtt;
G4VisAttributes* fWorldVisAtt;
G4VisAttributes* fWindowVisAtt;
G4VisAttributes* fPrimFoilVisAtt;
G4VisAttributes* fMonVisAtt;
G4VisAttributes* fBagVisAtt;
G4VisAttributes* fHeliumVisAtt;
G4VisAttributes* fRingVisAtt;
G4VisAttributes* fScorerVisAtt;
};
#endif
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronBenchmarkDetectorMessenger.hh
/// \brief Definition of the ElectronBenchmarkDetectorMessenger class
//
#ifndef ELECTRONBENCHMARKDETECTORMESSENGER_HH
#define ELECTRONBENCHMARKDETECTORMESSENGER_HH 1
@@ -38,19 +41,17 @@ class G4UIcmdWithADoubleAndUnit;
class ElectronBenchmarkDetectorMessenger: public G4UImessenger {
public:
ElectronBenchmarkDetectorMessenger(ElectronBenchmarkDetector* det);
~ElectronBenchmarkDetectorMessenger();
virtual ~ElectronBenchmarkDetectorMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
ElectronBenchmarkDetector* detector;
G4UIdirectory* listDir;
G4UIcmdWithAString* primFoilMatCmd;
G4UIcmdWithADoubleAndUnit* primFoilThickCmd;
ElectronBenchmarkDetector* fDetector;
G4UIdirectory* fListDir;
G4UIcmdWithAString* fPrimFoilMatCmd;
G4UIcmdWithADoubleAndUnit* fPrimFoilThickCmd;
};
#endif
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronEventAction.hh
/// \brief Definition of the ElectronEventAction class
//
#ifndef ElectronEventAction_h
#define ElectronEventAction_h 1
@@ -34,10 +37,10 @@ class ElectronEventAction : public G4UserEventAction
{
public:
ElectronEventAction();
~ElectronEventAction();
virtual ~ElectronEventAction();
public:
void BeginOfEventAction(const G4Event*);
virtual void BeginOfEventAction(const G4Event*);
};
#endif
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronPrimaryGeneratorAction.hh
/// \brief Definition of the ElectronPrimaryGeneratorAction class
//
#ifndef ElectronPrimaryGeneratorAction_h
#define ElectronPrimaryGeneratorAction_h 1
@@ -36,14 +39,12 @@ class ElectronPrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
ElectronPrimaryGeneratorAction();
~ElectronPrimaryGeneratorAction();
virtual ~ElectronPrimaryGeneratorAction();
public:
void GeneratePrimaries(G4Event*);
virtual void GeneratePrimaries(G4Event*);
private:
G4GeneralParticleSource* particleGun;
G4GeneralParticleSource* fParticleGun;
};
#endif
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronRun.hh
/// \brief Definition of the ElectronRun class
//
#ifndef ELECTRONRUN_HH
#define ELECTRONRUN_HH
@@ -37,23 +40,18 @@ class G4Event;
class ElectronRun : public G4Run {
public:
ElectronRun(const G4String& detectorName);
virtual ~ElectronRun();
public:
virtual void RecordEvent(const G4Event*);
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;
};
#endif
@@ -23,6 +23,9 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/ElectronRunAction.hh
/// \brief Definition of the ElectronRunAction class
//
#ifndef ELECTRONRUNACTION_HH
#define ELECTRONRUNACTION_HH
@@ -35,18 +38,16 @@ class G4Run;
class ElectronRunAction : public G4UserRunAction {
public:
ElectronRunAction(G4String&);
virtual ~ElectronRunAction();
virtual G4Run* GenerateRun();
void BeginOfRunAction(const G4Run*);
void EndOfRunAction(const G4Run*);
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
private:
G4String outputFileSpec;
G4String fOutputFileSpec;
};
#endif
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandard.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/PhysListEmStandard.hh
/// \brief Definition of the PhysListEmStandard class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,14 +45,13 @@ public:
PhysListEmStandard(const G4String& name = "standard");
virtual ~PhysListEmStandard();
public:
// This method is dummy for physics
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
void ConstructProcess();
virtual void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandardGS.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/PhysListEmStandardGS.hh
/// \brief Definition of the PhysListEmStandardGS class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,14 +45,13 @@ public:
PhysListEmStandardGS(const G4String& name = "standardGS");
virtual ~PhysListEmStandardGS();
public:
// This method is dummy for physics
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
void ConstructProcess();
virtual void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysListEmStandardSS.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/PhysListEmStandardSS.hh
/// \brief Definition of the PhysListEmStandardSS class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,14 +45,13 @@ public:
PhysListEmStandardSS(const G4String& name = "standardSS");
virtual ~PhysListEmStandardSS();
public:
// This method is dummy for physics
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
void ConstructProcess();
virtual void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,9 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file medical/electronScattering2/include/PhysListEmStandardWVI.hh
/// \brief Definition of the PhysListEmStandardWVI class
//
// $Id: PhysListEmStandardWVI.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -42,16 +44,15 @@ class PhysListEmStandardWVI : public G4VPhysicsConstructor
{
public:
PhysListEmStandardWVI(const G4String& name = "standardWVI");
~PhysListEmStandardWVI();
virtual ~PhysListEmStandardWVI();
public:
// This method is dummy for physics
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
void ConstructProcess();
virtual void ConstructProcess();
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsList.hh,v 1.2 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -46,29 +48,29 @@ public:
PhysicsList();
virtual ~PhysicsList();
void ConstructParticle();
virtual void ConstructParticle();
void AddPhysicsList(const G4String& name);
void ConstructProcess();
virtual void ConstructProcess();
void AddDecay();
void AddStepMax();
void SetCuts();
virtual void SetCuts();
void SetCutForGamma(G4double);
void SetCutForElectron(G4double);
void SetCutForPositron(G4double);
private:
PhysicsListMessenger* pMessenger;
PhysicsListMessenger* fMessenger;
G4String emName;
G4VPhysicsConstructor* emPhysicsList;
G4String fEmName;
G4VPhysicsConstructor* fEmPhysicsList;
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
G4double fCutForGamma;
G4double fCutForElectron;
G4double fCutForPositron;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: PhysicsListMessenger.hh,v 1.3 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -45,22 +47,20 @@ class G4UIcmdWithADoubleAndUnit;
class PhysicsListMessenger: public G4UImessenger
{
public:
PhysicsListMessenger(PhysicsList* );
~PhysicsListMessenger();
virtual ~PhysicsListMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
PhysicsList* pPhysicsList;
PhysicsList* fPhysicsList;
G4UIdirectory* physDir;
G4UIcmdWithAString* pListCmd;
G4UIcmdWithADoubleAndUnit* gammaCutCmd;
G4UIcmdWithADoubleAndUnit* electCutCmd;
G4UIcmdWithADoubleAndUnit* protoCutCmd;
G4UIcmdWithADoubleAndUnit* allCutCmd;
G4UIdirectory* fPhysDir;
G4UIcmdWithAString* fPListCmd;
G4UIcmdWithADoubleAndUnit* fGammaCutCmd;
G4UIcmdWithADoubleAndUnit* fElectCutCmd;
G4UIcmdWithADoubleAndUnit* fProtoCutCmd;
G4UIcmdWithADoubleAndUnit* fAllCutCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMax.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -44,27 +46,25 @@ class StepMaxMessenger;
class StepMax : public G4VDiscreteProcess
{
public:
StepMax(const G4String& processName ="UserStepMax");
~StepMax();
virtual ~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
virtual G4bool IsApplicable(const G4ParticleDefinition&);
void SetMaxStep(G4double);
G4double GetMaxStep() {return MaxChargedStep;};
G4double GetMaxStep() {return fMaxChargedStep;};
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
virtual G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
virtual G4double GetMeanFreePath(const G4Track&, G4double, G4ForceCondition*)
{return 0.;}; // it is not needed here !
private:
G4double MaxChargedStep;
StepMaxMessenger* pMess;
G4double fMaxChargedStep;
StepMaxMessenger* fMess;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,8 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: StepMaxMessenger.hh,v 1.1 2011-01-05 18:48:54 vnivanch Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
/// \file medical/electronScattering2/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -44,13 +46,13 @@ class StepMaxMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
virtual ~StepMaxMessenger();
void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* pStepMax;
G4UIcmdWithADoubleAndUnit* StepMaxCmd;
StepMax* fStepMax;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......