Skip to content
Snippets Groups Projects
Commit 806daf4e authored by Alfonso's avatar Alfonso
Browse files

polypropylene

parent a392a499
No related branches found
No related tags found
No related merge requests found
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
......@@ -169,6 +169,8 @@ void DetectorConstruction::DefineParameters()
G4double cu2_h = read *cm;
config.readInto(read, "OPTICAL_COUPLER_THICK", 1.);
G4double opt_t = read *mm;
config.readInto(read, "POLYPROPYLENE_THICK", 15.);
G4double p_t = read *um;
SetScintX(s_x) ;
......@@ -192,6 +194,7 @@ void DetectorConstruction::DefineParameters()
SetCollUpper2Thick(cu2_t) ;
SetCollUpper2Height(cu2_h) ;
SetOptCouplerThick(opt_t) ;
SetPolypropThick(p_t) ;
// Materials
......@@ -212,7 +215,8 @@ void DetectorConstruction::DefineParameters()
SetCollUpper2Material(readm);
config.readInto<G4String>(readm, "OPTICAL_COUPLER_MATERIAL", "Silicone");
SetOptCouplerMaterial(readm);
config.readInto<G4String>(readm, "POLYPROPYLENE_MATERIAL", "G4_POLYPROPYLENE");
SetPolyMaterial(readm);
}
......@@ -284,13 +288,13 @@ void DetectorConstruction::DefineMaterials()
G4Material* G4_AIR = man->FindOrBuildMaterial("G4_AIR");
G4Material* G4_Al = man->FindOrBuildMaterial("G4_Al");
G4Material* G4_Fe = man->FindOrBuildMaterial("G4_Fe");
G4Material* G4_POLYPROPYLENE = man->FindOrBuildMaterial("G4_POLYPROPYLENE");
// LaBr3
// LaBr3O
G4Material* LaBr3 = new G4Material("LaBr3", density = 5.06 *g/cm3, nel = 2);
LaBr3 -> AddElement(La, 36.68*perCent);
LaBr3 -> AddElement(Br, 63.32*perCent);
// Silicone
G4Material* Silicone = new G4Material("Silicone", density = 1.08 *g/cm3, nel = 2);
Silicone -> AddElement(Si, natoms=1);
......@@ -531,8 +535,6 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
0);
// ! Mask
// Solid
......@@ -820,10 +822,28 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
0);
// ! Polypropylene
// Solid
G4double poly_side_x = coll_side_x + 2*coll_side_thick + 2*10.* tan(xrotTheta) *cm;
G4double poly_side_y = coll_side_y + 2*coll_side_thick + 2*10.* tan(yrotTheta) *cm;
G4Box* polyprop_box = new G4Box("polyprop_box", poly_side_x/2., poly_side_y/2., poly_thick/2.);
// Logical
polyprop_log = new G4LogicalVolume(polyprop_box, polypropMaterial, "polyprop_log", 0, 0, 0);
// Physical
G4double polyprop_x = 0;
G4double polyprop_y = 0;
G4double polyprop_z = 10.*cm;
polyprop_phys = new G4PVPlacement(0,
G4ThreeVector(polyprop_x,polyprop_y,polyprop_z),
polyprop_log,
"polyprop_phys",
experimentalHall_log,
false,
0);
// Set visualization attributes
......@@ -835,13 +855,13 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
G4Colour yellow (1.0, 1.0, 0.0);
G4Colour magenta (1.0, 0.0, 1.0);
G4Colour cyan (0.0, 1.0, 1.0);
G4Colour grey (0.5, 0.5, 0.5);
experimentalHall_log -> SetVisAttributes(G4VisAttributes::GetInvisible());
G4VisAttributes* ScintVisAtt= new G4VisAttributes(yellow);
scint_log -> SetVisAttributes(ScintVisAtt);
G4VisAttributes* CollVisAtt= new G4VisAttributes(blue);
coll_sideXp_log -> SetVisAttributes(CollVisAtt);
coll_sideXm_log -> SetVisAttributes(CollVisAtt);
......@@ -857,7 +877,6 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
G4VisAttributes* OptCouplerVisAtt= new G4VisAttributes(cyan);
optCoupler_log -> SetVisAttributes(OptCouplerVisAtt);
// G4VisAttributes* MaskContainerVisAtt= new G4VisAttributes(white);
mask_container_log -> SetVisAttributes(G4VisAttributes::GetInvisible());
......@@ -876,6 +895,10 @@ G4VPhysicalVolume* DetectorConstruction::Construct()
coll_upper2Yp_log -> SetVisAttributes(Coll2VisAtt);
coll_upper2Ym_log -> SetVisAttributes(Coll2VisAtt);
G4VisAttributes* PolyVisAtt= new G4VisAttributes(grey);
polyprop_log -> SetVisAttributes(PolyVisAtt);
// Dump the geometry in a GDML file, solo se non esiste
G4String fWriteFile = "geometry.gdml";
......@@ -975,6 +998,12 @@ void DetectorConstruction::SetOptCouplerMaterial(G4String materialChoice)
if (pttoMaterial) optCouplerMaterial = pttoMaterial;
}
void DetectorConstruction::SetPolyMaterial(G4String materialChoice)
{
G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice);
if (pttoMaterial) polypropMaterial = pttoMaterial;
}
void DetectorConstruction::PrintParameters()
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment