Loading geom/GeometryCOSI_ACS.cc +52 −0 Original line number Diff line number Diff line Loading @@ -4711,6 +4711,58 @@ G4VPhysicalVolume* GeometryCOSI_ACS::ConstructGeometry(G4VPhysicalVolume* World_ if (foam_sens == 1) gm.AddXYZDetector(log_foam); /* Plastic casing aroung source */ G4int casing_copy = 81; G4double casingX = 10.; G4double casingY = 10.; G4double casingZ = 5.; G4double casingThick = 1.; G4double casing_posX = 0.; G4double casing_posY = 0.; G4double casing_posZ = coatZ/2.-AlThick-coatThick-zlen-plasticZ+coatZ/2.+foamZ + casingZ/2.; // 268.394 mm G4Box* solid_casing_notsub = new G4Box("solid_casing_notsub", casingX/2., casingY/2., casingZ/2.); G4Box* casing_cavity = new G4Box("casing_cavity", casingX/2.-casingThick, casingY/2.-casingThick, casingZ/2.-casingThick); G4SubtractionSolid* solid_casing = new G4SubtractionSolid("solid_casing", solid_casing_notsub, casing_cavity, 0, G4ThreeVector(0., 0., 0.)); G4LogicalVolume* log_casing = new G4LogicalVolume(solid_casing, plastic_mat, "log_casing"); G4VPhysicalVolume* phys_casing = new G4PVPlacement(0, G4ThreeVector(casing_posX, casing_posY, casing_posZ), log_casing, "casing", log_chamber, false, casing_copy, true); G4VisAttributes* VisCasing = new G4VisAttributes(G4Colour::White()); log_casing->SetVisAttributes(VisCasing); if (casing_sens == 1) gm.AddXYZDetector(log_casing); /* Foam aroung source */ G4int foam_source_copy = 82; G4double foam_sourceX = casingX-casingThick*2.; G4double foam_sourceY = casingY-casingThick*2.; G4double foam_sourceZ = (casingZ-casingThick*2.)/2.; G4double foam_cavityThick = 1.; G4double foam_source_posX = 0.; G4double foam_source_posY = 0.; G4double foam_source_posZ = casing_posZ - (casingZ-casingThick*2.)/2. + foam_sourceZ/2.; G4Box* solid_foam_source_notsub = new G4Box("solid_foam_source_notsub", foam_sourceX/2., foam_sourceY/2., foam_sourceZ/2.); G4Tubs* foam_source_cavity = new G4Tubs("foam_cavity", 0., 2.5, foam_cavityThick/2., 0., 360.); G4SubtractionSolid* solid_foam_source = new G4SubtractionSolid("solid_foam_source", solid_foam_source_notsub, foam_source_cavity, 0, G4ThreeVector(0., 0., foam_sourceZ/2.)); G4LogicalVolume* log_foam_source = new G4LogicalVolume(solid_foam_source, foam_mat, "log_foam_source"); G4VPhysicalVolume* phys_foam_source = new G4PVPlacement(0, G4ThreeVector(foam_source_posX, foam_source_posY, foam_source_posZ), log_foam_source, "foam_source", log_chamber, false, foam_source_copy, true); G4VisAttributes* VisFoam_source = new G4VisAttributes(G4Colour::Brown()); log_foam_source->SetVisAttributes(VisFoam_source); if (foam_source_sens == 1) gm.AddXYZDetector(log_foam_source); } /* Teflon PTFE */ Loading Loading
geom/GeometryCOSI_ACS.cc +52 −0 Original line number Diff line number Diff line Loading @@ -4711,6 +4711,58 @@ G4VPhysicalVolume* GeometryCOSI_ACS::ConstructGeometry(G4VPhysicalVolume* World_ if (foam_sens == 1) gm.AddXYZDetector(log_foam); /* Plastic casing aroung source */ G4int casing_copy = 81; G4double casingX = 10.; G4double casingY = 10.; G4double casingZ = 5.; G4double casingThick = 1.; G4double casing_posX = 0.; G4double casing_posY = 0.; G4double casing_posZ = coatZ/2.-AlThick-coatThick-zlen-plasticZ+coatZ/2.+foamZ + casingZ/2.; // 268.394 mm G4Box* solid_casing_notsub = new G4Box("solid_casing_notsub", casingX/2., casingY/2., casingZ/2.); G4Box* casing_cavity = new G4Box("casing_cavity", casingX/2.-casingThick, casingY/2.-casingThick, casingZ/2.-casingThick); G4SubtractionSolid* solid_casing = new G4SubtractionSolid("solid_casing", solid_casing_notsub, casing_cavity, 0, G4ThreeVector(0., 0., 0.)); G4LogicalVolume* log_casing = new G4LogicalVolume(solid_casing, plastic_mat, "log_casing"); G4VPhysicalVolume* phys_casing = new G4PVPlacement(0, G4ThreeVector(casing_posX, casing_posY, casing_posZ), log_casing, "casing", log_chamber, false, casing_copy, true); G4VisAttributes* VisCasing = new G4VisAttributes(G4Colour::White()); log_casing->SetVisAttributes(VisCasing); if (casing_sens == 1) gm.AddXYZDetector(log_casing); /* Foam aroung source */ G4int foam_source_copy = 82; G4double foam_sourceX = casingX-casingThick*2.; G4double foam_sourceY = casingY-casingThick*2.; G4double foam_sourceZ = (casingZ-casingThick*2.)/2.; G4double foam_cavityThick = 1.; G4double foam_source_posX = 0.; G4double foam_source_posY = 0.; G4double foam_source_posZ = casing_posZ - (casingZ-casingThick*2.)/2. + foam_sourceZ/2.; G4Box* solid_foam_source_notsub = new G4Box("solid_foam_source_notsub", foam_sourceX/2., foam_sourceY/2., foam_sourceZ/2.); G4Tubs* foam_source_cavity = new G4Tubs("foam_cavity", 0., 2.5, foam_cavityThick/2., 0., 360.); G4SubtractionSolid* solid_foam_source = new G4SubtractionSolid("solid_foam_source", solid_foam_source_notsub, foam_source_cavity, 0, G4ThreeVector(0., 0., foam_sourceZ/2.)); G4LogicalVolume* log_foam_source = new G4LogicalVolume(solid_foam_source, foam_mat, "log_foam_source"); G4VPhysicalVolume* phys_foam_source = new G4PVPlacement(0, G4ThreeVector(foam_source_posX, foam_source_posY, foam_source_posZ), log_foam_source, "foam_source", log_chamber, false, foam_source_copy, true); G4VisAttributes* VisFoam_source = new G4VisAttributes(G4Colour::Brown()); log_foam_source->SetVisAttributes(VisFoam_source); if (foam_source_sens == 1) gm.AddXYZDetector(log_foam_source); } /* Teflon PTFE */ Loading