Import Geant4 10.5.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2018-06-29 10:58:11 +02:00
parent fe81a77428
commit 6aa23be517
1581 changed files with 124288 additions and 83758 deletions
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm3/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id: DetectorConstruction.hh 98762 2016-08-09 14:08:07Z gcosmo $
// $Id: DetectorConstruction.hh 109096 2018-03-26 14:46:51Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -74,26 +74,29 @@ public:
void PrintCalorParameters();
G4double GetWorldSizeX() {return fWorldSizeX;};
G4double GetWorldSizeYZ() {return fWorldSizeYZ;};
G4double GetWorldSizeX() const {return fWorldSizeX;};
G4double GetWorldSizeYZ() const {return fWorldSizeYZ;};
G4double GetCalorThickness() {return fCalorThickness;};
G4double GetCalorSizeYZ() {return fCalorSizeYZ;};
G4double GetCalorThickness() const {return fCalorThickness;};
G4double GetCalorSizeYZ() const {return fCalorSizeYZ;};
G4int GetNbOfLayers() {return fNbOfLayers;};
G4int GetNbOfLayers() const {return fNbOfLayers;};
G4int GetNbOfAbsor() {return fNbOfAbsor;};
G4Material* GetAbsorMaterial(G4int i) {return fAbsorMaterial[i];};
G4double GetAbsorThickness(G4int i) {return fAbsorThickness[i];};
G4int GetNbOfAbsor() const {return fNbOfAbsor;};
G4double GetAbsorThickness(G4int i) const {return fAbsorThickness[i];};
const G4Material* GetAbsorMaterial(G4int i) const {return fAbsorMaterial[i];};
const G4VPhysicalVolume* GetphysiWorld() {return fPhysiWorld;};
const G4Material* GetWorldMaterial() {return fDefaultMaterial;};
const G4VPhysicalVolume* GetAbsorber(G4int i) {return fPhysiAbsor[i];};
const G4VPhysicalVolume* GetphysiWorld() const {return fPhysiWorld;};
const G4Material* GetWorldMaterial() const {return fWorldMaterial;};
const G4VPhysicalVolume* GetAbsorber(G4int i) const {return fPhysiAbsor[i];};
private:
void DefineMaterials();
void ComputeCalorParameters();
G4int fNbOfAbsor;
G4Material* fAbsorMaterial [kMaxAbsor];
G4Material* fAbsorMaterial[kMaxAbsor];
G4double fAbsorThickness[kMaxAbsor];
G4int fNbOfLayers;
@@ -102,7 +105,7 @@ private:
G4double fCalorSizeYZ;
G4double fCalorThickness;
G4Material* fDefaultMaterial;
G4Material* fWorldMaterial;
G4double fWorldSizeYZ;
G4double fWorldSizeX;
@@ -123,16 +126,9 @@ private:
G4VPhysicalVolume* fPhysiAbsor[kMaxAbsor];
DetectorMessenger* fDetectorMessenger;
G4Cache<G4GlobalMagFieldMessenger*> fFieldMessenger;
private:
void DefineMaterials();
void ComputeCalorParameters();
G4VPhysicalVolume* ConstructCalorimeter();
G4Cache<G4GlobalMagFieldMessenger*> fFieldMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm3/include/PhysicsList.hh
/// \file electromagnetic/TestEm5/include/PhysicsList.hh
/// \brief Definition of the PhysicsList class
//
// $Id: PhysicsList.hh 95227 2016-02-01 09:19:15Z gcosmo $
// $Id: PhysicsList.hh 109096 2018-03-26 14:46:51Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -37,35 +37,32 @@
#include "G4VModularPhysicsList.hh"
#include "globals.hh"
class StepMax;
class PhysicsListMessenger;
class G4VPhysicsConstructor;
class PhysicsListMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysicsList: public G4VModularPhysicsList
{
public:
PhysicsList();
~PhysicsList();
PhysicsList();
~PhysicsList();
virtual void ConstructParticle();
virtual void ConstructProcess();
virtual void ConstructParticle();
void AddPhysicsList(const G4String& name);
virtual void ConstructProcess();
void AddStepMax();
void AddPhysicsList(const G4String& name);
void AddDecay();
void AddRadioactiveDecay();
void AddStepMax();
private:
G4VPhysicsConstructor* fEmPhysicsList;
G4String fEmName;
StepMax* fStepMaxProcess;
PhysicsListMessenger* fMessenger;
PhysicsListMessenger* fMessenger;
G4String fEmName;
G4VPhysicsConstructor* fEmPhysicsList;
G4VPhysicsConstructor* fDecayPhysics;
G4VPhysicsConstructor* fHadPhysicsList;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,10 +23,10 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm3/include/PhysicsListMessenger.hh
/// \file electromagnetic/TestEm5/include/PhysicsListMessenger.hh
/// \brief Definition of the PhysicsListMessenger class
//
// $Id: PhysicsListMessenger.hh 82038 2014-06-10 07:58:08Z gcosmo $
// $Id: PhysicsListMessenger.hh 109096 2018-03-26 14:46:51Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -34,32 +34,35 @@
#ifndef PhysicsListMessenger_h
#define PhysicsListMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class PhysicsList;
class G4UIdirectory;
class G4UIcmdWithADoubleAndUnit;
class G4UIcmdWithAString;
class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class PhysicsListMessenger: public G4UImessenger
{
public:
public:
PhysicsListMessenger(PhysicsList* );
~PhysicsListMessenger();
PhysicsListMessenger(PhysicsList* );
~PhysicsListMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
inline G4double GetMaxChargedStep() const { return fMaxChargedStep; }
private:
private:
PhysicsList* fPhysicsList;
G4UIdirectory* fPhysDir;
G4UIcmdWithAString* fListCmd;
PhysicsList* fPhysicsList;
G4UIdirectory* fPhysDir;
G4UIcmdWithAString* fListCmd;
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
G4double fMaxChargedStep;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -23,10 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file electromagnetic/TestEm3/include/StepMax.hh
/// \brief Definition of the StepMax class
//
// $Id: StepMax.hh 98762 2016-08-09 14:08:07Z gcosmo $
// $Id: StepMax.hh 109096 2018-03-26 14:46:51Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -35,71 +32,44 @@
#define StepMax_h 1
#include "globals.hh"
#include "G4VDiscreteProcess.hh"
#include "G4VEmProcess.hh"
#include "G4ParticleDefinition.hh"
#include "G4Step.hh"
#include "DetectorConstruction.hh"
class StepMaxMessenger;
class PhysicsListMessenger;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMax : public G4VDiscreteProcess
class StepMax : public G4VEmProcess
{
public:
StepMax(const G4String& processName = "UserStepMax");
~StepMax();
StepMax(PhysicsListMessenger* mess);
virtual ~StepMax();
G4bool IsApplicable(const G4ParticleDefinition&);
virtual G4bool IsApplicable(const G4ParticleDefinition&);
void SetStepMax(G4int, G4double);
virtual void PreparePhysicsTable(const G4ParticleDefinition&);
G4double GetStepMax(G4int k) { return fStepMax[k];};
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
G4double PostStepGetPhysicalInteractionLength( const G4Track& track,
G4double previousStepSize,
G4ForceCondition* condition);
virtual void InitialiseProcess(const G4ParticleDefinition*);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track,
G4double previousStep,
G4ForceCondition* cond);
G4double GetMeanFreePath(const G4Track&, G4double,G4ForceCondition*)
{return DBL_MAX;};
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
private:
G4double fStepMax[kMaxAbsor];
StepMaxMessenger* fMess;
PhysicsListMessenger* fMessenger;
G4double fMaxChargedStep;
G4bool isInitialised;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
G4double StepMax::PostStepGetPhysicalInteractionLength( const G4Track& aTrack,
G4double, G4ForceCondition* condition)
{
// condition is set to "Not Forced"
*condition = NotForced;
G4double limit = DBL_MAX;
G4int n = aTrack.GetVolume()->GetCopyNo();
if (n < kMaxAbsor) limit = fStepMax[n];
return limit;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
inline
G4VParticleChange* StepMax::PostStepDoIt(const G4Track& aTrack, const G4Step&)
{
// do nothing
aParticleChange.Initialize(aTrack);
return &aParticleChange;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -1,63 +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. *
// ********************************************************************
//
/// \file electromagnetic/TestEm3/include/StepMaxMessenger.hh
/// \brief Definition of the StepMaxMessenger class
//
// $Id: StepMaxMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifndef StepMaxMessenger_h
#define StepMaxMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
class StepMax;
class G4UIdirectory;
class G4UIcommand;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class StepMaxMessenger: public G4UImessenger
{
public:
StepMaxMessenger(StepMax*);
~StepMaxMessenger();
void SetNewValue(G4UIcommand*, G4String);
private:
StepMax* fStepMax;
G4UIdirectory* fStepMaxDir;
G4UIcommand* fStepMaxCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif