Import Geant4 11.2.0 source tree
This commit is contained in:
@@ -48,15 +48,15 @@ class F03ActionInitialization : public G4VUserActionInitialization
|
||||
{
|
||||
public:
|
||||
F03ActionInitialization(F03DetectorConstruction*);
|
||||
virtual ~F03ActionInitialization();
|
||||
~F03ActionInitialization() override = default;
|
||||
|
||||
virtual void BuildForMaster() const;
|
||||
virtual void Build() const;
|
||||
void BuildForMaster() const override;
|
||||
void Build() const override;
|
||||
|
||||
virtual G4VSteppingVerbose* InitializeSteppingVerbose() const;
|
||||
G4VSteppingVerbose* InitializeSteppingVerbose() const override;
|
||||
|
||||
private:
|
||||
F03DetectorConstruction* fDetConstruction;
|
||||
F03DetectorConstruction* fDetConstruction = nullptr;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
@@ -45,9 +45,9 @@ class F03CalorHit : public G4VHit
|
||||
{
|
||||
public:
|
||||
|
||||
F03CalorHit();
|
||||
F03CalorHit() = default;
|
||||
F03CalorHit(const F03CalorHit&);
|
||||
virtual ~F03CalorHit();
|
||||
~F03CalorHit() override = default;
|
||||
|
||||
const F03CalorHit& operator=(const F03CalorHit&);
|
||||
G4bool operator==(const F03CalorHit&) const;
|
||||
@@ -55,7 +55,7 @@ class F03CalorHit : public G4VHit
|
||||
inline void* operator new(size_t);
|
||||
inline void operator delete(void*);
|
||||
|
||||
virtual void Print();
|
||||
void Print() override;
|
||||
|
||||
public:
|
||||
|
||||
@@ -71,14 +71,15 @@ class F03CalorHit : public G4VHit
|
||||
|
||||
private:
|
||||
|
||||
G4double fEdepAbs, fTrackLengthAbs;
|
||||
G4double fEdepGap, fTrackLengthGap;
|
||||
|
||||
G4double fEdepAbs = 0.;
|
||||
G4double fTrackLengthAbs = 0.;
|
||||
G4double fEdepGap = 0.;
|
||||
G4double fTrackLengthGap = 0.;
|
||||
};
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
typedef G4THitsCollection<F03CalorHit> F03CalorHitsCollection;
|
||||
using F03CalorHitsCollection = G4THitsCollection<F03CalorHit>;
|
||||
|
||||
extern G4ThreadLocal G4Allocator<F03CalorHit>* F03CalorHitAllocator;
|
||||
|
||||
|
||||
@@ -49,11 +49,11 @@ class F03CalorimeterSD : public G4VSensitiveDetector
|
||||
public:
|
||||
|
||||
F03CalorimeterSD(G4String, F03DetectorConstruction* );
|
||||
virtual ~F03CalorimeterSD();
|
||||
~F03CalorimeterSD() override;
|
||||
|
||||
virtual void Initialize(G4HCofThisEvent*);
|
||||
virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*);
|
||||
virtual void EndOfEvent(G4HCofThisEvent*);
|
||||
void Initialize(G4HCofThisEvent*) override;
|
||||
G4bool ProcessHits(G4Step*,G4TouchableHistory*) override;
|
||||
void EndOfEvent(G4HCofThisEvent*) override;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
#include "G4VUserDetectorConstruction.hh"
|
||||
#include "G4Cache.hh"
|
||||
|
||||
#include "CLHEP/Units/SystemOfUnits.h"
|
||||
|
||||
class G4Tubs;
|
||||
class G4LogicalVolume;
|
||||
class G4VPhysicalVolume;
|
||||
@@ -56,7 +58,7 @@ class F03DetectorConstruction : public G4VUserDetectorConstruction
|
||||
public:
|
||||
|
||||
F03DetectorConstruction();
|
||||
virtual ~F03DetectorConstruction();
|
||||
~F03DetectorConstruction() override;
|
||||
|
||||
public:
|
||||
|
||||
@@ -70,13 +72,13 @@ class F03DetectorConstruction : public G4VUserDetectorConstruction
|
||||
void SetWorldSizeZ(G4double);
|
||||
void SetWorldSizeR(G4double);
|
||||
|
||||
virtual G4VPhysicalVolume* Construct();
|
||||
virtual void ConstructSDandField();
|
||||
G4VPhysicalVolume* Construct() override;
|
||||
void ConstructSDandField() override;
|
||||
|
||||
public:
|
||||
|
||||
void PrintCalorParameters();
|
||||
|
||||
|
||||
G4Material* GetWorldMaterial() {return fWorldMaterial;}
|
||||
G4double GetWorldSizeZ() {return fWorldSizeZ;}
|
||||
G4double GetWorldSizeR() {return fWorldSizeR;}
|
||||
@@ -88,50 +90,51 @@ class F03DetectorConstruction : public G4VUserDetectorConstruction
|
||||
G4Material* GetAbsorberMaterial() {return fAbsorberMaterial;}
|
||||
G4double GetAbsorberThickness(){return fAbsorberThickness;}
|
||||
G4double GetAbsorberRadius() {return fAbsorberRadius;}
|
||||
|
||||
|
||||
const G4VPhysicalVolume* GetPhysiWorld() {return fPhysiWorld;}
|
||||
const G4VPhysicalVolume* GetAbsorber() {return fPhysiAbsorber;}
|
||||
G4LogicalVolume* GetLogicalAbsorber() {return fLogicAbsorber;}
|
||||
|
||||
private:
|
||||
F03DetectorMessenger* fDetectorMessenger; // pointer to the Messenger
|
||||
G4Cache<F03CalorimeterSD*> fCalorimeterSD; // pointer to the sensitive det.
|
||||
G4Cache<F03FieldSetup*> fEmFieldSetup;
|
||||
F03DetectorMessenger* fDetectorMessenger = nullptr; // pointer to the Messenger
|
||||
G4Cache<F03CalorimeterSD*> fCalorimeterSD = nullptr; // pointer to the sensitive det.
|
||||
G4Cache<F03FieldSetup*> fEmFieldSetup = nullptr;
|
||||
|
||||
G4Tubs* fSolidWorld; // pointer to the solid World
|
||||
G4LogicalVolume* fLogicWorld; // pointer to the logical World
|
||||
G4VPhysicalVolume* fPhysiWorld; // pointer to the physical World
|
||||
G4Tubs* fSolidWorld = nullptr; // pointer to the solid World
|
||||
G4LogicalVolume* fLogicWorld = nullptr; // pointer to the logical World
|
||||
G4VPhysicalVolume* fPhysiWorld = nullptr; // pointer to the physical World
|
||||
|
||||
G4Tubs* fSolidAbsorber; // pointer to the solid Absorber
|
||||
G4LogicalVolume* fLogicAbsorber; // pointer to the logical Absorber
|
||||
G4VPhysicalVolume* fPhysiAbsorber; // pointer to the physical Absorber
|
||||
G4Tubs* fSolidAbsorber = nullptr; // pointer to the solid Absorber
|
||||
G4LogicalVolume* fLogicAbsorber = nullptr; // pointer to the logical Absorber
|
||||
G4VPhysicalVolume* fPhysiAbsorber = nullptr; // pointer to the physical Absorber
|
||||
|
||||
G4Tubs* fSolidRadSlice; // pointer to the solid z-slice
|
||||
G4LogicalVolume* fLogicRadSlice; // pointer to the logical z-slide
|
||||
G4VPhysicalVolume* fPhysiRadSlice; // pointer to the physical z-slide
|
||||
G4Tubs* fSolidRadSlice = nullptr; // pointer to the solid z-slice
|
||||
G4LogicalVolume* fLogicRadSlice = nullptr; // pointer to the logical z-slide
|
||||
G4VPhysicalVolume* fPhysiRadSlice = nullptr; // pointer to the physical z-slide
|
||||
|
||||
G4Tubs* fSolidRadiator;
|
||||
G4LogicalVolume* fLogicRadiator;
|
||||
G4VPhysicalVolume* fPhysiRadiator;
|
||||
G4Tubs* fSolidRadiator = nullptr;
|
||||
G4LogicalVolume* fLogicRadiator = nullptr;
|
||||
G4VPhysicalVolume* fPhysiRadiator = nullptr;
|
||||
|
||||
G4Material* fWorldMaterial;
|
||||
G4Material* fAbsorberMaterial;
|
||||
G4Material* fRadiatorMat; // pointer to the TR radiator material
|
||||
G4Material* fWorldMaterial = nullptr;
|
||||
G4Material* fAbsorberMaterial = nullptr;
|
||||
G4Material* fRadiatorMat = nullptr; // pointer to the TR radiator material
|
||||
|
||||
G4double fWorldSizeR;
|
||||
G4double fWorldSizeZ;
|
||||
G4double fWorldSizeR = 22000. * CLHEP::mm;
|
||||
G4double fWorldSizeZ = 44000. * CLHEP::mm;
|
||||
|
||||
G4double fAbsorberThickness;
|
||||
G4double fAbsorberRadius;
|
||||
G4double fAbsorberThickness = 1. * CLHEP::mm;
|
||||
G4double fAbsorberRadius = 20000. * CLHEP::mm;
|
||||
|
||||
G4double fZAbsorber;
|
||||
G4double fZStartAbs, fZEndAbs;
|
||||
G4double fZAbsorber = 21990. * CLHEP::mm;
|
||||
G4double fZStartAbs = 0.;
|
||||
G4double fZEndAbs = 0.;
|
||||
|
||||
G4double fRadThickness;
|
||||
G4double fGasGap;
|
||||
G4double fDetGap;
|
||||
G4double fRadThickness = 100. * CLHEP::mm;
|
||||
G4double fGasGap = 100. * CLHEP::mm;
|
||||
G4double fDetGap = 1. * CLHEP::mm;
|
||||
|
||||
G4int fFoilNumber;
|
||||
G4int fFoilNumber = 2;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -52,25 +52,25 @@ class F03DetectorMessenger: public G4UImessenger
|
||||
public:
|
||||
|
||||
F03DetectorMessenger(F03DetectorConstruction* );
|
||||
virtual ~F03DetectorMessenger();
|
||||
~F03DetectorMessenger() override;
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
void SetNewValue(G4UIcommand*, G4String) override;
|
||||
|
||||
private:
|
||||
|
||||
F03DetectorConstruction* fDetector;
|
||||
F03DetectorConstruction* fDetector = nullptr;
|
||||
|
||||
G4UIdirectory* fDetDir;
|
||||
G4UIdirectory* fDetDir = nullptr;
|
||||
|
||||
G4UIcmdWithAString* fAbsMaterCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fAbsThickCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fAbsRadCmd;
|
||||
G4UIcmdWithAString* fAbsMaterCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fAbsThickCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fAbsRadCmd = nullptr;
|
||||
|
||||
G4UIcmdWithADoubleAndUnit* fAbsZposCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fAbsZposCmd = nullptr;
|
||||
|
||||
G4UIcmdWithAString* fWorldMaterCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldZCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldRCmd;
|
||||
G4UIcmdWithAString* fWorldMaterCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldZCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fWorldRCmd = nullptr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -50,22 +50,22 @@ class F03FieldMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F03FieldMessenger(F03FieldSetup* );
|
||||
virtual ~F03FieldMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
|
||||
~F03FieldMessenger() override;
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String) override;
|
||||
|
||||
private:
|
||||
|
||||
F03FieldSetup* fEMfieldSetup;
|
||||
F03FieldSetup* fEMfieldSetup = nullptr;
|
||||
|
||||
G4UIdirectory* fFieldDir;
|
||||
G4UIdirectory* fFieldDir = nullptr;
|
||||
|
||||
G4UIcmdWithAnInteger* fStepperCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fMagFieldZCmd;
|
||||
G4UIcmdWith3VectorAndUnit* fMagFieldCmd;
|
||||
G4UIcmdWith3VectorAndUnit* fLocalMagFieldCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fMinStepCmd;
|
||||
G4UIcmdWithoutParameter* fUpdateCmd;
|
||||
G4UIcmdWithAnInteger* fStepperCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fMagFieldZCmd = nullptr;
|
||||
G4UIcmdWith3VectorAndUnit* fMagFieldCmd = nullptr;
|
||||
G4UIcmdWith3VectorAndUnit* fLocalMagFieldCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fMinStepCmd = nullptr;
|
||||
G4UIcmdWithoutParameter* fUpdateCmd = nullptr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4UniformMagField.hh"
|
||||
|
||||
#include "CLHEP/Units/SystemOfUnits.h"
|
||||
|
||||
class G4FieldManager;
|
||||
class G4ChordFinder;
|
||||
class G4Mag_UsualEqRhs;
|
||||
@@ -80,22 +82,22 @@ protected:
|
||||
G4FieldManager* GetGlobalFieldManager() ;
|
||||
G4ThreeVector GetConstantFieldValue(G4MagneticField* magneticField) const;
|
||||
|
||||
G4FieldManager* fFieldManager;
|
||||
G4FieldManager* fLocalFieldManager;
|
||||
G4ChordFinder* fChordFinder;
|
||||
G4ChordFinder* fLocalChordFinder;
|
||||
G4Mag_UsualEqRhs* fEquation;
|
||||
G4Mag_UsualEqRhs* fLocalEquation;
|
||||
G4MagneticField* fMagneticField;
|
||||
G4MagneticField* fLocalMagneticField;
|
||||
G4FieldManager* fFieldManager = nullptr;
|
||||
G4FieldManager* fLocalFieldManager = nullptr;
|
||||
G4ChordFinder* fChordFinder = nullptr;
|
||||
G4ChordFinder* fLocalChordFinder = nullptr;
|
||||
G4Mag_UsualEqRhs* fEquation = nullptr;
|
||||
G4Mag_UsualEqRhs* fLocalEquation = nullptr;
|
||||
G4MagneticField* fMagneticField = nullptr;
|
||||
G4MagneticField* fLocalMagneticField = nullptr;
|
||||
|
||||
G4MagIntegratorStepper* fStepper;
|
||||
G4MagIntegratorStepper* fLocalStepper;
|
||||
G4int fStepperType;
|
||||
G4MagIntegratorStepper* fStepper = nullptr;
|
||||
G4MagIntegratorStepper* fLocalStepper = nullptr;
|
||||
G4int fStepperType = 4; // ClassicalRK4 is default stepper;
|
||||
|
||||
G4double fMinStep;
|
||||
|
||||
F03FieldMessenger* fFieldMessenger;
|
||||
G4double fMinStep = 0.25 * CLHEP::mm ; // minimal step of 1 mm is default;
|
||||
|
||||
F03FieldMessenger* fFieldMessenger = nullptr;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -50,10 +50,10 @@ class F03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
{
|
||||
public:
|
||||
F03PrimaryGeneratorAction(F03DetectorConstruction*);
|
||||
virtual ~F03PrimaryGeneratorAction();
|
||||
~F03PrimaryGeneratorAction() override;
|
||||
|
||||
public:
|
||||
virtual void GeneratePrimaries(G4Event*);
|
||||
void GeneratePrimaries(G4Event*) override;
|
||||
void SetRndmFlag(G4String val) { fRndmFlag = val; }
|
||||
void SetXVertex(G4double x);
|
||||
void SetYVertex(G4double y);
|
||||
@@ -62,16 +62,17 @@ class F03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction
|
||||
static G4String GetPrimaryName();
|
||||
|
||||
private:
|
||||
G4ParticleGun* fParticleGun; //pointer a to G4 service class
|
||||
F03DetectorConstruction* fDetector; //pointer to the geometry
|
||||
G4ParticleGun* fParticleGun = nullptr; //pointer a to G4 service class
|
||||
F03DetectorConstruction* fDetector = nullptr; //pointer to the geometry
|
||||
|
||||
F03PrimaryGeneratorMessenger* fGunMessenger; //messenger of this class
|
||||
G4String fRndmFlag; //flag for random impact point
|
||||
F03PrimaryGeneratorMessenger* fGunMessenger = nullptr; //messenger of this class
|
||||
G4String fRndmFlag = "off"; //flag for random impact point
|
||||
|
||||
static G4ParticleDefinition* fgPrimaryParticle;
|
||||
G4double fXVertex, fYVertex, fZVertex;
|
||||
G4bool fVertexDefined;
|
||||
|
||||
G4double fXVertex = 0.;
|
||||
G4double fYVertex = 0.;
|
||||
G4double fZVertex = 0.;
|
||||
G4bool fVertexDefined = false;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -47,16 +47,16 @@ class F03PrimaryGeneratorMessenger: public G4UImessenger
|
||||
{
|
||||
public:
|
||||
F03PrimaryGeneratorMessenger(F03PrimaryGeneratorAction*);
|
||||
virtual ~F03PrimaryGeneratorMessenger();
|
||||
|
||||
virtual void SetNewValue(G4UIcommand*, G4String);
|
||||
~F03PrimaryGeneratorMessenger() override;
|
||||
|
||||
void SetNewValue(G4UIcommand*, G4String) override;
|
||||
|
||||
private:
|
||||
F03PrimaryGeneratorAction* fAction;
|
||||
G4UIcmdWithAString* fRndmCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetXVertexCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetYVertexCmd;
|
||||
G4UIcmdWithADoubleAndUnit* fSetZVertexCmd;
|
||||
F03PrimaryGeneratorAction* fAction = nullptr;
|
||||
G4UIcmdWithAString* fRndmCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fSetXVertexCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fSetYVertexCmd = nullptr;
|
||||
G4UIcmdWithADoubleAndUnit* fSetZVertexCmd = nullptr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -55,15 +55,15 @@
|
||||
|
||||
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
|
||||
|
||||
class F03SteppingVerbose : public G4SteppingVerbose
|
||||
class F03SteppingVerbose : public G4SteppingVerbose
|
||||
{
|
||||
public:
|
||||
|
||||
F03SteppingVerbose();
|
||||
virtual ~F03SteppingVerbose();
|
||||
F03SteppingVerbose() = default;
|
||||
~F03SteppingVerbose() override = default;
|
||||
|
||||
virtual void StepInfo();
|
||||
virtual void TrackingStarted();
|
||||
void StepInfo() override;
|
||||
void TrackingStarted() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user