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