Import Geant4 11.0.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2021-06-25 16:12:29 +02:00
parent c968e26a39
commit 6399a014b6
4200 changed files with 207479 additions and 237366 deletions
@@ -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
+17 -17
View File
@@ -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