Import Geant4 11.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2024-06-28 13:08:51 +02:00
parent f7b23877ed
commit e58e650b32
5232 changed files with 239416 additions and 244360 deletions
@@ -51,5 +51,3 @@ class ActionInitialization : public G4VUserActionInitialization
};
#endif
@@ -32,11 +32,11 @@
#ifndef DetectorConstruction_h
#define DetectorConstruction_h 1
#include "CLHEP/Units/SystemOfUnits.h"
#include "G4VUserDetectorConstruction.hh"
#include "globals.hh"
#include "CLHEP/Units/SystemOfUnits.h"
class G4Box;
class G4LogicalVolume;
class G4VPhysicalVolume;
@@ -48,41 +48,40 @@ class DetectorMessenger;
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
DetectorConstruction();
~DetectorConstruction() override;
DetectorConstruction();
~DetectorConstruction() override;
public:
G4VPhysicalVolume* Construct() override;
void SetAbsorberMaterial (const G4String&);
void SetAbsorberMaterial(const G4String&);
void SetAbsorberThickness(G4double);
void SetGapMaterial (const G4String&);
void SetGapMaterial(const G4String&);
void SetGapThickness(G4double);
void SetCalorSizeYZ(G4double);
void SetNbOfLayers (G4int);
void SetNbOfLayers(G4int);
void PrintCalorParameters();
G4double GetWorldSizeX() { return fWorldSizeX; }
G4double GetWorldSizeX() { return fWorldSizeX; }
G4double GetWorldSizeYZ() { return fWorldSizeYZ; }
G4double GetCalorThickness() { return fCalorThickness; }
G4double GetCalorSizeYZ() { return fCalorSizeYZ; }
G4double GetCalorSizeYZ() { return fCalorSizeYZ; }
G4int GetNbOfLayers() { return fNbOfLayers; }
G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; }
G4double GetAbsorberThickness() { return fAbsorberThickness; }
G4Material* GetAbsorberMaterial() { return fAbsorberMaterial; }
G4double GetAbsorberThickness() { return fAbsorberThickness; }
G4Material* GetGapMaterial() { return fGapMaterial; }
G4double GetGapThickness() { return fGapThickness; }
G4Material* GetGapMaterial() { return fGapMaterial; }
G4double GetGapThickness() { return fGapThickness; }
const G4VPhysicalVolume* GetphysiWorld() { return fPhysiWorld; }
const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; }
const G4VPhysicalVolume* GetGap() { return fPhysiGap; }
const G4VPhysicalVolume* GetAbsorber() { return fPhysiAbsorber; }
const G4VPhysicalVolume* GetGap() { return fPhysiGap; }
private:
void DefineMaterials();
@@ -93,37 +92,37 @@ class DetectorConstruction : public G4VUserDetectorConstruction
G4Material* fGapMaterial = nullptr;
G4Material* fDefaultMaterial = nullptr;
G4int fNbOfLayers = 10;
G4double fAbsorberThickness = 10.*CLHEP::mm;
G4double fGapThickness = 5.*CLHEP::mm;
G4double fCalorSizeYZ = 10.*CLHEP::cm;
G4int fNbOfLayers = 10;
G4double fAbsorberThickness = 10. * CLHEP::mm;
G4double fGapThickness = 5. * CLHEP::mm;
G4double fCalorSizeYZ = 10. * CLHEP::cm;
G4double fCalorThickness = 0.; // will be computed
G4double fLayerThickness= 0.; // will be computed
G4double fWorldSizeYZ = 0.; // will be computed;
G4double fWorldSizeX = 0.; // will be computed;
G4double fCalorThickness = 0.; // will be computed
G4double fLayerThickness = 0.; // will be computed
G4double fWorldSizeYZ = 0.; // will be computed;
G4double fWorldSizeX = 0.; // will be computed;
G4Box* fSolidWorld = nullptr; //pointer to the solid World
G4LogicalVolume* fLogicWorld = nullptr; //pointer to the logical World
G4VPhysicalVolume* fPhysiWorld = nullptr; //pointer to the physical World
G4Box* fSolidWorld = nullptr; // pointer to the solid World
G4LogicalVolume* fLogicWorld = nullptr; // pointer to the logical World
G4VPhysicalVolume* fPhysiWorld = nullptr; // pointer to the physical World
G4Box* fSolidCalor = nullptr; //pointer to the solid Calor
G4LogicalVolume* fLogicCalor = nullptr; //pointer to the logical Calor
G4VPhysicalVolume* fPhysiCalor = nullptr; //pointer to the physical Calor
G4Box* fSolidCalor = nullptr; // pointer to the solid Calor
G4LogicalVolume* fLogicCalor = nullptr; // pointer to the logical Calor
G4VPhysicalVolume* fPhysiCalor = nullptr; // pointer to the physical Calor
G4Box* fSolidLayer = nullptr; //pointer to the solid Layer
G4LogicalVolume* fLogicLayer = nullptr; //pointer to the logical Layer
G4VPhysicalVolume* fPhysiLayer = nullptr; //pointer to the physical Layer
G4Box* fSolidLayer = nullptr; // pointer to the solid Layer
G4LogicalVolume* fLogicLayer = nullptr; // pointer to the logical Layer
G4VPhysicalVolume* fPhysiLayer = nullptr; // pointer to the physical Layer
G4Box* fSolidAbsorber = nullptr; //pointer to the solid Absorber
G4LogicalVolume* fLogicAbsorber = nullptr; //pointer to the logical Absorber
G4VPhysicalVolume* fPhysiAbsorber = nullptr; //pointer to the physical Absorber
G4Box* fSolidAbsorber = nullptr; // pointer to the solid Absorber
G4LogicalVolume* fLogicAbsorber = nullptr; // pointer to the logical Absorber
G4VPhysicalVolume* fPhysiAbsorber = nullptr; // pointer to the physical Absorber
G4Box* fSolidGap = nullptr; //pointer to the solid Gap
G4LogicalVolume* fLogicGap = nullptr; //pointer to the logical Gap
G4VPhysicalVolume* fPhysiGap = nullptr; //pointer to the physical Gap
G4Box* fSolidGap = nullptr; // pointer to the solid Gap
G4LogicalVolume* fLogicGap = nullptr; // pointer to the logical Gap
G4VPhysicalVolume* fPhysiGap = nullptr; // pointer to the physical Gap
DetectorMessenger* fDetectorMessenger = nullptr; //pointer to the Messenger
DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -131,13 +130,13 @@ class DetectorConstruction : public G4VUserDetectorConstruction
inline void DetectorConstruction::ComputeCalorParameters()
{
// Compute derived parameters of the calorimeter
fLayerThickness = fAbsorberThickness + fGapThickness;
fCalorThickness = fNbOfLayers*fLayerThickness;
fLayerThickness = fAbsorberThickness + fGapThickness;
fCalorThickness = fNbOfLayers * fLayerThickness;
fWorldSizeX = 1.2*fCalorThickness; fWorldSizeYZ = 1.2*fCalorSizeYZ;
fWorldSizeX = 1.2 * fCalorThickness;
fWorldSizeYZ = 1.2 * fCalorSizeYZ;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -32,8 +32,8 @@
#ifndef DetectorMessenger_h
#define DetectorMessenger_h 1
#include "globals.hh"
#include "G4UImessenger.hh"
#include "globals.hh"
class DetectorConstruction;
class G4UIdirectory;
@@ -43,10 +43,10 @@ class G4UIcmdWithADoubleAndUnit;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class DetectorMessenger: public G4UImessenger
class DetectorMessenger : public G4UImessenger
{
public:
DetectorMessenger(DetectorConstruction* );
DetectorMessenger(DetectorConstruction*);
~DetectorMessenger() override;
void SetNewValue(G4UIcommand*, G4String) override;
@@ -54,13 +54,13 @@ class DetectorMessenger: public G4UImessenger
private:
DetectorConstruction* fDetector = nullptr;
G4UIdirectory* fDetDir = nullptr;
G4UIcmdWithAString* fAbsMaterCmd = nullptr;
G4UIcmdWithAString* fGapMaterCmd = nullptr;
G4UIdirectory* fDetDir = nullptr;
G4UIcmdWithAString* fAbsMaterCmd = nullptr;
G4UIcmdWithAString* fGapMaterCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fGapThickCmd = nullptr;
G4UIcmdWithADoubleAndUnit* fSizeYZCmd = nullptr;
G4UIcmdWithAnInteger* fNbLayersCmd = nullptr;
G4UIcmdWithAnInteger* fNbLayersCmd = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -46,30 +46,36 @@ class HistoManager;
class EventAction : public G4UserEventAction
{
public:
EventAction(RunAction*, HistoManager*);
~EventAction() override;
public:
EventAction(RunAction*, HistoManager*);
~EventAction() override;
void BeginOfEventAction(const G4Event*) override;
void EndOfEventAction(const G4Event*) override;
void BeginOfEventAction(const G4Event*) override;
void EndOfEventAction(const G4Event*) override;
void AddAbs(G4double de, G4double dl) {fEnergyAbs += de; fTrackLAbs += dl;};
void AddGap(G4double de, G4double dl) {fEnergyGap += de; fTrackLGap += dl;};
void AddAbs(G4double de, G4double dl)
{
fEnergyAbs += de;
fTrackLAbs += dl;
};
void AddGap(G4double de, G4double dl)
{
fEnergyGap += de;
fTrackLGap += dl;
};
private:
RunAction* fRunAct = nullptr;
HistoManager* fHistoManager = nullptr;
private:
RunAction* fRunAct = nullptr;
HistoManager* fHistoManager = nullptr;
G4double fEnergyAbs = 0.;
G4double fEnergyGap = 0;
G4double fTrackLAbs = 0;
G4double fTrackLGap = 0;
G4double fEnergyAbs = 0.;
G4double fEnergyGap = 0;
G4double fTrackLAbs = 0;
G4double fTrackLGap = 0;
G4int fPrintModulo = 100;
G4int fPrintModulo = 100;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -43,19 +43,17 @@ class DetectorConstruction;
class PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
{
public:
PrimaryGeneratorAction(DetectorConstruction*);
~PrimaryGeneratorAction() override;
public:
PrimaryGeneratorAction(DetectorConstruction*);
~PrimaryGeneratorAction() override;
void GeneratePrimaries(G4Event*) override;
void GeneratePrimaries(G4Event*) override;
private:
G4ParticleGun* fParticleGun = nullptr; //pointer a to G4 class
DetectorConstruction* fDetector = nullptr; //pointer to the geometry
private:
G4ParticleGun* fParticleGun = nullptr; // pointer a to G4 class
DetectorConstruction* fDetector = nullptr; // pointer to the geometry
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -36,8 +36,8 @@
#ifndef RunAction_h
#define RunAction_h 1
#include "G4UserRunAction.hh"
#include "G4Accumulable.hh"
#include "G4UserRunAction.hh"
#include "globals.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -47,30 +47,29 @@ class HistoManager;
class RunAction : public G4UserRunAction
{
public:
RunAction(HistoManager*);
~RunAction() override;
public:
RunAction(HistoManager*);
~RunAction() override;
void BeginOfRunAction(const G4Run*) override;
void EndOfRunAction(const G4Run*) override;
void BeginOfRunAction(const G4Run*) override;
void EndOfRunAction(const G4Run*) override;
void FillPerEvent(G4double, G4double, G4double, G4double);
void FillPerEvent(G4double, G4double, G4double, G4double);
private:
HistoManager* fHistoManager = nullptr;
private:
HistoManager* fHistoManager = nullptr;
G4Accumulable<G4double> fSumEAbs = 0.;
G4Accumulable<G4double> fSum2EAbs = 0.;
G4Accumulable<G4double> fSumEGap = 0.;
G4Accumulable<G4double> fSum2EGap = 0.;
G4Accumulable<G4double> fSumEAbs = 0.;
G4Accumulable<G4double> fSum2EAbs = 0.;
G4Accumulable<G4double> fSumEGap = 0.;
G4Accumulable<G4double> fSum2EGap = 0.;
G4Accumulable<G4double> fSumLAbs = 0.;
G4Accumulable<G4double> fSum2LAbs = 0.;
G4Accumulable<G4double> fSumLGap = 0.;
G4Accumulable<G4double> fSum2LGap = 0.;
G4Accumulable<G4double> fSumLAbs = 0.;
G4Accumulable<G4double> fSum2LAbs = 0.;
G4Accumulable<G4double> fSumLGap = 0.;
G4Accumulable<G4double> fSum2LGap = 0.;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -41,15 +41,15 @@ class EventAction;
class SteppingAction : public G4UserSteppingAction
{
public:
SteppingAction(DetectorConstruction*, EventAction*);
~SteppingAction() override;
public:
SteppingAction(DetectorConstruction*, EventAction*);
~SteppingAction() override;
void UserSteppingAction(const G4Step*) override;
void UserSteppingAction(const G4Step*) override;
private:
DetectorConstruction* fDetector = nullptr;
EventAction* fEventAction = nullptr;
private:
DetectorConstruction* fDetector = nullptr;
EventAction* fEventAction = nullptr;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......