aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshivesh <s.p.mandalia@qmul.ac.uk>2020-02-29 15:58:27 +0000
committershivesh <s.p.mandalia@qmul.ac.uk>2020-02-29 15:58:27 +0000
commitb3e87271802a42dac11e12c7e066c1b1b2d6fb54 (patch)
tree7c093d4dd2446dbf02cbb044a36d1d84d5a7501a
parente3079fb2367c26f767be41e6c313d960c517bbcd (diff)
downloadG4BeamTest-b3e87271802a42dac11e12c7e066c1b1b2d6fb54.tar.gz
G4BeamTest-b3e87271802a42dac11e12c7e066c1b1b2d6fb54.zip
remove steel
-rw-r--r--include/G4BeamTestDetectorConstruction.h1
-rw-r--r--src/G4BeamTestDetectorConstruction.cxx26
-rw-r--r--src/G4BeamTestPhysicsList.cxx20
3 files changed, 44 insertions, 3 deletions
diff --git a/include/G4BeamTestDetectorConstruction.h b/include/G4BeamTestDetectorConstruction.h
index c2720ce..320f312 100644
--- a/include/G4BeamTestDetectorConstruction.h
+++ b/include/G4BeamTestDetectorConstruction.h
@@ -32,6 +32,7 @@ class G4BeamTestDetectorConstruction: public G4VUserDetectorConstruction
void CreateGlassSphere();
void CreateEffectiveDOMMaterial();
void CreateSC4();
+ void CreateSteel();
G4ThreeVector origin_;
diff --git a/src/G4BeamTestDetectorConstruction.cxx b/src/G4BeamTestDetectorConstruction.cxx
index 2942ec6..b45bb33 100644
--- a/src/G4BeamTestDetectorConstruction.cxx
+++ b/src/G4BeamTestDetectorConstruction.cxx
@@ -4,6 +4,7 @@
#include <G4LogicalVolume.hh>
#include <G4PVPlacement.hh>
#include <G4SDManager.hh>
+#include "G4SystemOfUnits.hh"
#include <G4Box.hh>
@@ -59,6 +60,7 @@ G4VPhysicalVolume* G4BeamTestDetectorConstruction::Construct()
// G4ThreeVector tankVec = mwpc4Vec + G4ThreeVector(300.0*CLHEP::cm, 0, 0);
G4ThreeVector tankVec = G4ThreeVector(0, 0, 0);
G4ThreeVector sc4Vec = tankVec + G4ThreeVector(120.0*CLHEP::cm, 0, 0);
+ G4ThreeVector steelVec = tankVec + G4ThreeVector(-120.0*CLHEP::cm, 0, 0);
tank_->InstallTank(worldPhys, tankVec);
@@ -90,6 +92,13 @@ G4VPhysicalVolume* G4BeamTestDetectorConstruction::Construct()
G4VPhysicalVolume* sc4Phys =
new G4PVPlacement(0, sc4Vec, sc4Log, "sc4", worldLog, false, 0);
+ // Define steel
+ // G4Box* steel_box = new G4Box("steel", scinX_, scinY_*0.5, scinZ_*2.0);
+ // G4LogicalVolume* steelLog =
+ // new G4LogicalVolume(steel_box, G4Material::GetMaterial("Steel"), "log_steel", 0, 0, 0);
+ // G4VPhysicalVolume* steelPhys =
+ // new G4PVPlacement(0, steelVec, steelLog, "steel", worldLog, false, 0);
+
// User limits (energy cutoffs)
G4UserLimits* energyLimit = new G4UserLimits();
energyLimit->SetUserMinEkine(2.26 * CLHEP::eV); // Lower threshold of PMT - 550nm
@@ -98,6 +107,7 @@ G4VPhysicalVolume* G4BeamTestDetectorConstruction::Construct()
// sc2Log->SetUserLimits(energyLimit);
// sc3Log->SetUserLimits(energyLimit);
sc4Log->SetUserLimits(energyLimit);
+ // steelLog->SetUserLimits(energyLimit);
G4SDManager* sdManager = G4SDManager::GetSDMpointer();
sc4SD_ = new G4BeamTestSC4SD("sc4_SD_", "SDHitsCollection");
@@ -117,6 +127,7 @@ void G4BeamTestDetectorConstruction::CreateMaterials()
CreateGlassSphere();
CreateEffectiveDOMMaterial();
CreateSC4();
+ CreateSteel();
}
/*****************************************************************/
@@ -295,3 +306,18 @@ void G4BeamTestDetectorConstruction::CreateSC4()
plastic->AddElement(nistManager->FindOrBuildElement("C"), 1);
plastic->AddElement(nistManager->FindOrBuildElement("O"), 1);
}
+
+void G4BeamTestDetectorConstruction::CreateSteel()
+{
+ //---Steel
+ G4double a= 12.01*g/mole;
+ G4Element* elC = new G4Element("Carbon","C", 6,a);
+
+ a = 55.85*g/mole;
+ G4Element* elFe = new G4Element("Iron","Fe", 26,a);
+
+ G4double density = 7.8*g/cm3;
+ G4Material* Steel = new G4Material("Steel",density,2);
+ Steel->AddElement(elC, 1.*perCent);
+ Steel->AddElement(elFe, 99.*perCent);
+}
diff --git a/src/G4BeamTestPhysicsList.cxx b/src/G4BeamTestPhysicsList.cxx
index 65c575c..0603e95 100644
--- a/src/G4BeamTestPhysicsList.cxx
+++ b/src/G4BeamTestPhysicsList.cxx
@@ -1,7 +1,7 @@
#include <globals.hh>
#include <G4Version.hh>
#include "G4BeamTestPhysicsList.h"
-#include "G4BeamTestGeneralPhysics.h"
+// #include "G4BeamTestGeneralPhysics.h"
/* #if G4VERSION_NUMBER < 1000 */
/* #include "G4BeamTestEMPhysics.h" */
/* #include "G4BeamTestMuonPhysics.h" */
@@ -26,6 +26,18 @@
#include <G4ParticleTypes.hh>
#include <G4UserSpecialCuts.hh>
+#include "G4HadronPhysicsFTFP_BERT.hh"
+#include "G4HadronPhysicsFTFP_BERT_HP.hh"
+#include "G4HadronPhysicsFTFP_BERT_TRV.hh"
+#include "G4HadronPhysicsFTF_BIC.hh"
+#include "G4HadronInelasticQBBC.hh"
+#include "G4HadronPhysicsQGSP_BERT.hh"
+#include "G4HadronPhysicsQGSP_BERT_HP.hh"
+#include "G4HadronPhysicsQGSP_BIC.hh"
+#include "G4HadronPhysicsQGSP_BIC_HP.hh"
+#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
+#include "G4HadronPhysicsQGS_BIC.hh"
+#include "G4RadioactiveDecayPhysics.hh"
G4BeamTestPhysicsList::G4BeamTestPhysicsList()
: G4VUserPhysicsList()
@@ -33,7 +45,7 @@ G4BeamTestPhysicsList::G4BeamTestPhysicsList()
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(1);
- RegisterPhysics(new G4BeamTestGeneralPhysics);
+ // RegisterPhysics(new G4BeamTestGeneralPhysics);
/* #if G4VERSION_NUMBER < 1000 */
/* RegisterPhysics(new G4BeamTestEMPhysics); */
/* RegisterPhysics(new G4BeamTestMuonPhysics); */
@@ -49,9 +61,11 @@ G4BeamTestPhysicsList::G4BeamTestPhysicsList()
RegisterPhysics(new G4EmExtraPhysics());
RegisterPhysics(new G4DecayPhysics());
RegisterPhysics(new G4HadronElasticPhysics());
- RegisterPhysics(new G4HadronPhysicsFTFP_BERT());
+ // RegisterPhysics(new G4HadronPhysicsFTFP_BERT());
RegisterPhysics(new G4StoppingPhysics());
RegisterPhysics(new G4IonPhysics());
+ RegisterPhysics(new G4HadronPhysicsQGSP_BERT());
+ // RegisterPhysics(new G4HadronInelasticQBBC());
//RegisterPhysics(new G4NeutronTrackingCut());
/* #endif */
}