Import Geant4 10.5.0.beta source tree
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
/// \file electromagnetic/TestEm5/include/DetectorConstruction.hh
|
||||
/// \brief Definition of the DetectorConstruction class
|
||||
//
|
||||
// $Id: DetectorConstruction.hh 98752 2016-08-09 13:44:40Z gcosmo $
|
||||
// $Id: DetectorConstruction.hh 109000 2018-03-21 09:25:56Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -51,79 +51,70 @@ class G4GlobalMagFieldMessenger;
|
||||
|
||||
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
DetectorConstruction();
|
||||
~DetectorConstruction();
|
||||
DetectorConstruction();
|
||||
~DetectorConstruction();
|
||||
|
||||
public:
|
||||
void SetAbsorberMaterial (const G4String&);
|
||||
void SetAbsorberThickness(G4double);
|
||||
void SetAbsorberSizeYZ (G4double);
|
||||
|
||||
void SetAbsorberMaterial (G4String);
|
||||
void SetAbsorberThickness(G4double);
|
||||
void SetAbsorberSizeYZ (G4double);
|
||||
void SetAbsorberXpos(G4double);
|
||||
|
||||
void SetAbsorberXpos(G4double);
|
||||
void SetWorldMaterial(const G4String&);
|
||||
void SetWorldSizeX (G4double);
|
||||
void SetWorldSizeYZ (G4double);
|
||||
|
||||
void SetWorldMaterial(G4String);
|
||||
void SetWorldSizeX (G4double);
|
||||
void SetWorldSizeYZ (G4double);
|
||||
void SetMagField(G4double);
|
||||
|
||||
void SetMagField(G4double);
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
void PrintGeomParameters();
|
||||
|
||||
public:
|
||||
const G4Material* GetAbsorberMaterial() const {return fAbsorberMaterial;};
|
||||
G4double GetAbsorberThickness() const {return fAbsorberThickness;};
|
||||
G4double GetAbsorberSizeYZ() const {return fAbsorberSizeYZ;};
|
||||
|
||||
void PrintCalorParameters();
|
||||
G4double GetAbsorberXpos() const {return fXposAbs;};
|
||||
G4double GetxstartAbs() const {return fXstartAbs;};
|
||||
G4double GetxendAbs() const {return fXendAbs;};
|
||||
|
||||
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;};
|
||||
G4double GetAbsorberThickness() {return fAbsorberThickness;};
|
||||
G4double GetAbsorberSizeYZ() {return fAbsorberSizeYZ;};
|
||||
const G4Material* GetWorldMaterial() const {return fWorldMaterial;};
|
||||
G4double GetWorldSizeX() const {return fWorldSizeX;};
|
||||
|
||||
G4double GetAbsorberXpos() {return fXposAbs;};
|
||||
G4double GetxstartAbs() {return fXstartAbs;};
|
||||
G4double GetxendAbs() {return fXendAbs;};
|
||||
const G4VPhysicalVolume* GetAbsorber() const {return fPhysiAbsorber;};
|
||||
|
||||
G4Material* GetWorldMaterial() {return fWorldMaterial;};
|
||||
G4double GetWorldSizeX() {return fWorldSizeX;};
|
||||
private:
|
||||
|
||||
const G4VPhysicalVolume* GetAbsorber() {return fPhysiAbsorber;};
|
||||
void DefineMaterials();
|
||||
void ComputeGeomParameters();
|
||||
void ChangeGeometry();
|
||||
|
||||
private:
|
||||
G4Material* fAbsorberMaterial;
|
||||
G4double fAbsorberThickness;
|
||||
G4double fAbsorberSizeYZ;
|
||||
|
||||
void ChangeGeometry();
|
||||
G4double fXposAbs;
|
||||
G4double fXstartAbs, fXendAbs;
|
||||
|
||||
G4Material* fAbsorberMaterial;
|
||||
G4double fAbsorberThickness;
|
||||
G4double fAbsorberSizeYZ;
|
||||
G4Material* fWorldMaterial;
|
||||
G4double fWorldSizeX;
|
||||
G4double fWorldSizeYZ;
|
||||
|
||||
G4double fXposAbs;
|
||||
G4double fXstartAbs, fXendAbs;
|
||||
G4bool fDefaultWorld;
|
||||
|
||||
G4Material* fWorldMaterial;
|
||||
G4double fWorldSizeX;
|
||||
G4double fWorldSizeYZ;
|
||||
G4Box* fSolidWorld;
|
||||
G4LogicalVolume* fLogicWorld;
|
||||
G4VPhysicalVolume* fPhysiWorld;
|
||||
|
||||
G4bool fDefaultWorld;
|
||||
|
||||
G4Box* fSolidWorld;
|
||||
G4LogicalVolume* fLogicWorld;
|
||||
G4VPhysicalVolume* fPhysiWorld;
|
||||
|
||||
G4Box* fSolidAbsorber;
|
||||
G4LogicalVolume* fLogicAbsorber;
|
||||
G4VPhysicalVolume* fPhysiAbsorber;
|
||||
G4Box* fSolidAbsorber;
|
||||
G4LogicalVolume* fLogicAbsorber;
|
||||
G4VPhysicalVolume* fPhysiAbsorber;
|
||||
|
||||
DetectorMessenger* fDetectorMessenger;
|
||||
G4Cache<G4GlobalMagFieldMessenger*> fFieldMessenger;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void DefineMaterials();
|
||||
void ComputeCalorParameters();
|
||||
G4VPhysicalVolume* ConstructCalorimeter();
|
||||
DetectorMessenger* fDetectorMessenger;
|
||||
G4Cache<G4GlobalMagFieldMessenger*> fFieldMessenger;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
+26
-19
@@ -23,39 +23,46 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file electromagnetic/TestEm5/include/PhysListEmStandardSSM.hh
|
||||
/// \brief Definition of the PhysListEmStandardSSM class
|
||||
//
|
||||
// $Id: PhysListEmStandardSSM.hh 98752 2016-08-09 13:44:40Z gcosmo $
|
||||
// $Id: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: PhysListEm19DStandard
|
||||
//
|
||||
// Author: Jose Luis Rodriguez 18.04.2018
|
||||
//
|
||||
// Modified:
|
||||
// 18.04.2018 Created from PhysListEm19DStandard
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of default EM standard physics which
|
||||
// 5D generator model for gamma conversion
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysListEmStandardSSM_h
|
||||
#define PhysListEmStandardSSM_h 1
|
||||
#ifndef PhysListEm19DStandard_h
|
||||
#define PhysListEm19DStandard_h 1
|
||||
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysListEmStandardSSM : public G4VPhysicsConstructor
|
||||
class PhysListEm19DStandard : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
PhysListEmStandardSSM(const G4String& name = "standardSSM");
|
||||
~PhysListEmStandardSSM();
|
||||
public:
|
||||
|
||||
public:
|
||||
// This method is dummy for physics
|
||||
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
|
||||
explicit PhysListEm19DStandard(G4int ver=0, const G4String& name="");
|
||||
|
||||
virtual ~PhysListEm19DStandard();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
+29
-21
@@ -23,36 +23,44 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
/// \file electromagnetic/TestEm5/include/StepMaxMessenger.hh
|
||||
/// \brief Definition of the StepMaxMessenger class
|
||||
//
|
||||
// $Id: StepMaxMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
|
||||
// $Id: $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// ClassName: PhysListEm5DStandard
|
||||
//
|
||||
// Author: IgS 07.11.2017
|
||||
//
|
||||
// Modified:
|
||||
// 17.11.2017 Created using PhysListEmStandard from V.Ivanchenko
|
||||
//----------------------------------------------------------------------------
|
||||
//
|
||||
// This class provides construction of default EM standard physics which
|
||||
// 5D generator model for gamma conversion
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef StepMaxMessenger_h
|
||||
#define StepMaxMessenger_h 1
|
||||
#ifndef PhysListEm5DStandard_h
|
||||
#define PhysListEm5DStandard_h 1
|
||||
|
||||
#include "G4UImessenger.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class StepMax;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class StepMaxMessenger: public G4UImessenger
|
||||
class PhysListEm5DStandard : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
StepMaxMessenger(StepMax*);
|
||||
~StepMaxMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
private:
|
||||
StepMax* fStepMax;
|
||||
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
|
||||
public:
|
||||
|
||||
explicit PhysListEm5DStandard(G4int ver=0, const G4String& name="");
|
||||
|
||||
virtual ~PhysListEm5DStandard();
|
||||
|
||||
virtual void ConstructParticle();
|
||||
virtual void ConstructProcess();
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file electromagnetic/TestEm5/include/PhysicsList.hh
|
||||
/// \brief Definition of the PhysicsList class
|
||||
//
|
||||
// $Id: PhysicsList.hh 94973 2016-01-12 10:13:56Z gcosmo $
|
||||
// $Id: PhysicsList.hh 109000 2018-03-21 09:25:56Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -53,7 +53,6 @@ public:
|
||||
void AddPhysicsList(const G4String& name);
|
||||
|
||||
virtual void ConstructProcess();
|
||||
void AddDecay();
|
||||
void AddStepMax();
|
||||
|
||||
private:
|
||||
@@ -62,6 +61,7 @@ private:
|
||||
|
||||
G4String fEmName;
|
||||
G4VPhysicsConstructor* fEmPhysicsList;
|
||||
G4VPhysicsConstructor* fDecayPhysics;
|
||||
G4VPhysicsConstructor* fHadPhysicsList;
|
||||
};
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/// \file electromagnetic/TestEm5/include/PhysicsListMessenger.hh
|
||||
/// \brief Definition of the PhysicsListMessenger class
|
||||
//
|
||||
// $Id: PhysicsListMessenger.hh 81528 2014-06-02 16:21:24Z vnivanch $
|
||||
// $Id: PhysicsListMessenger.hh 109000 2018-03-21 09:25:56Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -52,6 +52,8 @@ public:
|
||||
~PhysicsListMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
inline G4double GetMaxChargedStep() const { return fMaxChargedStep; }
|
||||
|
||||
private:
|
||||
|
||||
@@ -59,6 +61,8 @@ private:
|
||||
|
||||
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/TestEm5/include/StepMax.hh
|
||||
/// \brief Definition of the StepMax class
|
||||
//
|
||||
// $Id: StepMax.hh 66241 2012-12-13 18:34:42Z gunter $
|
||||
// $Id: StepMax.hh 109000 2018-03-21 09:25:56Z gcosmo $
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
@@ -35,38 +32,41 @@
|
||||
#define StepMax_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4VEmProcess.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4Step.hh"
|
||||
|
||||
class StepMaxMessenger;
|
||||
class PhysicsListMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class StepMax : public G4VDiscreteProcess
|
||||
class StepMax : public G4VEmProcess
|
||||
{
|
||||
public:
|
||||
public:
|
||||
|
||||
StepMax(const G4String& processName ="UserStepMax");
|
||||
~StepMax();
|
||||
StepMax(PhysicsListMessenger* mess);
|
||||
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 G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
|
||||
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
|
||||
virtual void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
virtual G4double GetMeanFreePath(const G4Track&,G4double,G4ForceCondition*)
|
||||
{return 0.;}; // it is not needed here !
|
||||
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
|
||||
private:
|
||||
virtual void InitialiseProcess(const G4ParticleDefinition*);
|
||||
|
||||
G4double fMaxChargedStep;
|
||||
StepMaxMessenger* fMess;
|
||||
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track,
|
||||
G4double previousStep,
|
||||
G4ForceCondition* cond);
|
||||
|
||||
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
|
||||
|
||||
private:
|
||||
|
||||
PhysicsListMessenger* fMessenger;
|
||||
|
||||
G4double fMaxChargedStep;
|
||||
G4bool isInitialised;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
Reference in New Issue
Block a user