Import Geant4 11.0.0.beta source tree
This commit is contained in:
@@ -42,7 +42,7 @@ class DetectorConstruction;
|
||||
class ActionInitialization : public G4VUserActionInitialization
|
||||
{
|
||||
public:
|
||||
ActionInitialization(DetectorConstruction*);
|
||||
explicit ActionInitialization(DetectorConstruction*);
|
||||
virtual ~ActionInitialization();
|
||||
|
||||
virtual void BuildForMaster() const;
|
||||
|
||||
@@ -44,73 +44,73 @@ class CellParameterisation : public G4VPVParameterisation
|
||||
{
|
||||
public:
|
||||
|
||||
CellParameterisation
|
||||
explicit CellParameterisation
|
||||
(G4Material* nucleus1, G4Material* cytoplasm1,
|
||||
G4Material* nucleus2, G4Material* cytoplasm2,
|
||||
G4Material* nucleus3, G4Material* cytoplasm3
|
||||
);
|
||||
|
||||
virtual ~CellParameterisation();
|
||||
~CellParameterisation() override;
|
||||
|
||||
void ComputeTransformation (const G4int copyNo,G4VPhysicalVolume* physVol) const;
|
||||
void ComputeTransformation (const G4int copyNo,G4VPhysicalVolume* physVol) const override;
|
||||
|
||||
void ComputeDimensions(G4Box&,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume* ) const;
|
||||
const G4VPhysicalVolume* ) const override;
|
||||
|
||||
void ComputeDimensions(G4Tubs &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override {}
|
||||
|
||||
void ComputeDimensions(G4Trd &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override {}
|
||||
|
||||
void ComputeDimensions(G4Trap &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override {}
|
||||
|
||||
void ComputeDimensions(G4Cons &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Sphere &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Ellipsoid &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Orb &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Torus &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Para &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Polycone &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Polyhedra &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
void ComputeDimensions(G4Hype &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const {}
|
||||
const G4VPhysicalVolume *) const override{}
|
||||
|
||||
G4int GetNoBoxes() const {return fPhantomTotalPixels;}
|
||||
|
||||
G4Material* ComputeMaterial(const G4int copyNo,
|
||||
G4VPhysicalVolume* physVol,
|
||||
const G4VTouchable*);
|
||||
const G4VTouchable*) override;
|
||||
|
||||
// NEW
|
||||
|
||||
@@ -136,7 +136,8 @@ class CellParameterisation : public G4VPVParameterisation
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
static CellParameterisation* gInstance;
|
||||
|
||||
G4Material * fNucleusMaterial1;
|
||||
G4Material * fCytoplasmMaterial1;
|
||||
G4Material * fNucleusMaterial2;
|
||||
@@ -152,24 +153,20 @@ class CellParameterisation : public G4VPVParameterisation
|
||||
G4VisAttributes * fCytoplasmAttributes3;
|
||||
|
||||
G4ThreeVector * fMapCell; // VOXEL COORDINATES
|
||||
|
||||
G4double * fMaterial; // MATERIAL
|
||||
G4double * fMass; // DENSITY REGION
|
||||
G4int * fTissueType; // DENSITY REGION
|
||||
|
||||
G4int fPhantomTotalPixels;
|
||||
G4int fNucleusTotalPixels;
|
||||
G4int fCytoplasmTotalPixels;
|
||||
|
||||
G4double fDimCellBoxX;
|
||||
G4double fDimCellBoxY;
|
||||
G4double fDimCellBoxZ;
|
||||
G4double fNucleusMass;
|
||||
G4double fCytoplasmMass;
|
||||
|
||||
static CellParameterisation* gInstance;
|
||||
|
||||
G4int * fTissueType; // DENSITY REGION
|
||||
G4int fPhantomTotalPixels;
|
||||
G4int fNucleusTotalPixels;
|
||||
G4int fCytoplasmTotalPixels;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
#ifndef DetectorConstruction_h
|
||||
#define DetectorConstruction_h 1
|
||||
|
||||
#include "CellParameterisation.hh"
|
||||
#include "EMField.hh"
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "G4Box.hh"
|
||||
#include "G4Cons.hh"
|
||||
@@ -42,27 +44,24 @@
|
||||
#include "G4PVPlacement.hh"
|
||||
#include "G4UserLimits.hh"
|
||||
#include "G4PVParameterised.hh"
|
||||
#include "CellParameterisation.hh"
|
||||
|
||||
#include "EMField.hh"
|
||||
#include "G4EqMagElectricField.hh"
|
||||
#include "G4PropagatorInField.hh"
|
||||
#include "G4TransportationManager.hh"
|
||||
#include "G4ChordFinder.hh"
|
||||
#include "G4ClassicalRK4.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class DetectorConstruction : public G4VUserDetectorConstruction
|
||||
{
|
||||
public:
|
||||
|
||||
DetectorConstruction();
|
||||
virtual ~DetectorConstruction();
|
||||
explicit DetectorConstruction();
|
||||
~DetectorConstruction() override;
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
G4VPhysicalVolume* Construct() override;
|
||||
|
||||
virtual void ConstructSDandField();
|
||||
void DefineMaterials();
|
||||
|
||||
void ConstructSDandField() override;
|
||||
|
||||
void SetMassNucleus(G4double mN) {fMassNucleus = mN;}
|
||||
G4double GetMassNucleus() const {return fMassNucleus;}
|
||||
@@ -88,30 +87,14 @@ public:
|
||||
|
||||
const CellParameterisation * GetCellParameterisation() const
|
||||
{return fMyCellParameterisation;};
|
||||
|
||||
G4VPhysicalVolume* ConstructLine();
|
||||
|
||||
private:
|
||||
|
||||
G4double fMassNucleus;
|
||||
G4double fMassCytoplasm;
|
||||
|
||||
G4double fDensityPhantom;
|
||||
G4double fDensityNucleus;
|
||||
G4double fDensityCytoplasm;
|
||||
G4int fNbOfPixelsInPhantom;
|
||||
|
||||
G4double fWorldSizeXY;
|
||||
G4double fWorldSizeZ;
|
||||
G4double fCollObjSizeXY;
|
||||
G4double fCollObjSizeZ;
|
||||
|
||||
G4double fCiblePositionX;
|
||||
G4double fCiblePositionY;
|
||||
G4double fCiblePositionZ;
|
||||
|
||||
G4double fLineAngle;
|
||||
|
||||
// Materials
|
||||
|
||||
CellParameterisation * fMyCellParameterisation;
|
||||
|
||||
// Materials
|
||||
G4Material* fDefaultMaterial;
|
||||
G4Material* fCollimatorMaterial;
|
||||
G4Material* fBoiteMaterial;
|
||||
@@ -127,7 +110,7 @@ private:
|
||||
G4Material* fCytoplasmMaterial2;
|
||||
G4Material* fNucleusMaterial3;
|
||||
G4Material* fCytoplasmMaterial3;
|
||||
|
||||
|
||||
// Volumes
|
||||
|
||||
G4VPhysicalVolume* fPhysiWorld;
|
||||
@@ -208,15 +191,25 @@ private:
|
||||
G4LogicalVolume* fLogicPhantom;
|
||||
G4Box* fSolidPhantom;
|
||||
|
||||
CellParameterisation * fMyCellParameterisation;
|
||||
|
||||
// EM FIELD
|
||||
|
||||
static G4ThreadLocal EMField * fField;
|
||||
|
||||
void DefineMaterials();
|
||||
G4VPhysicalVolume* ConstructLine();
|
||||
G4double fMassNucleus;
|
||||
G4double fMassCytoplasm;
|
||||
|
||||
G4double fDensityPhantom;
|
||||
G4double fDensityNucleus;
|
||||
G4double fDensityCytoplasm;
|
||||
|
||||
G4double fWorldSizeXY;
|
||||
G4double fWorldSizeZ;
|
||||
G4double fCollObjSizeXY;
|
||||
G4double fCollObjSizeZ;
|
||||
|
||||
G4double fCiblePositionX;
|
||||
G4double fCiblePositionY;
|
||||
G4double fCiblePositionZ;
|
||||
|
||||
G4double fLineAngle;
|
||||
|
||||
G4int fNbOfPixelsInPhantom;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -46,11 +46,10 @@ class EMField
|
||||
{
|
||||
public:
|
||||
|
||||
EMField();
|
||||
explicit EMField();
|
||||
|
||||
void GetFieldValue( const double Point[4], double *Bfield ) const;
|
||||
|
||||
G4bool DoesFieldChangeEnergy() const {return true;}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -40,23 +40,18 @@
|
||||
|
||||
class RunAction;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class EventAction : public G4UserEventAction
|
||||
{
|
||||
public:
|
||||
|
||||
EventAction(RunAction*);
|
||||
virtual ~EventAction();
|
||||
explicit EventAction(RunAction*);
|
||||
~EventAction() override;
|
||||
|
||||
virtual void BeginOfEventAction(const G4Event*);
|
||||
virtual void EndOfEventAction(const G4Event*);
|
||||
void BeginOfEventAction(const G4Event*) override;
|
||||
void EndOfEventAction(const G4Event*) override;
|
||||
|
||||
private:
|
||||
|
||||
private:
|
||||
RunAction* fRun;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -37,22 +37,20 @@
|
||||
|
||||
#include "G4VModularPhysicsList.hh"
|
||||
|
||||
class PhysicsListMessenger;
|
||||
class G4VPhysicsConstructor;
|
||||
class G4StepLimiter;
|
||||
class PhysicsListMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysicsList: public G4VModularPhysicsList
|
||||
{
|
||||
public:
|
||||
|
||||
PhysicsList();
|
||||
virtual ~PhysicsList();
|
||||
explicit PhysicsList();
|
||||
~PhysicsList() override;
|
||||
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle()override;
|
||||
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess()override;
|
||||
|
||||
void AddPhysicsList(const G4String& name);
|
||||
|
||||
@@ -60,7 +58,6 @@ public:
|
||||
G4StepLimiter* GetStepMaxProcess() {return fStepMaxProcess;};
|
||||
|
||||
private:
|
||||
|
||||
G4String fEmName;
|
||||
G4VPhysicsConstructor* fEmPhysicsList;
|
||||
G4VPhysicsConstructor* fDecPhysicsList;
|
||||
@@ -69,6 +66,5 @@ private:
|
||||
|
||||
PhysicsListMessenger* fMessenger;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -27,9 +27,6 @@
|
||||
/// \brief Definition of the PhysicsListMessenger class
|
||||
//
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef PhysicsListMessenger_h
|
||||
#define PhysicsListMessenger_h 1
|
||||
|
||||
@@ -41,16 +38,14 @@ class G4UIdirectory;
|
||||
class G4UIcmdWithAString;
|
||||
class G4UIcmdWithADoubleAndUnit;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class PhysicsListMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
|
||||
PhysicsListMessenger(PhysicsList* );
|
||||
explicit PhysicsListMessenger(PhysicsList* );
|
||||
~PhysicsListMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
void SetNewValue(G4UIcommand*, G4String) override;
|
||||
|
||||
inline G4double GetMaxChargedStep() const { return fMaxChargedStep; }
|
||||
|
||||
@@ -63,8 +58,5 @@ private:
|
||||
G4UIcmdWithADoubleAndUnit* fStepMaxCmd;
|
||||
G4double fMaxChargedStep;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -40,20 +40,17 @@
|
||||
|
||||
class G4Event;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
PrimaryGeneratorAction();
|
||||
virtual ~PrimaryGeneratorAction();
|
||||
explicit PrimaryGeneratorAction();
|
||||
~PrimaryGeneratorAction() override;
|
||||
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
void GeneratePrimaries(G4Event*) override;
|
||||
|
||||
private:
|
||||
G4ParticleGun* fParticleGun;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -31,28 +31,25 @@
|
||||
//
|
||||
// If you use this example, please cite the following publication:
|
||||
// Rad. Prot. Dos. 133 (2009) 2-11
|
||||
|
||||
//
|
||||
#ifndef RunAction_h
|
||||
#define RunAction_h 1
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
#include "G4UserRunAction.hh"
|
||||
//#include "G4ThreeVector.hh"
|
||||
|
||||
#include "DetectorConstruction.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class G4Run;
|
||||
|
||||
class RunAction : public G4UserRunAction
|
||||
{
|
||||
public:
|
||||
|
||||
RunAction(const DetectorConstruction*);
|
||||
virtual ~RunAction();
|
||||
explicit RunAction(const DetectorConstruction*);
|
||||
~RunAction() override;
|
||||
|
||||
virtual void BeginOfRunAction(const G4Run*);
|
||||
virtual void EndOfRunAction(const G4Run*);
|
||||
void BeginOfRunAction(const G4Run*) override;
|
||||
void EndOfRunAction(const G4Run*) override;
|
||||
|
||||
void SetRndmFreq(G4int val) {fSaveRndm = val;}
|
||||
G4int GetRndmFreq() const {return fSaveRndm;}
|
||||
@@ -86,19 +83,17 @@ private:
|
||||
|
||||
const DetectorConstruction* fDetector;
|
||||
|
||||
G4int fSaveRndm;
|
||||
G4int fNumEvent;
|
||||
G4int fNbOfPixels;
|
||||
G4int fNbOfHitsGas;
|
||||
|
||||
G4ThreeVector * fMapVoxels;
|
||||
|
||||
G4double fDoseN;
|
||||
G4double fDoseC;
|
||||
G4double fMassCytoplasm;
|
||||
G4double fMassNucleus;
|
||||
G4double * fDose3DDose;
|
||||
|
||||
G4ThreeVector * fMapVoxels;
|
||||
|
||||
G4int fSaveRndm;
|
||||
G4int fNumEvent;
|
||||
G4int fNbOfPixels;
|
||||
G4int fNbOfHitsGas;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,10 +23,15 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// This example is provided by the Geant4-DNA collaboration
|
||||
// Any report or published results obtained using the Geant4-DNA software
|
||||
// shall cite the following Geant4-DNA collaboration publication:
|
||||
// Med. Phys. 37 (2010) 4692-4708
|
||||
// The Geant4-DNA web site is available at http://geant4-dna.org
|
||||
//
|
||||
// If you use this example, please cite the following publication:
|
||||
// Rad. Prot. Dos. 133 (2009) 2-11
|
||||
//
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#ifndef StepMax_h
|
||||
#define StepMax_h 1
|
||||
|
||||
@@ -37,28 +42,26 @@
|
||||
|
||||
class PhysicsListMessenger;
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class StepMax : public G4VEmProcess
|
||||
{
|
||||
public:
|
||||
|
||||
StepMax(PhysicsListMessenger* mess);
|
||||
virtual ~StepMax();
|
||||
explicit StepMax(PhysicsListMessenger* mess);
|
||||
~StepMax() override;
|
||||
|
||||
virtual G4bool IsApplicable(const G4ParticleDefinition&);
|
||||
G4bool IsApplicable(const G4ParticleDefinition&) override;
|
||||
|
||||
virtual void PreparePhysicsTable(const G4ParticleDefinition&);
|
||||
void PreparePhysicsTable(const G4ParticleDefinition&)override;
|
||||
|
||||
virtual void BuildPhysicsTable(const G4ParticleDefinition&);
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&)override;
|
||||
|
||||
virtual void InitialiseProcess(const G4ParticleDefinition*);
|
||||
void InitialiseProcess(const G4ParticleDefinition*)override;
|
||||
|
||||
virtual G4double PostStepGetPhysicalInteractionLength(const G4Track& track,
|
||||
G4double PostStepGetPhysicalInteractionLength(const G4Track& track,
|
||||
G4double previousStep,
|
||||
G4ForceCondition* cond);
|
||||
G4ForceCondition* cond)override;
|
||||
|
||||
virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
|
||||
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -67,8 +70,5 @@ private:
|
||||
G4double fMaxChargedStep;
|
||||
G4bool isInitialised;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -40,23 +40,19 @@
|
||||
#include "RunAction.hh"
|
||||
#include "DetectorConstruction.hh"
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
|
||||
|
||||
class SteppingAction : public G4UserSteppingAction
|
||||
{
|
||||
public:
|
||||
SteppingAction(RunAction* ,const DetectorConstruction*);
|
||||
virtual ~SteppingAction();
|
||||
explicit SteppingAction(RunAction* ,const DetectorConstruction*);
|
||||
~SteppingAction() override;
|
||||
|
||||
virtual void UserSteppingAction(const G4Step*);
|
||||
void UserSteppingAction(const G4Step*)override;
|
||||
|
||||
private:
|
||||
RunAction* fRun;
|
||||
const DetectorConstruction* fDetector;
|
||||
const CellParameterisation * fMyCellParameterisation;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user