From 64e57093115638a541d8a6b990a12c7f925878f6 Mon Sep 17 00:00:00 2001 From: Nam Tran Date: Fri, 15 Jan 2021 12:48:37 -0600 Subject: [PATCH] move detector parameters to header --- include/DetectorConstruction.hh | 26 +++++++++++++++++++ src/DetectorConstruction.cc | 44 ++++++++++++++++----------------- 2 files changed, 48 insertions(+), 22 deletions(-) diff --git a/include/DetectorConstruction.hh b/include/DetectorConstruction.hh index 8195759..afa9f1a 100644 --- a/include/DetectorConstruction.hh +++ b/include/DetectorConstruction.hh @@ -22,6 +22,32 @@ class DetectorConstruction : public G4VUserDetectorConstruction protected: // void DefineMaterials(); G4bool fCheckOverlaps; + G4double scSizeX; + G4double scSizeY; + G4double scSizeZ; + G4double scGapX; + G4double scGapZ; + G4int nScBar; + G4int nLayerTop; + G4int nLayerBottom; + + G4double layerGapZ; + G4double topBotGap; + + G4double layerSizeX; + G4double layerSizeY; + G4double layerSizeZ; + + G4double concreteX; + G4double concreteY; + G4double concreteZ; + G4double targetX; + G4double targetY; + G4double targetZ; + + G4double worldSizeX; + G4double worldSizeY; + G4double worldSizeZ; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/src/DetectorConstruction.cc b/src/DetectorConstruction.cc index 64444fb..fac507f 100644 --- a/src/DetectorConstruction.cc +++ b/src/DetectorConstruction.cc @@ -35,32 +35,32 @@ G4VPhysicalVolume *DetectorConstruction::Construct() { nist->FindOrBuildMaterial("G4_PLASTIC_SC_VINYLTOLUENE"); // World and crystals - G4double scSizeX = 5.0 * cm; - G4double scSizeY = 50.0 * cm; - G4double scSizeZ = 1. * cm; - G4double scGapX = 0.2 * cm; - G4double scGapZ = 0.2 * cm; - G4int nScBar = 10; - G4int nLayerTop = 2; - G4int nLayerBottom = 2; + scSizeX = 5.0 * cm; + scSizeY = 50.0 * cm; + scSizeZ = 1. * cm; + scGapX = 0.2 * cm; + scGapZ = 0.2 * cm; + nScBar = 10; + nLayerTop = 2; + nLayerBottom = 2; - G4double layerGapZ = 1 * cm; - G4double topBotGap = 50 * cm; + layerGapZ = 1 * cm; + topBotGap = 50 * cm; - G4double layerSizeX = nScBar * scSizeX + nScBar * scGapX; - G4double layerSizeY = nScBar * scSizeX + nScBar * scGapX; - G4double layerSizeZ = scSizeZ + scGapZ; + layerSizeX = nScBar * scSizeX + nScBar * scGapX; + layerSizeY = nScBar * scSizeX + nScBar * scGapX; + layerSizeZ = scSizeZ + scGapZ; - G4double concreteX = 30 * cm; - G4double concreteY = 30 * cm; - G4double concreteZ = 30 * cm; - G4double targetX = 10 * cm; - G4double targetY = 10 * cm; - G4double targetZ = 5 * cm; + concreteX = 30 * cm; + concreteY = 30 * cm; + concreteZ = 30 * cm; + targetX = 10 * cm; + targetY = 10 * cm; + targetZ = 5 * cm; - G4double worldSizeX = 1.2 * layerSizeX; - G4double worldSizeY = 1.2 * layerSizeY; - G4double worldSizeZ = + worldSizeX = 1.2 * layerSizeX; + worldSizeY = 1.2 * layerSizeY; + worldSizeZ = 1.2 * ((nLayerBottom + nLayerTop) * (layerSizeZ + layerGapZ) + topBotGap); // world volume