Import Geant4 10.5.0.beta source tree
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user